Skip to content

AtomCode v4.25.5 → v5.0.9 版本差异全量分析 ​

基于 strings / readelf 差异对比的跨版本逆向分析 2026-09-09


概览 ​

属性v4.25.5 (旧)v5.0.9 (新)
大小28,518,576 字节34,166,592 字节
增长—+5,648,016 字节 (+19.8%)
MD5921f831d3d0e4d7672df5773c4491af7f7aa98704af26f37e83a4653d0f49ace
strings (-n 6)32,881 行42,353 行
strings 增长—+9,472 行 (+28.8%)

ELF 段尺寸对比 ​

段v4.25.5v5.0.9变化
.text7,727,04611,222,838+3,495,792 (+45.2%)
.rodata17,576,60419,348,124+1,771,520 (+10.1%)
.eh_frame1,204,4041,681,156+476,752 (+28.2%)
.data15,14424,600+9,456

结论:.text 增长 45% 是迄今最大的代码量跃升,远超此前任何小版本迭代,证实这是跨大版本(v4→v5)的功能性升级而非简单维护。


1. 外部 Agent 子代理(全新子系统 — 本次最大新增功能) ​

1.1 源码模块(全新) ​

crates/atomcode-capabilities/src/subagent/claude_code.rs   ← Claude Code 子代理
crates/atomcode-capabilities/src/subagent/codex.rs         ← Codex 子代理
crates/atomcode-capabilities/src/subagent/proc.rs          ← 子进程管理
crates/atomcode-capabilities/src/subagent/tool.rs          ← 工具封装
crates/atomcode-coding/src/subagent_tiers.rs               ← 子代理分层

旧版(v4.25.5)中不存在任何 subagent/ 源码路径,此子系统全新加入。

1.2 配置结构体 ​

rust
struct ExternalSubagentConfig        // 7 元素
struct SubAgentConfig                // 新增
// 字段: permission / allow_dangerous / timeout_secs / evaluator_provider
//       default_workdir / providers / ...

配置项:

subagent.max_concurrent        subagent.max_rounds
subagent.codex                 subagent.claude

1.3 权限模式映射 ​

read-only      → 外部 Agent 只读
accept-edits   → 接受编辑
auto           → 自动
bypass         → 需显式启用,非交互/调度场景强制降级为 read-only

1.4 运行特征 ​

  • 输出文件前缀:atomcode-codex-out-
  • CLI 风格:Claude Code -p 风格(print 模式)
  • 工具命名:subagent_<name> 挂载为主模型可直接调用的工具
  • 约束:subagent may not touch sensitive paths (credentials / ~/.ssh / .env)
  • 错误:codex error: / subagent task crashed: / subagent stopped early
  • 系统提示语模板:You are a READ-ONLY investigation subagent... / You are a focused EXECUTION subagent...

1.5 与既有子代理体系的整合 ​

## EXTERNAL AGENT SUBAGENTS:
- 既有内部子代理 (subagent_type) 保留
- 新增外部 agent 作为命名子代理工具
- 委派提示模板:Delegate a self-contained coding task to the ...
- 进度可视化:子代理行显示委派任务内容,Codex 活动经 --json 流式呈现

2. Code Review 深度模式(全新子系统) ​

2.1 源码模块(旧版仅 3 文件 → 新版 9 文件) ​

crates/atomcode-review/src/assemble.rs      ← 跨维度合并去重
crates/atomcode-review/src/confine.rs       ← 范围收敛(仅审查变更文件)
crates/atomcode-review/src/fanout.rs        ← 维度 fan-out 并发
crates/atomcode-review/src/impact_plan.rs   ← 影响面规划(code-graph 引导)
crates/atomcode-review/src/round_budget.rs  ← 轮次预算
crates/atomcode-review/src/config.rs        ← 新增
crates/atomcode-review/src/review_tool.rs   ← 保留(旧有)
crates/atomcode-review/src/rules.rs         ← 保留(旧有)
crates/atomcode-review/src/diff.rs          ← 保留(旧有)

2.2 审查维度(fan-out 并行) ​

维度透镜
correctness## This review's lens: CORRECTNESS
securityRunning Security
performance—
tests & contractsConcentrate on whether the change is covered by tests...

2.3 verify 阶段 ​

  • deep+verify:每条 finding 由独立 reviewer 依据 diff 验证一次,剔除误报
  • 弱模型 reviewer 增加纪律约束
  • ZVerify the following single candidate finding from a prior review.

2.4 运行状态字符串 ​

Deep review: 0 dimensions completed
Deep review: 4 dimensions completed
Deep review complete
Deep review incomplete
every dimension failed (0/
Failed dimensions:

2.5 范围收敛 ​

path is required under review scope confinement; pass a path within the changed/reviewable files
No high-risk symbol targets were inferred. Review the changed hunks and only use deeper code-graph tools if a hunk changes runtime behavior, dependency resolution, or public contracts.
## Review impact plan (deterministic, code-graph guided)

3. 会话恢复(resume) ​

3.1 命令 ​

resume <id|name>    ← 按 id/名称恢复指定会话(TUI 与 headless 均可用)
                    ← 无参恢复最近会话
-p --resume <id>    ← headless 用法

3.2 相关字符串 ​

resume failed: 
Resume session (
another session resume is still in progress
session preparation is taking unusually long (large session or slow disk); please try again
session is active in another atomcode process; close it before resuming

4. Headless / ACP 可观测性 ​

4.1 JSONL 结构化输出 ​

--output-format jsonl
run.started / message.delta / tool.started / usage / turn.completed 等版本化事件

4.2 新 CLI 标志 ​

--ephemeral             不创建/恢复/写入会话状态
--no-tools              暴露空工具目录(纯模型评测)
--permission-mode       权限模式
--dangerously-skip-permissions
--model

4.3 ACP v2(Agent Client Protocol draft v2) ​

全新源码模块(旧版无 atomcode-cli/src/acp/):

crates/atomcode-cli/src/acp/{commands,discovery,dispatch,elicitation,engine,mod,options,permission,sessions,turn,v2}.rs
  • 外部依赖:agent-client-protocol-2.0.0(官方 Rust crate,路径 /usr/local/cargo/registry/.../agent-client-protocol-2.0.0/src/role/acp.rs)
  • 协议能力:
    • session/prompt 立即确认
    • state_update 通知
    • agent 消息 id
    • session/delete
    • additionalDirectories
    • MCP http 传输
    • $ /cancel_request 取消请求
  • ACP 通道可切换执行模式 / reasoning_effort / 模型,运行中热生效
acp serve failed: 
acp: mcpServer ...
acp: request_permission round-trip failed
acp: request_user_input: bad payload
acp: v2 $/cancel_request for request
ACP protocol version / required ACP protocol version / unsupported ACP protocol version

5. Reasoning Effort 增强 ​

5.1 新增档位 ​

low / medium / high / xhigh / max    ← 五档(xhigh 为新增)
/effort 命令

5.2 服务端档位宣告 ​

reasoning_effort_levels    ← CodingPlan 网关宣告优先于客户端内置表
reasoning_effort            ← 请求字段
reasoning_history / thinking_budget / thinking_keep / thinking_type

5.3 相关字段(模型能力声明) ​

capable_model / context_window / max_tokens / user_agent / supports_vision
default_proxy / skip_tls_verify / retry_max_attempts

6. Provider / 网络扩展 ​

6.1 新增 Provider 端点 ​

Provider端点说明
OpenAIhttps://api.openai.com/v1新增
Anthropichttps://api.anthropic.com新增
OpenRouterhttps://openrouter.ai/api/v1新增
Moonshothttps://api.moonshot.cn/v1新增
MiniMaxhttps://api.minimaxi.com/v1新增
SiliconFlowhttps://api.siliconflow.cn/v1新增
Xiaomi MiMohttps://api.xiaomimimo.com/v1新增
Volcengine Arkhttps://ark.cn-beijing.volces.com/api/v3新增
Alibaba DashScopehttps://dashscope.aliyuncs.com/compatible-mode/v1新增
LongCathttps://api.longcat.chat/openai/v1新增
Zhipu (Coding Plan)https://open.bigmodel.cn/api/coding/paas/v4新增
Zhipu AIhttps://open.bigmodel.cn/api/paas/v4新增
OpenCodehttps://opencode.ai/zen/v1新增
TaoTokenhttps://taotoken.net/api/v1新增
Ollamahttp://localhost:11434保留
DeepSeekhttps://api.deepseek.com/v1保留

对应 API Key 环境变量:DASHSCOPE_API_KEY / ARK_API_KEY / MIMO_API_KEY / LONGCAT_API_KEY / ZHIPUAI_API_KEY / MINIMAX_API_KEY / SILICONFLOW_API_KEY / OPENROUTER_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEY

6.2 新增模型 ​

claude-3 / claude-4 / claude-5 / claude-6 / claude-7
claude-sonnet / claude-opus / claude-haiku
gpt-4o / vision-vl / vl-ocr / 4v / 4.1v
pixtral / llava / qvq / deepseek-reasoner / deepseek-r1 / kimi
mimo-xiaomi / mimo-p

6.3 流式解析新增 ​

message_start / content_block_start / content_block_delta / content_block_stop
message_delta / message_stop / redacted_thinking / text_delta / thinking_delta
signature_delta / content_block / cache_read_input_tokens / cache_creation_input_tokens
partial_json / base64 / tool_use_id / done_reason / prompt_eval_count / eval_count

7. 配置系统扩展 ​

7.1 顶层配置结构(Config 27 元素) ​

UiConfig / ProxyConfig / LoopConfig / ToolsConfig / CodingConfig / PluginConfig
DatalogConfig / NetworkConfig / ProxyFileConfig / SubAgentConfig / TodoToolConfig
WebSearchConfig / ScheduleTask / NotificationConfig / TelemetryConfig
ExternalSubagentConfig / LspServerConfig / ProviderConfig / ModelProfileConfig
ProviderAccountConfig

7.2 关键结构体字段数 ​

结构体字段数
Config27
ProviderConfig19
ModelProfileConfig16
ScheduleTask11
ExternalSubagentConfig7
ProviderAccountConfig7
LspServerConfig3
TelemetryConfig2

7.3 新增配置路径 ​

subagent.max_concurrent / subagent.max_rounds / subagent.codex / subagent.claude
coding.max_rounds / coding.shell_guard_policy
loop_config.max_rounds
tools.todo.enabled
ui.auto_copy_code_blocks / ui.ai_session_naming / ui.terminal_status_glyph / ui.truncate_resumed_history
notifications.enabled / notifications.bell
datalog.enabled / telemetry.enabled
lsp.enabled / lsp.auto_detect
plugin.auto_update_marketplaces

7.4 新增配置结构体 ​

struct ProviderConfig with 19 elements
struct ModelProfileConfig with 16 elements   ← 模型能力档案(能力声明)
struct ProviderAccountConfig with 7 elements ← 账号(display_name, avatar_url, email...)
struct ScheduleTask with 11 elements         ← permission_mode/notify/last_run_at/last_status
struct ExternalSubagentConfig with 7 elements
struct LspServerConfig with 3 elements

7.5 新增枚举 ​

rust
enum Schedule {
  Daily   (1 字段),
  Cron    (1 字段),
  Weekly  (2 字段),
  Interval(1 字段),
  Hourly,
}

7.6 新增环境变量 ​

ATOMCODE_SUBAGENT            ← 外部子代理开关
ATOMCODE_SUBAGENT_MAX_ROUNDS
ATOMCODE_REVIEW_MAX_ROUNDS
ATOMCODE_REVIEW_MAX_DURATION_SECS
ATOMCODE_VERIFY              ← verify 阶段
ATOMCODE_REQUEST_USER_INPUT
ATOMCODE_GOAL_MAX_ROUNDS
ATOMCODE_GOAL_MAX_DURATION_SECS
ATOMCODE_LOOP_MAX_ROUNDS
ATOMCODE_MEMORY_TOOL
ATOMCODE_MEMORY_APPROVAL
ATOMCODE_PROJECT_MEMORY_DIR
ATOMCODE_PLUGIN_AUTO_INSTALL
ATOMCODE_PLUGIN_MARKETPLACES
ATOMCODE_STREAM_TIMEOUT_SECS
ATOMCODE_TURN_MAX_ROUNDS
ATOMCODE_MAX_PARALLEL_TOOLS
ATOMCODE_DAEMON_IDLE_TIMEOUT
ATOMCODE_MCP_TRUST_STORE
ATOMCODE_ASKPASS_SOCK / ATOMCODE_ASKPASS_TOKEN
ATOMCODE_QR_DENSE / ATOMCODE_QR_BRAILLE
ATOMCODE_AI_SESSION_NAMING / ATOMCODE_BRAND_NAME / ATOMCODE_OAUTH_PROVIDER_NAME
ATOMCODE_APP_RELAY / ATOMCODE_RELAY_CLIENT_BIN / ATOMCODE_RELAY_CLIENT_SKIP_DOWNLOAD
ATOMCODE_DESKTOP_DOWNLOAD_URL

8. CLI 命令重构与新增 ​

8.1 新增子命令 ​

命令说明
daemonHTTP daemon(VS Code 集成),--client / --idle-timeout
webuiWebUI 启动
plugin管理 skill/command 插件(镜像 claude plugin),操作 $ATOMCODE_HOME/plugins/
mcp管理 .mcp.json(claude mcp add 风格)
schedule管理本地定时任务(add/list/remove/enable/disable),--daemon
askpass内部 askpass helper(SUDO_ASKPASS/SSH_ASKPASS)
acpACP agent over stdio
resume恢复会话
review代码审查(支持 deep/deep+verify)
effortreasoning effort 调整
goalgoal 模式
looploop 模式
completionshell 补全脚本

8.2 Uninstall 重构(非交互) ​

--yes        Skip prompts; use per-group default decisions (binary=yes, credentials=no, state=yes)
--purge      PURGE
--keep-data  Keep ~/.atomcode/ entirely (only remove binary + PATH edit)
--dry-run    DRY_RUN

8.3 Setup 重构 ​

Setup  Take over a stale lock AND force reinstall even if seeds are already present
Install seed files (skills/commands/hooks/MCP) to `~/.atomcode/`
setup-state.json

9. 其他新功能特征 ​

9.1 文件/编辑器集成 ​

.claude/agents / .claude/commands / .claude/skills / .agents/skills
AGENTS.md / CLAUDE.md / ATOMCODE.md / .atomcode.md / .atomcode.user.md
JetBrains-JediTerm / TERMINAL_EMULATOR / ATOMCODE_TMUX_PASSTHROUGH

9.2 构建器集成(内置构建命令识别) ​

python3 xargs .sh .py .js .rb .pl cargo npm bun gradle gradlew mvn ninja msbuild rustc gcc g++ clang clang++ tsc javac pytest dotnet compile publish bench clippy

9.3 Telemetry 队列强化 ​

telemetry/queue / telemetry/health.json
events_tracked / events_dropped_mpsc / events_dropped_disk / segments_posted / bytes_sent
last_post_unix_ms / last_post_isoc
install_completed_install_uuid

9.4 插件系统强化(git 源 marketplace) ​

ATOMCODE_PLUGIN_ROOT / CLAUDE_PLUGIN_ROOT
marketplaces.json / marketplaces.atomcode/ / plugins.atomcode/ / plugins/local
installed_plugins.json / hooks.json
spawn git clone / --depth / ATOMCODE_GIT_PATH
.plugin/plugin.json / .claude-plugin/plugin.json / .claude-plugin/marketplace.json
add marketplace / remove / update marketplace

9.5 会话 rewind 能力 ​

session/rewind.rs  ← 新源码
rewind point has no code snapshot
code rewind compensation lost its checkpoint
rewind transaction requires an active session lease
conversation rewind must have an undo plan

10. 新增源码模块全清单(121 个文件路径) ​

全新 crate / 模块组 ​

模块文件性质
subagentcapabilities/src/subagent/{claude_code,codex,proc,tool}.rs全新
acpcli/src/acp/*.rs (11 文件)全新
teamcoding/src/team/{manager,runner,tool}.rs全新
review 扩展review/src/{assemble,confine,fanout,impact_plan,round_budget,config}.rs扩展
tools 新增capabilities/src/tools/{atomgit,atomgit_bash_gate,bash_workspace_gate,credential_bash_gate,memory,output_artifact,repair,request_user_input,task}.rs扩展
sessioncapabilities/src/session/{manager,rewind,usage_provider}.rs扩展
atomgit 工具capabilities/src/atomgit/{client,issue,pr,push_label_mw,remote,repo}.rs扩展
askpasscapabilities/src/askpass/{cache,server}.rs扩展
coding 子系统coding/src/{config,controllers,execution_policy,mcp_instructions,next_prompt_suggestion,rate_limit,runtime,session_title,skill_first,subagent_tiers,todo,vision}.rs扩展
tuix 模态框tuix/src/modals/{config_panel,dir_picker,password,provider_panel,qr,rewind,usage,usage_render}.rs扩展
daemondaemon/src/{api_auth,auth_token,commands,kernel_runtime,legacy_convert,native_live,runtime_host}.rs扩展

11. 发布节奏 ​

版本本地日期说明
v4.25.52026-06-24此前分析的最新版
v5.0.0 ~ v5.0.82026-07 ~ 2026-08中间版本(未追踪)
v5.0.92026-08-27本次下载的最新版

跨 5 个 minor 版本、2 个多月,是仓库首次跨越 v4 → v5 大版本。


12. 逆向分析方法论总结 ​

  1. strings 差异是识别新功能的最快路径:comm -13 <(sort old) <(sort new)
  2. Rust 编译后源码路径作为 panic/错误字符串保留 → 新 crate/模块结构可直接枚举
  3. 结构体名 + with N elements 保留在类型元数据中 → 可重建配置模型
  4. 环境变量名是功能开关的强指示器
  5. .text 段大小是代码量变化的可靠量化指标

本报告由持续分析循环生成 — v5.0.9 首次全量差异分析

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