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 类型元数据确认)
| 结构体 | 字段数 | 说明 |
|---|---|---|
Config | 27 | 顶层配置(v4.25.3 为 16) |
ProviderConfig | 19 | 提供商 |
ModelProfileConfig | 16 | 模型能力档案 |
ProviderAccountConfig | 7 | 账号 |
ScheduleTask | 11 | 定时任务 |
ExternalSubagentConfig | 7 | 外部 Agent 子代理 |
SubAgentConfig | — | 内部子代理 |
LspServerConfig | 3 | LSP 服务器 |
TelemetryConfig | 2 | 遥测 |
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_model2. 新增配置节解析
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_type5. 环境变量双通道
配置系统采用 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_TOKEN6. 逆向方法论备注
- Rust 结构体名 +
with N elements类型元数据在 stripped 二进制中仍完整保留 → 配置模型可精确重建 - 用户环境实测 config.toml 是运行时自动升级生成的真实样本,比字符串提取更可信
- 配置节名与结构体名一一对应(
[subagent]↔SubAgentConfig),可交叉验证 - 环境变量名通常直接复刻配置路径(
subagent.max_rounds→ATOMCODE_SUBAGENT_MAX_ROUNDS),构成双通道映射
本报告由持续分析循环生成 — v5.0.9 配置系统扩展深度分析