Skip to content

AtomCode v5.0.9 新子系统深度分析 — 配置系统扩展 ​

基于 strings 结构体元数据 + 用户 ~/.atomcode/config.toml 实测样本的还原分析 2026-09-09 前置报告:05-version-diff-v4.25.5-to-v5.0.9.md


1. 配置结构体全量还原(v5.0.9) ​

1.1 字段数(strings 类型元数据确认) ​

结构体字段数说明
Config27顶层配置(v4.25.3 为 16)
ProviderConfig19提供商
ModelProfileConfig16模型能力档案
ProviderAccountConfig7账号
ScheduleTask11定时任务
ExternalSubagentConfig7外部 Agent 子代理
SubAgentConfig—内部子代理
LspServerConfig3LSP 服务器
TelemetryConfig2遥测
UiConfig / LoopConfig / ToolsConfig / CodingConfig / PluginConfig / DatalogConfig / WebSearchConfig / NotificationConfig / NetworkConfig / ProxyConfig / ProxyFileConfig / TodoToolConfig—子系统配置

Config 从 16 → 27 字段(+11),是 v4→v5 配置面大扩张的直接证据。

1.2 实测 config.toml(用户环境,2026-08-04 自动更新生成) ​

toml
default_provider = "AtomGit-deepseek-v4-flash"

[subagent]
enabled = true
initial_turns = 4
max_turns = 12
max_concurrent = 3
timeout_secs = 300

[loop_config]
max_rounds = 100

[ui]
theme = "..."
auto_copy_on_select = true
auto_copy_code_blocks = false
ai_session_naming = "..."
terminal_status_glyph = true

[plugin]
auto_install_default_skills = true
auto_update_marketplaces = true

[web_search]
provider = "exa"

[datalog]
enabled = true
dir = "~/.atomcode/datalog"

[notifications]
enabled = true
terminal = true
system = true
bell = true
background_only = false

[network.proxy]
mode = "follow_system"    # follow_system | default_proxy | none

[lsp]
enabled = false
auto_detect = false
diagnostics_settle_delay_ms = 150

[providers.*]
type/model/base_url/context_window/capable_model

2. 新增配置节解析 ​

2.1 [subagent] — 子代理子系统(全新) ​

enabled          ← 总开关
initial_turns    ← 初始轮次
max_turns        ← 最大轮次
max_concurrent   ← 最大并发(对应 ATOMCODE_SUBAGENT_MAX_ROUNDS 环境变量)
timeout_secs     ← 超时

2.2 [loop_config] — 循环模式配置(全新) ​

max_rounds = 100    ← loop 模式最大轮次

对应 /loop 命令 + ATOMCODE_LOOP_MAX_ROUNDS。

2.3 [notifications] — 通知系统(全新) ​

enabled          ← 总开关
terminal         ← 终端内通知
system           ← 系统通知(桌面)
bell             ← 响铃
background_only  ← 仅后台运行时通知

2.4 [network.proxy] — 代理三模式(全新) ​

mode = "follow_system"    # follow_system | default_proxy | none

环境变量佐证:default_proxy / skip_tls_verify / retry_max_attempts。

2.5 [web_search] — 默认 provider 变更 ​

provider = "exa"          ← 默认搜索提供方(新增 Exa)

3. 模型能力档案(ModelProfileConfig,16 字段) ​

capable_model    ← 模型能力声明(capable 档位路由)
context_window   ← 上下文窗口
max_tokens
user_agent
supports_vision
thinking_enabled / thinking_budget / thinking_type / thinking_keep
reasoning_history / reasoning_effort
skip_tls_verify

作用:子代理分层路由(simple→fast / hard→capable)的模型侧依据,与 subagent_tiers.rs 配套。


4. Reasoning Effort 五档(xhigh 新增) ​

低   Minimal reasoning effort
中   Moderate reasoning effort
高   (High reasoning effort)
极高 Extra-high reasoning effort   ← xhigh(新增)
最高 Maximum reasoning effort      ← max
默认 / auto

/effort 命令 → 档位选择器
xhigh`, key:`effort.xhigh`}, {val:`max`, key:`effort.max`}    ← WebUI 端 UI 常量
xhigh / max / auto

服务端宣告优先于客户端内置表:

reasoning_effort_levels    ← CodingPlan 网关宣告
reasoning_effort           ← 请求字段
reasoning_history / thinking_budget / thinking_keep / thinking_type

5. 环境变量双通道 ​

配置系统采用 config.toml ↔ 环境变量 双通道,环境变量优先级更高:

[subagent]          ↔ ATOMCODE_SUBAGENT / ATOMCODE_SUBAGENT_MAX_ROUNDS
[loop_config]       ↔ ATOMCODE_LOOP_MAX_ROUNDS
review              ↔ ATOMCODE_REVIEW_MAX_ROUNDS / ATOMCODE_REVIEW_MAX_DURATION_SECS
goal                ↔ ATOMCODE_GOAL_MAX_ROUNDS / ATOMCODE_GOAL_MAX_DURATION_SECS
turn                ↔ ATOMCODE_TURN_MAX_ROUNDS
并行工具            ↔ ATOMCODE_MAX_PARALLEL_TOOLS
流超时              ↔ ATOMCODE_STREAM_TIMEOUT_SECS
memory 工具         ↔ ATOMCODE_MEMORY_TOOL / ATOMCODE_MEMORY_APPROVAL / ATOMCODE_PROJECT_MEMORY_DIR
插件市场            ↔ ATOMCODE_PLUGIN_AUTO_INSTALL / ATOMCODE_PLUGIN_MARKETPLACES
daemon              ↔ ATOMCODE_DAEMON_IDLE_TIMEOUT
MCP 信任           ↔ ATOMCODE_MCP_TRUST_STORE
askpass             ↔ ATOMCODE_ASKPASS_SOCK / ATOMCODE_ASKPASS_TOKEN

6. 逆向方法论备注 ​

  1. Rust 结构体名 + with N elements 类型元数据在 stripped 二进制中仍完整保留 → 配置模型可精确重建
  2. 用户环境实测 config.toml 是运行时自动升级生成的真实样本,比字符串提取更可信
  3. 配置节名与结构体名一一对应([subagent] ↔ SubAgentConfig),可交叉验证
  4. 环境变量名通常直接复刻配置路径(subagent.max_rounds → ATOMCODE_SUBAGENT_MAX_ROUNDS),构成双通道映射

本报告由持续分析循环生成 — v5.0.9 配置系统扩展深度分析

基于 VitePress 构建 · AtomCode v5.2.3 逆向工程分析文档