Home / Docs / Configuration

Configuration

Configure models in OpenCaddis.App

The app owns two independent FabrCore configuration documents: one for the runtime Server and one for Server Builder. Each must contain at least one valid model configuration and one referenced API key before its host can start.

Local development storage

Configuration documents and generated cloud-authentication keys are stored as plaintext in the app-data CloudServer directory. This is intentionally simple local development storage, not a secrets vault. Use development credentials and protect access to the machine.

Where configuration lives

  1. Open Server in OpenCaddis.App.
  2. Select Cloud configuration.
  3. Choose Server or Server Builder.
  4. Edit the JSON document and select Save configuration.

The app normalizes and validates the document before saving it. Separate files are persisted as server.fabrcore.json and server-builder.fabrcore.json. The generated credential for the selected mode is also used internally to authorize protected Agent Skill administration; it is not displayed in the App.

Required document shape

FieldRequiredPurpose
modelConfigurationsAt least oneNames the provider, model identifier, optional endpoint, and API-key alias.
apiKeysAt least oneMaps an alias to a non-empty credential value.
nameYesUnique model name used by agents. Builder agents use default unless configured otherwise.
providerYesA FabrCore-supported model provider name.
uriProvider dependentCustom or hosted endpoint URL when the provider requires one.
modelYesProvider model or deployment identifier.
apiKeyAliasYesMust match an alias present in apiKeys.

Example

fabrcore.json
{
  "modelConfigurations": [
    {
      "name": "default",
      "provider": "OpenAI",
      "uri": "",
      "model": "your-model-id",
      "apiKeyAlias": "openai"
    }
  ],
  "apiKeys": [
    {
      "alias": "openai",
      "value": "your-development-api-key"
    }
  ]
}
Provider details belong to FabrCore

OpenCaddis validates the common document structure. For current provider names and provider-specific options, use the FabrCore documentation.

How hosts receive configuration

OpenCaddis.App starts a loopback-only configuration service at http://localhost:5082/. It generates a separate bearer key and cluster ID for each target:

TargetCluster IDConfiguration file
OpenCaddis Serveropencaddis-serverserver.fabrcore.json
OpenCaddis Server Builderopencaddis-server-builderserver-builder.fabrcore.json

The active host downloads its configuration through the FabrCore Cloud Server protocol, checks for updates every five seconds, and sends a local heartbeat every ten seconds. The same per-mode key authenticates OpenCaddis.App when it publishes Builder Agent Skills through FabrCore's protected administration API. The service is designed only for the OpenCaddis.App loopback workflow.

Validation rules

  • Model names must be unique without regard to case.
  • API-key aliases must be unique without regard to case.
  • Every model must name a provider, model identifier, and API-key alias.
  • Every referenced API-key alias must exist.
  • Both alias and credential value must be non-empty.
Documentation