书籍影响分析: v2.1.88 → v2.1.91
生成时间: 2026-04-03
基于 v2.1.88 完整源码 + v2.1.91 bundle 字符串信号 + sdk-tools.d.ts 精确对比
概览
| 指标 | v2.1.88 | v2.1.91 |
|---|---|---|
| cli.js | 12.4MB | 12.5MB (+115KB) |
| Source Map | 有 | 已移除 |
| Tengu 事件 | 827 | 860 (+39 / -6) |
| 环境变量 | 178 | 183 (+8 / -3) |
| GrowthBook 配置 | 17 | 18 (+1) |
| sdk-tools.d.ts | 基线 | +1 字段, +1 mode 值 |
需要更新的章节
| 章节 | 影响级别 | 变化摘要 | 建议操作 |
|---|---|---|---|
| ch16-18 权限系统 | 高 | sdk-tools.d.ts 新增 "auto" 权限模式 | 将 auto mode 作为正式权限策略文档化;补充 TRANSCRIPT_CLASSIFIER 分类器自动审批机制 |
| ch16 Bash 安全 | 高 | 移除 tree-sitter WASM AST 解析器(3 个事件 + 1 个环境变量移除) | 更新 bash 安全管道描述:从 AST 分析退回到 JS regex/shell-quote 方案;记录 CC-643 性能问题(REPL freeze)作为决策原因 |
| ch11 自动压缩 | 高 | 新增 cold_compact + rapid_refill_breaker + autocompact_command + autocompact_dialog_opened | 新增"冷压缩"策略说明(区别于热压缩);补充压缩对话框 UX(用户确认机制);记录快速回填熔断器 |
| ch09-10 上下文管理 | 中 | sdk-tools.d.ts 新增 staleReadFileStateHint 字段 | 补充文件状态跟踪:工具执行期间 mtime 变化检测 → 模型收到陈旧读取提示 |
| ch20 计划模式 | 中 | 新增 ultraplan_* 5 个事件(config/keyword/prompt_identifier/stopped/timeout_seconds) | 补充 Ultraplan 远程多代理规划模式:Opus 4.6 模型、30 分钟超时、CCR 远程会话、关键字触发 |
| ch21 多代理 | 中 | 新增 forked_agent_default_turns_exceeded + subagent_lean_schema_applied + subagent_md_report_blocked + mcp_subagent_prompt | 补充代理回合限制、精简 schema 模式、子代理 CLAUDE.md 报告阻断机制 |
| ch04 工具系统 | 中 | sdk-tools.d.ts 工具结果元数据扩展 | 更新工具输出结构文档,增加 hint 字段说明 |
| ch19 钩子系统 | 低 | 新增 hook_output_persisted + pre_tool_hook_deferred | 补充钩子输出持久化和前置钩子延迟执行 |
| ch12 记忆系统 | 低 | 新增 memory_toggled + extract_memories_skipped_no_prose | 补充记忆开关事件和无散文跳过逻辑 |
| ch06 API/流式 | 低 | 新增 rate_limit_lever_hint | 补充限速杠杆提示信号 |
| ch22 IDE/桥接 | 低 | 新增 bridge_client_presence_enabled | 补充客户端存在检测 |
| 附录 B 环境变量 | 低 | +8 新增 / -3 移除 | 更新环境变量索引表 |
高影响变化详细分析
1. Tree-Sitter 安全基础设施移除
移除的信号:
tengu_tree_sitter_load— WASM 模块加载事件tengu_tree_sitter_security_divergence— AST vs regex 解析分歧检测tengu_tree_sitter_shadow— 影子模式测试tengu_bash_security_check_triggered— 23 种安全检查类型CLAUDE_CODE_DISABLE_COMMAND_INJECTION_CHECK— 注入检查禁用开关
v2.1.88 源码证据:
restored-src/src/utils/bash/treeSitterAnalysis.ts(507 行)— AST 级 bash 安全分析restored-src/src/utils/bash/parser.ts(136 行)— WASM 模块加载restored-src/src/tools/BashTool/bashPermissions.ts:1700-1738— 影子模式测试逻辑restored-src/src/tools/BashTool/bashSecurity.ts:76-101— 23 种检查类型 ID
移除原因推断(基于源码注释 CC-643):
复杂复合命令触发 splitCommand 产生指数级子命令数组,每个子命令执行 tree-sitter 解析 + 约 20 个验证器 + logEvent,导致微任务链饿死事件循环 — REPL 100% CPU 冻结。
对书的影响:ch16 需要将 bash 安全分析从"AST 级分析"修改为"regex/shell-quote 方案",并记录 tree-sitter 被移除的工程权衡。
2. 冷压缩(Cold Compact)
新增信号:
tengu_cold_compact— 冷压缩触发tengu_auto_compact_rapid_refill_breaker— 快速回填熔断器tengu_autocompact_command— 用户手动触发的/compacttengu_autocompact_dialog_opened— 压缩确认对话框
v2.1.88 架构参考:
restored-src/src/services/compact/autoCompact.ts:72-91— 阈值计算AUTOCOMPACT_BUFFER_TOKENS = 13,000MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3
restored-src/src/services/compact/compact.ts:650— 核心压缩事件
推断:
- v2.1.88 只有"热压缩"(紧急、上下文将满时自动触发)
- v2.1.91 新增"冷压缩"(延迟、上下文接近满但未到阻塞点时触发)
- 新增对话框 UI 提升透明度:用户可看到压缩即将发生
- 快速回填熔断器解决:压缩后上下文迅速回满导致循环压缩的边缘情况
3. Auto 权限模式正式化
sdk-tools.d.ts 变化:
diff
- mode?: "acceptEdits" | "bypassPermissions" | "default" | "dontAsk" | "plan";
+ mode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan";v2.1.88 源码证据:
restored-src/src/migrations/resetAutoModeOptInForDefaultOffer.ts— 迁移逻辑restored-src/src/tools/shared/spawnMultiAgent.ts:227-230— 子代理继承 auto 模式restored-src/src/tools/BashTool/bashPermissions.ts:1467— 分类器行为
含义:auto 模式在 v2.1.88 中已存在于内部代码但未公开到 SDK 接口。v2.1.91 将其正式化为公开 API 的一部分,允许 SDK 用户使用 ML 分类器自动审批安全工具调用。
4. Ultraplan 远程多代理规划
新增信号(v2.1.91 新增 5 个,v2.1.88 源码中已有 6 个):
- 新:
tengu_ultraplan_config/keyword/prompt_identifier/stopped/timeout_seconds - 已有:
tengu_ultraplan_launched/approved/failed/awaiting_input/create_failed
v2.1.88 源码证据:
restored-src/src/commands/ultraplan.tsx(470 行)— 主编排restored-src/src/utils/ultraplan/ccrSession.ts— 轮询状态机restored-src/src/utils/ultraplan/keyword.ts— 关键字触发检测
架构特征:
- 运行在 CCR(Claude Code on the web)远程会话中
- 使用 Opus 4.6 模型(无论用户当前配置什么模型)
- 30 分钟超时(
ULTRAPLAN_TIMEOUT_MS = 30 * 60 * 1000) - 轮询间隔 3 秒(
POLL_INTERVAL_MS = 3000) - 最大连续失败 5 次后硬停止
- 用户终端在规划期间保持可用
可能需要新章节/新节的功能
| 功能 | 事件数 | 建议处理 |
|---|---|---|
| Powerup Lessons(学习教程系统) | 2 个新事件 | v2.1.88 源码中不存在,是全新 UX 功能。建议放入 ch25-29 经验教训篇或附录,非核心架构变化 |
| Ultraplan 远程规划 | 11 个事件(6 旧 + 5 新) | v2.1.88 源码中已有完整实现。建议在 ch20(计划模式)中新增专门小节 |
| Plugin/Marketplace 系统 | 新增 CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE | 已有 plugin 事件体系。可在 ch23(技能系统)中补充 |
无需更新的章节
以下章节的核心架构在 v2.1.91 中无对应信号变化:
- ch01-03(架构基础、启动流程、Agent Loop 主循环)
- ch05(认证流程核心)
- ch07-08(提示工程、系统提示词构造)
- ch13-15(提示词缓存核心机制)
- ch24(后台任务/Kairos — 无新信号)
实验代码名事件(影响级别:低)
以下是带随机代码名的新事件,属于 A/B 测试:
| 事件 | 推测用途 |
|---|---|
tengu_garnet_plover | 未知实验 |
tengu_gleaming_fair | 未知实验 |
tengu_gypsum_kite | 未知实验 |
tengu_slate_finch | 未知实验 |
tengu_slate_reef | 未知实验 |
tengu_willow_prism | 未知实验 |
tengu_maple_forge_w | 未知实验 |
tengu_lean_sub_pf | 可能与子代理精简 schema 相关 |
tengu_sub_nomdrep_q | 可能与子代理行为相关 |
tengu_noreread_q | 可能与文件重读跳过相关 |
由 version-track 工作流生成