Solon v3.10.0

config.yml 配置详解

</> markdown
2026年3月31日 上午9:24:57

SolonCode CLI 安装后,配置文件位于 ~/.soloncode/bin/config.yml

1、核心配置项

配置项默认值描述
tools**工具权限配置(** = 所有工具;* = 仅公域工具)
maxSteps30根代理最大循环步数
maxStepsAutoExtensibletrue最大步数自动续航(由 LLM 反思控制)
sessionWindowSize8会话历史窗口大小(新指令时使用几条历史消息)
summaryWindowSize15触发摘要压缩的消息条数阈值
summaryWindowToken15000触发摘要压缩的内容长度阈值

2、安全与行为配置

配置项默认值描述
sandboxModetrue沙盒模式,启用时禁止访问绝对路径(只能访问工作区与用户主目录)
thinkPrintedtrue是否打印 AI 的内心思考(建议关掉,关闭后输出更简洁)
hitlEnabledfalse是否启用人工审核(危险操作需人工确认)
subagentEnabledtrue是否启用子代理模式(自动委派任务给专家代理)

3、CLI 控制台配置

配置项默认值描述
cliEnabledtrue是否启用控制台交互
cliPrintSimplifiedtrue是否简化打印(工具调用结果显示为一行)

4、Web 服务配置(可选)

配置项默认值描述
webEnabledfalse是否启用 Web 服务(一般不建议开启)
webEndpoint/cliWeb 服务端点路径

5、ACP 协议配置(可选,IDE 集成)

配置项默认值描述
acpEnabledfalse是否启用 ACP 协议(IDE 连接用)
acpTransportwebsocket传输方式(stdiowebsocket
acpEndpoint/acpWebSocket 传输端点

6、工具权限配置选择(tools)

工具名类型描述
**-所有公域 + 私域工具
*-仅所有公域工具
hitl私域人工介入审核
generate私域动态生成子代理
restapi私域Web 服务 API 接入
mcp私域MCP 服务接入
codesearch公域网络代码搜索
websearch公域网络搜索
webfetch公域网页内容抓取
todo公域任务清单管理
skill公域专家技能调用
task公域子代理任务委派
bash公域Shell 命令执行
ls公域列出目录内容
grep公域递归内容搜索
glob公域通配符文件搜索
edit公域文件编辑(含 write、edit、undo)
read公域读取文件内容

示例:限制危险操作

soloncode:
  tools: "*,read,edit"  # 仅公域工具 + 文件读写

7、上下文大小优化

影响上下文大小的因素:

因素说明
AGENTS.md系统提示词,建议控制在 200 行以内
tools工具越多,上下文占用越大
restApis / mcpServers扩展接口会转换为工具
sessionWindowSize历史消息加载越多,占用越大
maxSteps执行步数越多,累计占用越大(但会有摘要压缩控制)

优化建议:

  • 大上下文模型(如 GPT-4-turbo):调大 summaryWindowSizesummaryWindowToken
  • 小上下文模型:调小这两个参数,更频繁地触发摘要压缩

8、chatModel 模型配置

支持所有兼容 OpenAI API 的模型服务:

soloncode:
  chatModel:
    apiUrl: "https://api.deepseek.com/v1/chat/completions" #这里要用完整地址(不是 baseUrl)
    apiKey: "sk-xxxxxx"
    model: "deepseek-chat"
    timeout: "120s"

详细配置参考:《模型配置与请求选项》

9、完整配置示例

solon.logging.appender:
  console:
    enable: false  # 控制台日志(启用会干扰 CLI)
  file:
    level: DEBUG

soloncode:
  # 核心配置
  tools: "**"
  maxSteps: 20
  maxStepsAutoExtensible: true
  sessionWindowSize: 8
  summaryWindowSize: 15
  summaryWindowToken: 15000

  # 安全配置
  sandboxMode: true
  thinkPrinted: true
  hitlEnabled: false
  subagentEnabled: true

  # CLI 配置
  cliEnabled: true
  cliPrintSimplified: true

  # Web 服务(可选)
  webEnabled: false
  webEndpoint: "/cli"

  # ACP 协议(IDE 集成)
  acpEnabled: false
  acpTransport: "websocket"
  acpEndpoint: "/acp"

  # AI 模型配置
  chatModel:
    apiUrl: "https://api.deepseek.com/v1/chat/completions"
    apiKey: "sk-xxxxxx"
    model: "deepseek-chat"
    timeout: "120s"

  # 技能池(可选)
  skillPools:
    "@shared": "/path/to/shared-skills"

  # REST API 接入(可选)
  restApis:
    api1:
      docUrl: "https://api.example.com/openapi.json"
      apiBaseUrl: "https://api.example.com"
      headers: { Authorization: "Bearer xxx" }

  # MCP 服务接入(可选)
  mcpServers:
    memory:
      command: "npx"
      args: [ "-y", "@modelcontextprotocol/server-memory" ]