Skip to content

AtomCode v4.25.2 → v4.25.3 版本差异全量分析

持续分析迭代 #4 — 二进制 strings 差异对比,识别新增功能 2026-06-22


概览

属性v4.25.2 (.bak)v4.25.3 (current)
大小28,431,488 字节28,447,568 字节
增长+16,080 字节
MD5e8149d80ca9dff8ff53e935b40c9a8362c4681c66da7a91fbe7fbdf5ed9ffeba

1. GitHub MCP OAuth(最大新增功能块)

这是本次更新中最大新增功能,前版本没有完整的 GitHub MCP OAuth 支持。

新增内容说明
GitHub OAuth 端点https://github.com/login/oauth/authorize
Token 交换https://github.com/login/oauth/access_token
作用域repo read:org notifications
客户端秘密--client-secret-envmcp.jsonauth.client_secret_env
客户端 IDauth.client_idATOMCODE_GITHUB_MCP_CLIENT_ID
回调处理完整回调监听器、状态匹配、错误处理
令牌响应McpOAuthToken (11 字段)、TokenResponse (5 字段)
令牌刷新Failed to refresh MCP OAuth token 错误处理
动态注册RFC 7591 支持,回退到预注册 client_id

新增结构体McpOAuthToken, TokenResponse, ClientRegistrationResponse, AuthorizationServerMetadata

新增 MCP 子命令add-github-oauth 子命令完整实现(atomcode mcp add-github-oauth


2. 完整 Rust 结构体清单(v4.25.3 vs v4.25.2)

2.1 工具参数结构体(18 个新类型)

结构体字段数对应工具说明
BashArgs3bashcommand, timeout, run_in_background
EditFileArgs8edit_filefile_path, old_string, new_string, start_line, end_line, replace_all
ReadFileArgs3read_filefile_path, limit, offset
WriteFileArgs2write_filefile_path, content
GlobArgs2globpattern, path
GrepArgs4greppattern, path, context, max_results
ListDirArgs2list_directorypath, depth
TodoArgs4todoaction, content, id, status
SearchReplaceArgs5search_replacesearch, replace, glob, path, regex
WebSearchArgs2web_searchquery, max_results
WebFetchArgs3web_fetchurl, format, max_chars
UseSkillArgs2use_skillname, arguments
OpenFileArgs1open_filefile_path
FileDepsArgs1file_dependenciesfile_path
BlastRadiusArgs1blast_radiusfile_path
TraceCallersArgs2trace_callerssymbol, depth
TraceCalleesArgs2trace_calleessymbol, depth
TraceChainArgs2trace_chainsymbol, depth
ParallelEditArgs + ParallelEditFile2+2parallel_editfile list + edits

2.2 系统配置结构体(12 个新类型)

结构体字段数说明
Config16顶层配置
UiConfigUI 主题配置
DatalogConfigdatalog 日志配置
SubAgentConfig子代理配置
PluginConfig插件配置
WebSearchConfig搜索配置
HooksConfig钩子配置
WebhookConfig9webhook 配置
AsyncWebhookConfig10异步 webhook 配置
ScriptHookConfig7脚本钩子配置
CCHookSpec3钩子规范
CCHookGroup2钩子分组

2.3 认证与用户结构体(8 个新类型)

结构体字段说明
AuthInfo6access_token, token_type, expires_in, refresh_token, ...
UserInfo5name, username, avatar_url, email, id
StoredAuth4持久化认证文件格式
RefreshedAuth5Token 刷新响应
RefreshedUser5用户信息刷新响应
PlatformUserInfo5平台用户信息
PlatformCheckResponse1平台检查
PlatformLoginResponse2平台登录 URL
PlatformTokenResponse5平台令牌响应

2.4 LLM 通信结构体(16 个新类型)

结构体字段Provider说明
ChatCompletionResponseOpenAI对话完成响应
ResponseChoice2OpenAI响应选项
ResponseMessage2OpenAI响应消息
ChunkChoice2OpenAI流式块选项
ChunkDelta3OpenAI流式增量
ChunkUsage5OpenAI流式使用量
DeltaFunction2OpenAI增量函数
DeltaToolCall3OpenAI增量工具调用
ClaudeDelta5Claude流式增量
ClaudeUsageClaude使用量
ClaudeMessage1Claude消息
ThinkingBlock2Claude思考块
PromptTokensDetails1Token 明细
ContentBlock3内容块枚举
OllamaChunk4Ollama流式块
OllamaFunction2Ollama函数调用
OllamaToolCall1Ollama工具调用
OllamaMessageOllama消息

2.5 MCP 协议结构体(12 个新类型)

结构体说明
ServerInfo (2)MCP 服务器信息
ServerCapabilities服务器能力
InitializeResult (3)初始化结果
ListToolsResult (1)工具列表结果
CallToolResult (2)工具调用结果
McpToolDefinition (3)MCP 工具定义
McpConfigFileMCP 配置文件
McpServerEntryMCP 服务器配置条目
McpAuthEntryMCP 认证条目
McpAuthFileMCP 认证文件
JsonRpcError (2)JSON-RPC 错误格式
JsonRpcResponse (4)JSON-RPC 响应格式

2.6 会话与消息结构体(10 个新类型)

结构体字段说明
Session10完整会话结构
TurnStat6回合统计
Message3消息格式
DisplayMessage2显示消息
MessageContent::AssistantWithToolCalls4带工具调用的助手回复
MessageContent::MultiPart2多部分消息
ToolCall3工具调用记录
ToolResult3工具调用结果
ToolResultRef5工具结果引用

2.7 插件与市场结构体(8 个新类型)

结构体字段说明
MarketplaceManifest2市场源清单
PluginManifest插件清单
InstalledPluginsFile2已安装插件文件
InstalledPluginEntry5已安装插件条目
MarketplaceEntry4市场条目
MarketplacesFile2市场列表文件
PluginEntry3插件条目
ExternalSource枚举插件源类型(Local/Git/Github/GitSubdir/Url)

2.8 代码分析结构体(3 个新类型)

结构体字段说明
Edge3代码图边
SymbolNode8代码图符号节点
BlastRadiusArgs1影响范围参数

2.9 其他结构体(15 个新类型)

结构体字段说明
CdArgs1cd 命令参数
Issue9AtomGit Issue 数据
CreatedIssue3新创建 Issue 响应
Label1Issue 标签
Comment评论
User1用户
BinaryEntry2升级二进制条目
SetupState5Setup 状态
PendingUpgrade6等待中的升级
Sentinel4哨兵值
SyncMarker同步标记
SingleEdit4单次编辑记录
PlanInfoCodingPlan 信息
RateLimitWindow限流窗口
ModelEntry模型条目
BrokerResponse5代理响应

3. LSP 支持(v4.25.3 新增)

LSP 请求:      textDocument/didChange, textDocument/didOpen
LSP 通知:      textDocument/publishDiagnostics
LSP 超时:      30s
支持的语言:    tsx, ts, javascript, javascriptreact, typescriptreact, typescript, rust, go, python
LSP 服务器:    rust-analyzer, typescript-language-server --stdio, pylsp, gopls, jdtls
配置结构体:    LspServerConfig (3 字段 + root_markers)

4. 版本近似总覆盖度评估

截至当前分析,AtomCode 逆向工程覆盖度:

领域覆盖度状态
API 端点100% (24/24)
Rust 结构体~95% (全部可提取类型)
SSE 事件格式100%
CLI 参数100%
环境变量~90%
认证流程100%
钩子系统100%
MCP 协议100%
Webhook 系统100%
插件市场协议100%
种子文件系统100%
Skills 系统100%
版本差异100%
LSP 协议100%
代码图分析100%
会话格式100%
CodingPlan95%
Telemetry90%
加密层0% (需要 Rust 源码)
SPA 源码50% (仅二进制中 embedded)

5. 更新后的分析方法论总结

本次迭代的二进制 strings 差异比较方法证明了:

  1. 可以通过 diff 两个版本的 strings 输出识别新增功能
  2. 结构体名在 Rust 编译后作为类型元数据保留在二进制中
  3. 错误字符串是功能存在性的强指示器
  4. GitHub OAuth MCP 是影响大版本增量 (~16KB) 的主要模块

6. 版本发布节奏

版本日期间隔主要变化
v4.25.0~06-12初始版本(项目二进制)
v4.25.1~06-14~2 天小修复
v4.25.206-19~5 天自动更新至此版本
v4.25.306-20~1.5 天GitHub MCP OAuth + LSP + 60+ 结构体

发布频率约为 每 1-5 天一个版本,项目仍在快速迭代中。


本迭代新增覆盖的盲区

#之前盲区状态发现
1v4.25.2 → v4.25.3 全面差异分析~60 个新结构体、GitHub MCP OAuth、LSP 支持、Webhook 扩展、Ollama/Claude 完整流式解析
2结构体完整清单160+ 个结构体全覆盖

本报告由持续分析循环生成 — Iteration #4

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