Solon v3.10.3

config.yml 配置详解

</> markdown
2026年4月22日 下午11:04:51

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

1、核心配置项

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

2、安全与行为配置

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

3、行为重试配置

配置项默认值描述
modelRetries3模型 请求失败后重试次数(coding plan 用户,可以调大一点)
mcpRetries3MCP 请求失败后重试次数
apiRetries3API 请求失败后重试次数(适用于所有 http api 请求)

4、CLI 控制台配置

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

5、Web 服务配置(可选)

配置项默认值描述
webEndpoint/cliWeb 服务端点路径

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

配置项默认值描述
acpTransportwebsocket传输方式(stdiowebsocket
acpEndpoint/acpWebSocket 传输端点

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

工具名类型描述
**-所有公域 + 私域工具
*-仅所有公域工具
pi-微形命令行工具(包括工具:read, write, edit, bash)
hitl私域人工介入审核
generate私域动态生成子代理
restapi私域Web 服务 API 接入
mcp私域MCP 服务接入
code公域编码指引(自动分析项目类型、编译指令等)
lsp公域LSP服务(提升代码编辑器的智能感知能力)
codesearch公域网络代码搜索
websearch公域网络搜索
webfetch公域网页内容抓取
todo公域任务清单管理
skill公域专家技能调用
task公域子代理任务委派
bash公域Shell 命令执行
ls公域列出目录内容
grep公域递归内容搜索
glob公域通配符文件搜索
edit公域文件编辑(含 write、edit、read)
read公域读取文件内容

示例:限制危险操作

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

8、上下文大小优化

影响上下文大小的因素:

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

优化建议:

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

9、models 模型配置

支持所有主流大模型 API:

soloncode:
  models:
    - apiUrl: "https://api.deepseek.com/v1/chat/completions" #这里要用完整地址(不是 baseUrl)
      apiKey: "sk-xxxxxx"
      model: "deepseek-chat"
      description: "适合简单的聊天对话" #描述适用场景
      timeout: "300s"

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

10、完整配置示例

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 配置
  cliPrintSimplified: true

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

  # ACP 协议(IDE 集成)
  acpTransport: "websocket"
  acpEndpoint: "/acp"
  
  
  # 技能池或只读文件池(可选)
  skillPools:
    "@shared": "/path/to/shared-skills"

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

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

  # MCP 服务接入(可选)
  mcpRetries: 3
  mcpServers:
    memory:
      command: "npx"
      args: [ "-y", "@modelcontextprotocol/server-memory" ]
      
  # LSP 服务接入(可选)
  lspServers:
    java:
      command: ["jdtls", "-data", ".solon/lsp/java-workspace"]
      extensions: [".java"]
    typescript:
      command: ["typescript-language-server", "--stdio"]
      extensions: [".ts", ".tsx", ".js", ".jsx"]
    go:
      command: ["gopls"]
      extensions: [".go"]
    python:
      command: ["pylsp"]
      extensions: [".py"]