Skip to main content

Full Configuration Reference

The root Config struct is serialised as config.json. Below is a field-level reference. All credential fields (SecureString) are resolved from .security.yml — see .security.yml Reference.

Root fields

JSON keyTypeDescription
agentsAgentsConfigAgent defaults and named agent list
bindings[]AgentBindingMap chat channels to specific agents
sessionSessionConfigConversation history storage options
channelsChannelsConfigChat platform credentials and settings
providersProvidersConfigLegacy provider config (deprecated, use model_list)
model_listSecureModelListModel-centric LLM configuration
gatewayGatewayConfigHTTP gateway settings (port, TLS, auth)
toolsToolsConfigTool enable/disable, paths, rate limits
exchangesExchangesConfigExchange API credentials (Binance, OKX, Bitkub, BinanceTH, Settrade)
trading_riskTradingRiskConfigGlobal trading risk controls
heartbeatHeartbeatConfigScheduled/periodic task config
devicesDevicesConfigIoT device config (I2C, SPI)
voiceVoiceConfigVoice transcription settings
build_infoBuildInfoInjected at build time — do not edit
updateUpdateConfigAuto-update settings

Agent defaults (agents.defaults)

FieldDescription
workspaceWorking directory for the agent
providerDefault provider name
model_nameDefault model alias from model_list
model_fallbacksOrdered list of fallback model aliases
max_tokensMax output tokens per turn
context_windowContext window size
max_tool_iterationsMax tool calls per turn
summarize_message_thresholdMessage count before history is summarised
routingLight-vs-primary model routing config

Exchanges (exchanges)

{
"exchanges": {
"binance": { "accounts": [{ "name": "YOUR_ALIAS_NAME", "api_key": "BINANCE_KEY", "secret": "BINANCE_SECRET" }] },
"binance_th": { "accounts": [{ "name": "YOUR_ALIAS_NAME", "api_key": "BINANCETH_KEY", "secret": "BINANCETH_SECRET" }] },
"bitkub": { "accounts": [{ "name": "YOUR_ALIAS_NAME", "api_key": "BITKUB_KEY", "secret": "BITKUB_SECRET" }] },
"okx": { "accounts": [{ "name": "YOUR_ALIAS_NAME", "api_key": "OKX_KEY", "secret": "OKX_SECRET" ,"passphrase": "OKX_PASSPHRASE"}] },
"settrade": { "accounts": [{ "name": "YOUR_ALIAS_NAME", "api_key": "SETTRADE_KEY","secret": "SETTRADE_SECRET" }] }
}
}

All api_key passphrase and secret values resolve from .security.yml.

Minimal working example

{
"model_list": [
{ "model_name": "claude", "model": "claude-sonnet-4-6", "api_key": "ANTHROPIC_API_KEY" }
],
"agents": {
"defaults": { "model_name": "claude", "workspace": "~/.khunquant/workspace" }
},
"channels": {
"pico": { "enabled": true }
}
}