Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

附录 E:版本演化记录

本书核心分析基于 Claude Code v2.1.88(含完整 source map,可还原 4,756 个源文件)。本附录记录后续版本的关键变化及其对各章节的影响。

导航提示:每条变化链接到对应章节的版本演化小节,点击章节编号可跳转。

由于 v2.1.89 起 Anthropic 移除了 source map 分发,以下分析基于 bundle 字符串信号对比 + v2.1.88 源码辅助推断,深度有限。

v2.1.88 → v2.1.91

概览:cli.js +115KB | Tengu 事件 +39/-6 | 环境变量 +8/-3 | Source Map 移除

高影响变化

变化影响章节详情
Tree-sitter WASM 移除ch16 权限系统Bash 安全从 AST 分析退回 regex/shell-quote;因 CC-643 性能问题
"auto" 权限模式正式化ch16-ch17 权限/YOLOSDK 公开 API 新增 auto mode
冷压缩 + 对话框 + 快速回填熔断ch11 微压缩新增延迟压缩策略和用户确认 UI

中影响变化

变化影响章节详情
staleReadFileStateHintch09-ch10 上下文管理工具执行期间文件 mtime 变化检测
Ultraplan 远程多代理规划ch20 Agent 集群CCR 远程会话 + Opus 4.6 + 30min 超时
子代理增强ch20-ch21 多代理/Effort回合限制、精简 schema、成本引导

低影响变化

变化影响章节
hook_output_persisted + pre_tool_hook_deferredch19 Hooks
memory_toggled + extract_memories_skipped_no_prosech12 Token 预算
rate_limit_lever_hintch06 提示词行为引导
bridge_client_presence_enabledch22 技能系统
+8/-3 环境变量附录 B

v2.1.91 新功能详解

以下三个功能在 v2.1.88 源码中完全不存在,是 v2.1.91 新增的。分析基于 v2.1.91 bundle 逆向。

1. Powerup Lessons — 交互式功能教程系统

事件tengu_powerup_lesson_openedtengu_powerup_lesson_completed

v2.1.88 状态:不存在。restored-src/src/ 中无任何 powerup 或 lesson 相关代码。

v2.1.91 逆向发现

Powerup Lessons 是一个内置的交互式教程系统,包含 10 个课程模块,教用户如何使用 Claude Code 的核心功能。从 bundle 中提取到完整的课程注册表:

课程 ID标题涉及功能
at-mentionsTalk to your codebase@ 文件引用、行号引用
modesSteer with modesShift+Tab 模式切换、plan、auto
undoUndo anything/rewind、Esc-Esc
backgroundRun in the background后台任务、/tasks
memoryTeach Claude your rulesCLAUDE.md、/memory/init
mcpExtend with toolsMCP 服务器、/mcp
automateAutomate your workflowSkills、Hooks、/hooks
subagentsMultiply yourself子代理、/agents--worktree
cross-deviceCode from anywhere/remote-control/teleport
model-dialDial the model/model/effort/fast

技术实现(从 bundle 逆向):

// 课程打开事件
logEvent("tengu_powerup_lesson_opened", {
  lesson_id: lesson.id,           // 课程 ID
  was_already_unlocked: unlocked.has(lesson.id),  // 是否已解锁
  unlocked_count: unlocked.size   // 已解锁总数
})

// 课程完成事件
logEvent("tengu_powerup_lesson_completed", {
  lesson_id: id,
  unlocked_count: newUnlocked.size,
  all_unlocked: newUnlocked.size === lessons.length  // 是否全部完成
})

解锁状态通过 powerupsUnlocked 持久化到用户配置中。每个课程包含标题、标语(tagline)、富文本内容(含终端动画演示),UI 使用 ✓/○ 标记完成状态,全部完成后触发"彩蛋"动画。

本书关联:Powerup Lessons 的 10 个课程模块几乎覆盖了本书第二到六篇的所有核心主题——从权限模式(ch16-17)到子代理(ch20)到 MCP(ch22)。它是 Anthropic 官方对"用户应该掌握哪些功能"的优先级排序,可作为本书"用户能做什么"小节的参考。


2. Write Append Mode — 文件追加写入

事件tengu_write_append_used

v2.1.88 状态:不存在。v2.1.88 的 Write 工具只支持 overwrite(完整覆盖)模式。

v2.1.91 逆向发现

Write 工具的 inputSchema 新增了 mode 参数:

// v2.1.91 bundle 逆向
inputSchema: {
  file_path: string,
  content: string,
  mode: "overwrite" | "append"  // v2.1.91 新增
}

mode 参数描述(从 bundle 提取):

Write mode. 'overwrite' (default) replaces the file. Use 'append' to add content to the end of an existing file instead of rewriting the full content — e.g. for logs, accumulating output, or adding entries to a list.

Feature Gate:append mode 受 GrowthBook flag tengu_maple_forge_w8k 控制。当 flag 关闭时,schema 中的 mode 字段被 .omit() 移除,模型看不到该参数。

// v2.1.91 bundle 逆向
function getWriteSchema() {
  return getFeatureValue("tengu_maple_forge_w8k", false)
    ? fullSchema()           // 包含 mode 参数
    : fullSchema().omit({ mode: true })  // 隐藏 mode 参数
}

本书关联:影响 ch02(工具系统概览)和 ch08(工具提示词)。v2.1.88 中 Write 工具的提示词明确说"This tool will overwrite the existing file"——v2.1.91 的 append 模式改变了这个约束,模型现在可以选择追加而非覆盖。


3. Message Rating — 消息评分反馈

事件tengu_message_rated

v2.1.88 状态:不存在。v2.1.88 有 tengu_feedback_survey_* 系列事件(会话级反馈),但没有消息级别的评分。

v2.1.91 逆向发现

Message Rating 是一个消息级别的用户反馈机制,允许用户对单条 Claude 回复进行评分。从 bundle 逆向提取到的实现:

// v2.1.91 bundle 逆向
function rateMessage(messageUuid, sentiment) {
  const wasAlreadyRated = ratings.get(messageUuid) === sentiment
  // 再次点击同一评分 → 清除(toggle 行为)
  if (wasAlreadyRated) {
    ratings.delete(messageUuid)
  } else {
    ratings.set(messageUuid, sentiment)
  }

  logEvent("tengu_message_rated", {
    message_uuid: messageUuid,  // 消息唯一 ID
    sentiment: sentiment,       // 评分方向(如 thumbs_up/thumbs_down)
    cleared: wasAlreadyRated    // 是否为取消评分
  })

  // 评分后显示感谢通知
  if (!wasAlreadyRated) {
    addNotification({
      key: "message-rated",
      text: "thanks for improving claude!",
      color: "success",
      priority: "immediate"
    })
  }
}

UI 机制

  • 通过 React Context(MessageRatingProvider)在消息列表中注入评分功能
  • 评分状态以 Map<messageUuid, sentiment> 存储在内存中
  • 支持 toggle——再次点击同一评分会清除
  • 评分后弹出绿色通知"thanks for improving claude!"

本书关联:与 ch29(可观测性工程)相关。v2.1.88 的反馈系统是会话级的(tengu_feedback_survey_*),v2.1.91 新增消息级评分,将反馈粒度从"整个会话好不好"细化到"这条回复好不好"。这为 Anthropic 的 RLHF(人类反馈强化学习)提供了更细粒度的训练信号。


实验代码名事件

以下带随机代码名的事件属于 A/B 测试,用途未公开:

事件备注
tengu_garnet_plover未知实验
tengu_gleaming_fair未知实验
tengu_gypsum_kite未知实验
tengu_slate_finch未知实验
tengu_slate_reef未知实验
tengu_willow_prism未知实验
tengu_maple_forge_w与 Write Append mode 的 feature gate tengu_maple_forge_w8k 相关
tengu_lean_sub_pf可能与子代理精简 schema 相关
tengu_sub_nomdrep_q可能与子代理行为相关
tengu_noreread_q可能与 tengu_file_read_reread 文件重读跳过相关

v2.1.91 → v2.1.92(增量变化)

基于 v2.1.91 与 v2.1.92 bundle 信号差异提取。完整对比报告见 docs/version-diffs/v2.1.88-vs-v2.1.92.md

概览

指标v2.1.91v2.1.92增量
cli.js 大小12.5MB12.6MB+59KB
Tengu 事件860857+19 / -21(净 -3)
环境变量183186+3
seccomp 二进制arm64 + x64新增

关键新增

子系统新增信号影响章节分析
工具advisor_command, advisor_dialog_shown + 10 个 advisor_* 标识符ch04全新 AdvisorTool——第一个非执行类工具,有独立模型调用链
工具tool_result_dedupch04工具结果去重,与 v2.1.91 的 file_read_reread 构成输入/输出双侧去重
安全vendor/seccomp/{arm64,x64}/apply-seccompch16系统层 seccomp 沙箱,替代 v2.1.91 移除的 tree-sitter 应用层分析
Hookstop_hook_added, stop_hook_command, stop_hook_removedch18Stop Hook 运行时动态添加/移除——Hook 系统首次支持运行时管理
认证bedrock_setup_started/complete/cancelled, oauth_bedrock_wizard_launchedch05AWS Bedrock 引导式设置向导
认证oauth_platform_docs_openedch05OAuth 流程中打开平台文档
工具bash_rerun_usedch04Bash 命令重跑功能
模型rate_limit_options_menu_select_team限速时的 Team 选项

关键移除

移除信号分析
session_tagged, tag_command_*(5 个)Session 标签系统被完全移除
sm_compact旧压缩事件被清理(v2.1.91 已引入 cold_compact 替代)
skill_improvement_survey技能改进调查结束
pid_based_version_lockingPID 版本锁机制移除
compact_streaming_retry压缩流式重试被清理
ultraplan_modelUltraplan 模型事件重构
6 个随机代码名实验事件旧 A/B 测试结束(cobalt_frost, copper_bridge 等)

新增环境变量

变量用途
CLAUDE_CODE_EXECPATH可执行文件路径
CLAUDE_CODE_SIMULATE_PROXY_USAGE代理使用模拟(测试用)
CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK跳过 Fast Mode 组织级检查

设计趋势

v2.1.91→v2.1.92 的增量较小但方向明确:

  1. 安全策略从应用层下沉到系统层(tree-sitter → seccomp)
  2. 工具体系从纯执行扩展到建议(AdvisorTool)
  3. 配置管理从纯静态走向运行时可变(Stop Hook 动态管理)
  4. 企业接入门槛持续降低(Bedrock 向导化)

使用 scripts/cc-version-diff.sh 生成差异数据,docs/anchor-points.md 提供子系统锚点定位


v2.1.92 → v2.1.100

概览:cli.js +870KB (+6.9%) | Tengu 事件 +45/-21(净 +24)| 环境变量 +8/-2 | 新增 audio-capture vendor

高影响变化

变化影响章节详情
Dream 系统成熟化ch24 记忆系统kairos_dream 定时调度 + auto_dream_skipped 可观测性 + dream_invoked 手动触发追踪
Bedrock/Vertex 完整向导ch06b API 通信层18 个事件覆盖设置、探测、升级完整生命周期
Tool Result Dedupch10 文件状态保留工具结果去重,短 ID 引用节省上下文
Bridge REPL 事件大规模清理ch06b API 通信层16 个 bridge_repl_* 事件移除(少量残留引用),暗示 IDE 桥接通信机制重构
toolStats 统计字段ch24 记忆系统sdk-tools.d.ts 新增 7 维度工具使用统计

中影响变化

变化影响章节详情
Advisor 工具ch21 Effort/Thinking服务端强模型审阅工具,feature gate advisor-tool-2026-03-01
Autofix PRch20c Ultraplan远程会话自动修复 PR,与 ultraplan/ultrareview 并列
Team Onboardingch20b Teams使用报告生成 + 入门引导发现
Mantle 认证后端ch06b API 通信层, 附录 G第五种 API 认证通道
冷压缩增强ch09 自动压缩Feature Flag 驱动 + MAX_CONTEXT_TOKENS 覆盖

低影响变化

变化影响章节
hook_prompt_transcript_truncated + stop_hook 生命周期ch18 Hooks
Perforce 版本控制支持 (CLAUDE_CODE_PERFORCE_MODE)ch04 工具
audio-capture vendor 二进制(6 平台)潜在新功能
image_resize — 图片自动缩放ch04 工具
bash_allowlist_strip_all — bash 白名单操作ch16 权限
+8/-2 环境变量附录 B
12+ 新实验代号事件ch23 Feature Flag

v2.1.100 新功能详解

以下功能在 v2.1.92 中不存在或仅有雏形,是 v2.1.92→v2.1.100 增量新增的。

1. Kairos Dream — 后台定时记忆整合

事件tengu_kairos_dream

v2.1.92 状态:v2.1.92 已有 auto_dream/dream 手动触发,但无后台定时调度。

v2.1.100 新增

Kairos Dream 是 Dream 系统的第三种触发模式——通过 cron 调度在后台自动执行记忆整合,无需等待用户启动新会话。从 bundle 中提取到的 cron 表达式生成:

// v2.1.100 bundle 逆向
function P_A() {
  let q = Math.floor(Math.random() * 360);
  return `${q % 60} ${Math.floor(q / 60)} * * *`;
  // 随机分钟+小时偏移,避免多用户同时触发
}

配合 auto_dream_skipped 事件的 reason 字段("sessions"/"lock"),Kairos Dream 实现了完整的后台记忆整合生命周期。

本书关联:ch24 已更新 Dream 系统分析(三级触发矩阵),ch29 可观测性章节可引用 auto_dream_skipped 的跳过原因分布作为可观测性设计案例。


2. Bedrock/Vertex 模型升级向导

事件:18 个事件(Bedrock 9 个 + Vertex 9 个),结构对称

v2.1.92 状态:v2.1.92 只有 Bedrock 的 setup_started/complete/cancelled(3 个事件)。

v2.1.100 新增

完整的模型升级检测和自动切换机制。设计要点:

  1. 未固定模型检测:扫描用户配置,找出未通过环境变量显式固定的模型层级
  2. 可用性探测probeBedrockModel / probeVertexModel 验证新模型在用户账户中是否可用
  3. 用户确认:升级不自动执行,需要用户 accept/decline
  4. 持久化拒绝:declined 升级记录在用户设置中,不会反复提示
  5. 默认回退:当默认模型不可用时,自动 fallback 到同层级备选

Vertex 向导(vertex_setup_started 等)是 v2.1.100 新增的,v2.1.92 中 Vertex 无交互式设置。

本书关联:ch06b 已更新 Bedrock/Vertex 向导分析。附录 G(认证系统)可引用 Mantle 认证后端。


3. Autofix PR — 远程自动修复

事件tengu_autofix_pr_startedtengu_autofix_pr_result

v2.1.92 状态:不存在。v2.1.92 有 ultraplan 和 ultrareview,但无 autofix-pr。

v2.1.100 新增

Autofix PR 是第四种远程代理任务类型,与 remote-agentultraplanultrareview 并列在 XAY 远程任务类型注册表中。从 bundle 中提取到的工作流:

// v2.1.100 bundle 逆向
// 远程任务类型注册
XAY = ["remote-agent", "ultraplan", "ultrareview", "autofix-pr", "background-pr"];

// Autofix PR 的启动
d("tengu_autofix_pr_started", {});
// ... 创建远程会话,重用 outcome 分支
let b = await kt({
  initialMessage: h,
  source: "autofix_pr",
  branchName: P,
  reuseOutcomeBranch: P,
  title: `Autofix PR: ${k}/${R}#${v} (${P})`
});

Autofix PR 生成一个远程 Claude Code 会话,监控指定的 Pull Request 并自动修复问题(如 CI 失败、代码审查意见)。与 Ultraplan(规划)和 Ultrareview(审阅)不同,Autofix PR 聚焦于执行修复

注意 background-pr 也出现在任务类型列表中,暗示还有一种后台 PR 处理模式。

本书关联:ch20c(Ultraplan)可扩展覆盖 Autofix PR 和 background-pr。


4. Team Onboarding — 团队使用报告

事件tengu_team_onboarding_invokedtengu_team_onboarding_generatedtengu_team_onboarding_discovery_shown

v2.1.92 状态:不存在。

v2.1.100 新增

团队入门报告生成器,收集用户的使用数据(会话数、slash 命令数、MCP 服务器数),按模板生成引导文档。从 bundle 中提取的关键参数:

  • windowDays:分析窗口(1-365 天)
  • sessionCountslashCommandCountmcpServerCount:使用统计维度
  • GUIDE_TEMPLATEUSAGE_DATA:报告模板变量

cedar_inlet 实验事件控制团队入门引导的发现展示(discovery_shown),暗示这是一个 A/B 测试中的功能。


实验代码名事件

以下带随机代码名的事件属于 A/B 测试,用途未公开:

事件状态备注
tengu_amber_sentinelv2.1.100 新增
tengu_basalt_kitev2.1.100 新增
tengu_billiard_aviaryv2.1.100 新增
tengu_cedar_inletv2.1.100 新增与 Team Onboarding discovery 关联
tengu_coral_beaconv2.1.100 新增
tengu_flint_harbor / _prompt / _heronv2.1.100 新增3 个相关事件
tengu_garnet_loomv2.1.100 新增
tengu_pyrite_wrenv2.1.100 新增
tengu_shale_finchv2.1.100 新增

v2.1.92 中存在但在 v2.1.100 中移除的实验:amber_lanterneditafterwrite_qpllean_sub_pfmaple_forge_wrelpath_gh


设计趋势

v2.1.92→v2.1.100 的演化方向:

  1. 记忆系统从被动到主动(auto_dream → kairos_dream 定时执行 + 可观测跳过原因)
  2. 云平台从配置到向导(手动环境变量 → 交互式设置向导 + 自动模型升级检测)
  3. IDE 桥接架构重构(bridge_repl 完全移除,16 个事件清除——转向新通信机制)
  4. 远程代理家族扩展(ultraplan/ultrareview → + autofix-pr + background-pr)
  5. 上下文优化精细化(tool_result_dedup 减少重复 + MAX_CONTEXT_TOKENS 用户可控)

使用 scripts/cc-version-diff.sh 生成差异数据,docs/anchor-points.md 提供子系统锚点定位