Skip to content

配置参考

xopcbot 所有配置集中在 ~/.xopcbot/config.json 文件中。

注意: 自定义模型配置已移至独立的 ~/.xopcbot/models.json 文件。请参阅 models.md 了解详情。

完整配置示例

json
{
  "agents": {
    "defaults": {
      "workspace": "~/.xopcbot/workspace",
      "model": {
        "primary": "anthropic/claude-sonnet-4-5",
        "fallbacks": ["openai/gpt-4o", "minimax/minimax-m2.1"]
      },
      "max_tokens": 8192,
      "temperature": 0.7,
      "max_tool_iterations": 20
    }
  },
  "providers": {
    "openai": "${OPENAI_API_KEY}",
    "anthropic": "${ANTHROPIC_API_KEY}",
    "deepseek": "${DEEPSEEK_API_KEY}",
    "groq": "${GROQ_API_KEY}",
    "google": "${GOOGLE_API_KEY}",
    "minimax": "${MINIMAX_API_KEY}"
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
      "allow_from": []
    }
  },
  "gateway": {
    "host": "0.0.0.0",
    "port": 18790
  },
  "tools": {
    "web": {
      "search": {
        "api_key": "",
        "max_results": 5
      }
    }
  },
  "modelsDev": {
    "enabled": true
  }
}

配置选项

agents

智能体默认配置。

字段类型默认值说明
workspacestring~/.xopcbot/workspace工作目录
modelstring / objectanthropic/claude-sonnet-4-5默认模型
max_tokensnumber8192最大输出 tokens
temperaturenumber0.7温度参数 (0-2)
max_tool_iterationsnumber20最大工具调用次数

agents.defaults.model

模型配置支持两种格式:

简单格式(单个模型):

json
{
  "model": "anthropic/claude-sonnet-4-5"
}

对象格式(带备用模型):

json
{
  "model": {
    "primary": "anthropic/claude-sonnet-4-5",
    "fallbacks": ["openai/gpt-4o"]
  }
}

模型 ID 格式为 provider/model-id,例如 anthropic/claude-opus-4-5

providers

配置 LLM 提供商的 API Keys(简单格式)。Key 可以是实际值或环境变量引用:

json
{
  "providers": {
    "openai": "${OPENAI_API_KEY}",
    "anthropic": "${ANTHROPIC_API_KEY}",
    "deepseek": "sk-...",
    "groq": "${GROQ_API_KEY}"
  }
}

注意: 如果需要配置自定义模型(Ollama、vLLM、LM Studio 等),请使用 models.json 文件。详见 models.md

支持的提供商及其环境变量:

提供商环境变量
openaiOPENAI_API_KEY
anthropicANTHROPIC_API_KEY
googleGOOGLE_API_KEYGEMINI_API_KEY
groqGROQ_API_KEY
deepseekDEEPSEEK_API_KEY
minimaxMINIMAX_API_KEY
xaiXAI_API_KEY
mistralMISTRAL_API_KEY
cerebrasCEREBRAS_API_KEY
openrouterOPENROUTER_API_KEY
huggingfaceHF_TOKENHUGGINGFACE_TOKEN

你也可以直接在环境中设置环境变量,而无需添加到配置文件中。

channels

通信渠道配置。

channels.telegram

字段类型默认值说明
enabledbooleanfalse启用 Telegram 机器人
tokenstring-从 @BotFather 获取的机器人令牌
allow_fromarray[]允许的用户 ID(空 = 允许所有)
group_adminsbooleanfalse仅允许群管理员
magicstring-提及前缀

channels.discord

字段类型默认值说明
enabledbooleanfalse启用 Discord 机器人
tokenstring-机器人令牌
allow_fromarray[]允许的群组/频道 ID

channels.slack

字段类型默认值说明
enabledbooleanfalse启用 Slack 机器人
tokenstring-机器人令牌
allow_fromarray[]允许的频道 ID

channels.signal

字段类型默认值说明
enabledbooleanfalse启用 Signal 机器人
phone_numberstring-Signal 手机号
device_namestring-设备名称
allow_fromarray[]允许的手机号

gateway

HTTP API 网关配置。

字段类型默认值说明
hoststring0.0.0.0绑定地址
portnumber18790端口号
authobject-认证配置
corsobject-CORS 设置

gateway.auth

字段类型默认值说明
enabledbooleanfalse启用认证
usernamestring-用户名
passwordstring-密码
api_keystring-API 密钥认证

gateway.cors

字段类型默认值说明
enabledbooleanfalse启用 CORS
originsarray[]允许的来源
credentialsbooleanfalse允许凭证

tools

工具配置。

tools.web

字段类型默认值说明
searchobject-网页搜索配置
browseobject-网页浏览配置
字段类型默认值说明
providerstringbrave搜索提供商:bravesearxng
api_keystring-API 密钥
max_resultsnumber5最大结果数

tools.web.browse

字段类型默认值说明
enabledbooleantrue启用浏览
max_depthnumber2最大链接深度
timeoutnumber30000超时毫秒数

cron

定时任务配置。

字段类型默认值说明
enabledbooleantrue启用 cron
jobsarray[]定时任务列表

heartbeat

定期健康检查配置。

字段类型默认值说明
enabledbooleantrue启用心跳
intervalnumber300000间隔毫秒数(5分钟)
checksarray-检查列表

modelsDev

本地模型开发设置。

字段类型默认值说明
enabledbooleantrue启用本地模型缓存

stt

语音转文字(STT)配置。

字段类型默认值说明
enabledbooleanfalse启用 STT
providerstringalibaba提供商:alibabaopenai
alibabaobject-阿里云 DashScope 配置
openaiobject-OpenAI Whisper 配置
fallbackobject-回退配置

stt.alibaba

字段类型默认值说明
apiKeystring-DashScope API 密钥
modelstringparaformer-v1模型:paraformer-v1paraformer-8k-v1paraformer-mtl-v1

stt.openai

字段类型默认值说明
apiKeystring-OpenAI API 密钥
modelstringwhisper-1模型:whisper-1

stt.fallback

字段类型默认值说明
enabledbooleantrue启用回退
orderarray["alibaba", "openai"]回退顺序

示例:

json
{
  "stt": {
    "enabled": true,
    "provider": "alibaba",
    "alibaba": {
      "apiKey": "${DASHSCOPE_API_KEY}",
      "model": "paraformer-v1"
    },
    "fallback": {
      "enabled": true,
      "order": ["alibaba", "openai"]
    }
  }
}

tts

文字转语音(TTS)配置。

字段类型默认值说明
enabledbooleanfalse启用 TTS
providerstringopenai提供商:openaialibaba
triggerstringauto触发模式:autonever
openaiobject-OpenAI TTS 配置
alibabaobject-阿里云 CosyVoice 配置

tts.openai

字段类型默认值说明
apiKeystring-OpenAI API 密钥
modelstringtts-1模型:tts-1tts-1-hd
voicestringalloy音色:alloyechofableonyxnovashimmer

tts.alibaba

字段类型默认值说明
apiKeystring-DashScope API 密钥
modelstringcosyvoice-v1模型:cosyvoice-v1
voicestring-音色 ID

示例:

json
{
  "tts": {
    "enabled": true,
    "provider": "openai",
    "trigger": "auto",
    "openai": {
      "apiKey": "${OPENAI_API_KEY}",
      "model": "tts-1",
      "voice": "alloy"
    }
  }
}

触发模式:

  • auto:用户发语音时,Agent 用语音回复
  • never:禁用 TTS,只发送文字

环境变量

xopcbot 支持环境变量来存储敏感数据:

变量说明
ANTHROPIC_API_KEYAnthropic API 密钥
OPENAI_API_KEYOpenAI API 密钥
GOOGLE_API_KEYGoogle AI API 密钥
DASHSCOPE_API_KEY阿里云 DashScope API 密钥(用于 STT/TTS)
TELEGRAM_BOT_TOKENTelegram 机器人令牌
XOPCBOT_MODELS_JSON自定义 models.json 文件路径

环境变量优先于配置文件中的值。

自定义模型配置

自定义模型配置(Ollama、vLLM、LM Studio、OpenRouter 等)已移至独立的 models.json 文件。

详见 models.md

为什么分离?

  • 不同的文件权限 - 可以对敏感 API keys 设置更严格的权限
  • 更方便管理 - 自定义模型配置与主配置分离
  • 热重载 - 修改模型配置时可以热重载而不影响其他设置

基于 MIT 许可证发布