Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

附录 C:配置参考

配置文件位置

优先级路径说明
1(最高).octos/config.json项目本地配置
2~/.config/octos/config.json用户全局配置
3(最低)内置默认值代码中定义的默认值

核心配置字段

字段路径类型默认值说明
providerstring(自动检测)LLM Provider 名称
modelstring模型 ID
base_urlstring?Provider 默认API 端点覆盖
api_key_envstring?Provider 默认API Key 环境变量名
system_promptstring?内置默认自定义系统提示
max_iterationsu3250Agent 最大迭代次数
max_tokensu32?无限制Token 预算上限
max_timeout_secsu64600墙钟超时(秒)
tool_timeout_secsu64600单工具调用超时(秒)

工具策略

字段路径类型默认值说明
tools.allowstring[][]允许的工具列表(空=全部允许)
tools.denystring[][]禁止的工具列表(deny-wins)
tools.byProvider.<name>.allowstring[]Provider 级允许列表
tools.byProvider.<name>.denystring[]Provider 级禁止列表

Gateway 配置

字段路径类型默认值说明
gateway.channelsobject{}频道配置
gateway.max_concurrent_sessionsu3210最大并发会话数

Serve 配置

字段路径类型默认值说明
serve.hoststring“127.0.0.1”绑定地址
serve.portu163000绑定端口

MCP 服务器

字段路径类型说明
mcp_servers.<name>.commandstringStdio 模式:启动命令
mcp_servers.<name>.argsstring[]命令参数
mcp_servers.<name>.envobject传递给子进程的环境变量
mcp_servers.<name>.urlstringHTTP 模式:服务器 URL

Hooks

字段路径类型说明
hooks.before_tool_callobject[]工具调用前钩子
hooks.after_tool_callobject[]工具调用后钩子
hooks.before_llm_callobject[]LLM 调用前钩子
hooks.after_llm_callobject[]LLM 调用后钩子

每个 hook 对象:{ "command": ["cmd", "arg1"], "timeout_ms": 5000, "tool_filter": "shell" }

示例配置

{
  "model": "claude-sonnet-4-20250514",
  "system_prompt": "You are a helpful coding assistant.",
  "max_iterations": 30,
  "tools": {
    "deny": ["browser"],
    "byProvider": {
      "ollama": { "allow": ["read_file", "shell", "grep"] }
    }
  },
  "gateway": {
    "max_concurrent_sessions": 20,
    "channels": {
      "telegram": { "token_env": "TELEGRAM_BOT_TOKEN" }
    }
  },
  "mcp_servers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/workspace"]
    }
  },
  "hooks": {
    "before_tool_call": [
      { "command": ["./audit-hook.sh"], "timeout_ms": 3000 }
    ]
  }
}