Skip to content

Model Configuration

LingXiao allows separate configuration of Leader and Worker LLM models, with support for multiple providers and compatibility layers.

Terminal window
export LINGXIAO_LLM_PROVIDER=openai
export LINGXIAO_LEADER_MODEL=gpt-4o
export LINGXIAO_AGENT_MODEL=gpt-4o-mini

Edit ~/.lingxiao/settings.json:

{
"llm": {
"provider": "openai",
"leader_model": "gpt-4o",
"agent_model": "gpt-4o-mini",
"enable_streaming": true
}
}

Key settings in the llm group:

SettingDescription
providerProvider selection: auto / openai / anthropic
leader_modelLeader model
agent_modelWorker model
wiki_modelWiki knowledge summary model
model_providersProvider model registry
gateway_routesMulti-model gateway routes
gateway_fallback_modelsGateway fallback models
request_timeout_sRequest timeout (seconds)
connect_timeout_sConnect timeout (seconds)
max_retriesMax retry count
backoff_base_msBackoff base milliseconds
context_max_tokensContext max tokens
capped_max_tokensCapped max tokens
escalated_max_tokensEscalated max tokens
thinking_budget_tokensThinking budget tokens
enable_streamingEnable streaming output
show_thinking_contentShow thinking content
enable_thinking_instructionEnable thinking instruction
enable_extended_thinkingEnable extended thinking
reasoning_effortReasoning effort
Providerprovider valueAPI formatNotes
OpenAIopenaiOpenAI APINative support
AnthropicanthropicAnthropic APINative support
DeepSeekopenaiOpenAI compatibleSet LINGXIAO_OPENAI_BASE_URL
QwenopenaiOpenAI compatibleSet LINGXIAO_OPENAI_BASE_URL
Moonshot/KimiopenaiOpenAI compatibleSet LINGXIAO_OPENAI_BASE_URL
GeminiopenaiOpenAI compat layerVia compatibility layer
GroqopenaiOpenAI compatibleSet LINGXIAO_OPENAI_BASE_URL
SiliconFlowopenaiOpenAI compatibleSet LINGXIAO_OPENAI_BASE_URL

DeepSeek example:

Terminal window
export LINGXIAO_LLM_PROVIDER=openai
export LINGXIAO_OPENAI_API_KEY=sk-your-deepseek-key
export LINGXIAO_OPENAI_BASE_URL=https://api.deepseek.com/v1
export LINGXIAO_LEADER_MODEL=deepseek-chat
export LINGXIAO_AGENT_MODEL=deepseek-chat

Qwen example:

Terminal window
export LINGXIAO_LLM_PROVIDER=openai
export LINGXIAO_OPENAI_API_KEY=sk-your-qwen-key
export LINGXIAO_OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
export LINGXIAO_LEADER_MODEL=qwen-plus
export LINGXIAO_AGENT_MODEL=qwen-turbo

LingXiao includes a local LLM gateway (/llm/* routes) as a unified endpoint, supporting both OpenAI and Anthropic formats.

{
"llm_gateway": {
"enabled": true,
"provider": "openai",
"model": "gpt-4o-mini",
"inject_env": true,
"default_rpm": 60,
"default_tpm": 200000,
"default_daily_token_budget": 2000000,
"trace_enabled": true
}
}

The gateway supports virtual key management:

{
"llm_gateway": {
"virtual_keys": [
{
"id": "key-001",
"key": "sk-virtual-xxx",
"label": "Dev Test",
"enabled": true,
"model": "gpt-4o-mini",
"rpm": 30,
"tpm": 100000,
"daily_token_budget": 500000
}
]
}
}

Gateway routes authenticate with virtual keys (Authorization: Bearer <key> or x-api-key), not the server token.

  • Leader model: Responsible for task decomposition and orchestration decisions; recommend a more capable model
  • Worker model: Responsible for task execution; can use a more cost-effective model
  • Wiki model: Used for knowledge summaries; can use a lightweight model
{
"llm": {
"leader_model": "gpt-4o",
"agent_model": "gpt-4o-mini",
"wiki_model": "gpt-4o-mini"
}
}