From 8d0fc186c29f8e74775409dacd9f73fbd4381a36 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 4 Apr 2026 17:00:54 +0800 Subject: [PATCH] fix: renumber all 105 items sequentially within each file P0-P1: 1-29, P2: 30-94, P3: 95-105. Previously items 88-105 were appended with non-sequential numbers. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../qwen-code-improvement-report-p0-p1.md | 24 +- .../qwen-code-improvement-report-p2.md | 262 +++++++++--------- .../qwen-code-improvement-report-p3.md | 44 +-- .../qwen-code-improvement-report.md | 164 +++++------ 4 files changed, 247 insertions(+), 247 deletions(-) diff --git a/docs/comparison/qwen-code-improvement-report-p0-p1.md b/docs/comparison/qwen-code-improvement-report-p0-p1.md index 9a2f0529..47d005d2 100644 --- a/docs/comparison/qwen-code-improvement-report-p0-p1.md +++ b/docs/comparison/qwen-code-improvement-report-p0-p1.md @@ -530,9 +530,9 @@ --- - + -### 88. 流式工具执行流水线(P1) +### 24. 流式工具执行流水线(P1) **思路**:API 流式返回 tool_use block 时,**不等完整响应结束**就立即开始执行已完成解析的工具。StreamingToolExecutor 维护有序队列:工具按到达顺序入队,并发安全的立即启动,结果按入队顺序出队。进度消息(pendingProgress)实时流出,不等工具完成。与 item-7(智能工具并行)互补——item-7 解决"哪些工具可以并行",本项解决"何时开始执行"。 @@ -552,9 +552,9 @@ --- - + -### 91. 文件读取缓存 + 批量并行 I/O(P1) +### 25. 文件读取缓存 + 批量并行 I/O(P1) **思路**:3 层优化——① FileReadCache:1000 条 LRU 缓存,mtime 自动失效,Edit 后立即命中缓存无需重新读取;② 批量并行读取:32 个文件一批 `Promise.all(batch.map(readFile))`;③ 并行 stat:`Promise.all(filePaths.map(lstat))` 同时检测多文件修改时间。 @@ -575,9 +575,9 @@ --- - + -### 93. 记忆/附件异步预取(P1) +### 26. 记忆/附件异步预取(P1) **思路**:用户消息到达时,**不等工具执行完**就立即启动相关记忆搜索(异步 prefetch handle)。工具执行期间记忆搜索并行进行,工具完成后如果搜索已 settle 则注入结果,否则下一轮重试。Skill 发现同理——检测到"写操作转折点"时异步预取相关 skill。 @@ -597,9 +597,9 @@ --- - + -### 94. Token Budget 续行与自动交接(P1) +### 27. Token Budget 续行与自动交接(P1) **思路**:长任务不因 `max_tokens` 截断而丢失进度。BudgetTracker 追踪每轮 token 增量:① 未达 90% 预算 → 注入续行提示让模型继续;② 连续 3 次增量 < 500 tokens → 检测为"收益递减",停止续行;③ 停止后触发 auto-compact 链(microcompact → session memory compact → full compact)。整个过程用户无感知。 @@ -620,9 +620,9 @@ --- - + -### 99. 同步 I/O 异步化 — 事件循环解阻塞(P1) +### 28. 同步 I/O 异步化 — 事件循环解阻塞(P1) **思路**:将热路径上的 `readFileSync`/`statSync`/`writeFileSync` 替换为 async 版本,防止阻塞 Node.js 事件循环。同步 I/O 在主线程执行时会冻结 UI 渲染和键盘输入处理——文件越大、磁盘越慢影响越大。 @@ -648,9 +648,9 @@ --- - + -### 100. Prompt Cache 分段与工具稳定排序(P1) +### 29. Prompt Cache 分段与工具稳定排序(P1) **思路**:系统提示拆分为 static(全局缓存)+ dynamic(每次重算)两段,用 `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` 标记分界。内置工具保持稳定的连续前缀排序(MCP/动态工具追加在后),服务端在前缀后插入 cache breakpoint。工具 schema 锁定在首次渲染时(`toolSchemaCache`),防止 GrowthBook 特性开关翻转导致 11K-token schema 变化破坏缓存。 diff --git a/docs/comparison/qwen-code-improvement-report-p2.md b/docs/comparison/qwen-code-improvement-report-p2.md index 3c26f576..90d483e3 100644 --- a/docs/comparison/qwen-code-improvement-report-p2.md +++ b/docs/comparison/qwen-code-improvement-report-p2.md @@ -6,9 +6,9 @@ --- - + -### 24. Shell 安全增强(P2) +### 30. Shell 安全增强(P2) **思路**:在 AST 读写分类基础上,补充专项检查——IFS 注入、Unicode 空白、Zsh 危险命令、花括号展开等。AST 是主路径(精确),专项检查是补充(覆盖面)。 @@ -29,9 +29,9 @@ --- - + -### 25. MDM 企业策略(P2) +### 31. MDM 企业策略(P2) **思路**:通过 OS-native 方式读取企业策略——macOS plist、Windows Registry、Linux 文件。5 级 First-Source-Wins 优先级(Remote > HKLM > file > drop-in > HKCU)。启动时子进程并行读取避免阻塞。 @@ -53,9 +53,9 @@ --- - + -### 26. API 实时 Token 计数(P2) +### 32. API 实时 Token 计数(P2) **思路**:3 层回退——API `countTokens()` → Haiku 小模型回退 → 粗估(4 bytes/token)。每次 API 调用前精确计数,比静态模式匹配更准确。 @@ -76,9 +76,9 @@ --- - + -### 27. Output Styles(P2) +### 33. Output Styles(P2) **思路**:内置 Learning(暂停要求用户写代码,插入 `TODO(human)` 占位符)和 Explanatory(添加 "Insight" 教育块)两种模式。通过 settings 或 plugin 可扩展自定义 style。 @@ -99,9 +99,9 @@ --- - + -### 28. Fast Mode(P2) +### 34. Fast Mode(P2) **思路**:同一模型(如 Opus 4.6)的标准/快速推理切换。快速模式 $30/$150/Mtok(标准 $5/$25)。含冷却机制——429 后自动回退到标准,冷却结束恢复。 @@ -122,9 +122,9 @@ --- - + -### 29. Computer Use 桌面自动化(P2) +### 35. Computer Use 桌面自动化(P2) **思路**:通过 MCP Server 桥接原生模块——截图(SCContentFilter)、鼠标/键盘(Rust enigo NAPI)、剪贴板操作。TCC 权限门控 + GrowthBook 特性开关 + 订阅检查。 @@ -146,9 +146,9 @@ --- - + -### 30. Denial Tracking(P2) +### 36. Denial Tracking(P2) **思路**:记录权限分类器的连续拒绝/成功次数(`maxConsecutive: 3`, `maxTotal: 20`)。超限时自动回退到 prompting 模式,避免分类器陷入"全拒绝"死循环。 @@ -166,9 +166,9 @@ --- - + -### 31. 并发 Session 管理(P2) +### 37. 并发 Session 管理(P2) **思路**:PID 文件(`~/.claude/sessions/{pid}.json`)追踪多终端会话——记录 kind(interactive/bg/daemon)、cwd、startedAt。`countConcurrentSessions()` 扫描并过滤已退出进程。 @@ -188,9 +188,9 @@ --- - + -### 32. Git Diff 统计(P2) +### 38. Git Diff 统计(P2) **思路**:两阶段 diff——`git diff --numstat` 快速探测(文件数 + 行数),再 `git diff` 完整 hunks。限制:50 文件、1MB/文件、400 行/文件。merge/rebase 期间跳过。 @@ -210,9 +210,9 @@ --- - + -### 33. 文件历史快照(P2) +### 39. 文件历史快照(P2) **思路**:编辑前自动备份(SHA256 + mtime),按消息粒度创建快照(上限 100 个/session)。支持回滚到任意消息时刻——比 git checkpoint 更细粒度。 @@ -232,9 +232,9 @@ --- - + -### 34. Deep Link 协议(P2) +### 40. Deep Link 协议(P2) **思路**:`claude-cli://open?q=&cwd=&repo=` URI scheme——OS 协议注册(macOS .app / Linux .desktop / Windows Registry)→ 终端自动检测(10+ 终端优先级链)→ 预填充 prompt。安全:来源 banner + 手动 Enter 确认。 @@ -256,9 +256,9 @@ --- - + -### 35. Plan 模式 Interview(P2) +### 41. Plan 模式 Interview(P2) **思路**:`EnterPlanMode` 支持 interview 阶段——先通过提问收集需求信息,再制定实施计划。分离"探索"和"执行",减少返工。 @@ -277,9 +277,9 @@ --- - + -### 36. BriefTool(P2) +### 42. BriefTool(P2) **思路**:Agent 向用户发送异步状态消息(含附件),不中断工具执行。用于 proactive status 更新——"已完成 3/5 个文件修改"。 @@ -297,9 +297,9 @@ --- - + -### 37. SendMessageTool(P2) +### 43. SendMessageTool(P2) **思路**:多代理间消息传递——单播(name)、广播(`*`)、UDS Socket、Remote Control bridge。支持结构化消息(shutdown_request、plan_approval)。 @@ -320,9 +320,9 @@ --- - + -### 38. FileIndex(P2) +### 44. FileIndex(P2) **思路**:fzf 风格模糊文件搜索——异步增量索引 + nucleo 风格匹配。不需精确文件名即可定位。 @@ -340,9 +340,9 @@ --- - + -### 39. Notebook Edit(P2) +### 45. Notebook Edit(P2) **思路**:Jupyter `.ipynb` 文件的 cell 级编辑——插入/修改 code/markdown cell,自动追踪 cell ID,集成文件历史快照。 @@ -360,9 +360,9 @@ --- - + -### 40. 自定义快捷键(P2) +### 46. 自定义快捷键(P2) **思路**:支持 multi-chord 组合键(如 `Ctrl+K Ctrl+S`)+ 跨平台适配(Windows VT mode 检测)+ `~/.claude/keybindings.json` 自定义。Reserved keys(Ctrl+C/D)不可重绑。 @@ -380,9 +380,9 @@ --- - + -### 41. Session Ingress Auth(P2) +### 47. Session Ingress Auth(P2) **思路**:远程会话 bearer token 认证——通过文件描述符或 well-known 文件传递 token。支持企业多用户环境下的安全 Agent 访问。 @@ -400,9 +400,9 @@ --- - + -### 42. 企业代理支持(P2) +### 48. 企业代理支持(P2) **思路**:CONNECT-to-WebSocket relay 处理企业代理环境——CA cert 链注入、NO_PROXY 白名单(RFC1918 + API + GitHub + 包注册表)。失败时 fail-open 不阻断。 @@ -421,9 +421,9 @@ --- - + -### 43. ConfigTool(P2) +### 49. ConfigTool(P2) **思路**:模型通过工具 get/set 设置(主题、模型、权限等),带 schema 验证。模型可根据任务自动调整配置。 @@ -441,9 +441,9 @@ --- - + -### 44. 终端主题检测(P2) +### 50. 终端主题检测(P2) **思路**:通过 OSC 11 查询终端背景色 + `$COLORFGBG` 环境变量回退——解析 `auto` 主题为具体 dark/light。 @@ -461,9 +461,9 @@ --- - + -### 45. 自动后台化 Agent(P2) +### 51. 自动后台化 Agent(P2) **思路**:超过阈值(GrowthBook 配置的 ms 数)的 Agent 自动转后台——不阻塞用户交互。 @@ -481,9 +481,9 @@ --- - + -### 46. 队列输入编辑(P2) +### 52. 队列输入编辑(P2) **思路**:排队中的命令在 prompt 下方可见。按 Escape 可将可编辑命令弹出到输入框重新编辑(过滤 task-notification、isMeta 等不可编辑项)。 @@ -505,9 +505,9 @@ --- - + -### 47. 状态栏紧凑布局(P2) +### 53. 状态栏紧凑布局(P2) **思路**:状态栏固定高度不随内容伸缩——"height so the footer never grows/shrinks and shifts scroll content"。最大化终端内容区域。 @@ -526,9 +526,9 @@ --- - + -### 48. Conditional Hooks(P2) +### 54. Conditional Hooks(P2) **思路**:Hook 支持 `if` 字段——使用权限规则语法过滤何时执行(如 `Bash(git:*)` 仅在 git 命令时触发)。 @@ -547,9 +547,9 @@ --- - + -### 49. Transcript Search(P2) +### 55. Transcript Search(P2) **思路**:transcript 模式下按 `/` 进入搜索,输入关键词后 `n`/`N` 在匹配项间导航。 @@ -567,9 +567,9 @@ --- - + -### 50. Bash File Watcher(P2) +### 56. Bash File Watcher(P2) **思路**:检测 formatter/linter 在 Agent 读取文件后修改了该文件——Agent 基于旧内容编辑会冲突。发出警告并建议重新 Read。 @@ -588,9 +588,9 @@ --- - + -### 51. /batch 并行操作(P2) +### 57. /batch 并行操作(P2) **思路**:编排大规模并行变更——将任务拆分为多个子任务,fork 多个 Agent 并行执行,汇总结果。 @@ -608,9 +608,9 @@ --- - + -### 52. Chrome Extension 浏览器调试(P2) +### 58. Chrome Extension 浏览器调试(P2) **思路**:Chrome 扩展通过 MCP 协议桥接——提供 `read_page`(DOM)、`read_console_messages`(Console)、`read_network_requests`(Network)、`navigate`、`switch_browser` 工具。通过 `/web-setup` 配置。 @@ -629,9 +629,9 @@ --- - + -### 53. /effort 命令(P2) +### 59. /effort 命令(P2) **思路**:动态设置模型 effort 级别(低 ○ / 中 ◐ / 高 ●)——影响推理深度和 token 消耗。显示在 prompt bar 和 spinner 上。 @@ -650,9 +650,9 @@ --- - + -### 54. Status Line 自定义(P2) +### 60. Status Line 自定义(P2) **思路**:用户配置 shell 脚本在状态栏展示自定义信息(如 rate limit 用量、git branch、构建状态)。脚本定期执行,输出显示在 footer。 @@ -671,9 +671,9 @@ --- - + -### 55. 终端渲染优化(P2) +### 61. 终端渲染优化(P2) **思路**:Claude Code 定制了 Ink 渲染引擎(`ink/` 目录 ~7,000 行),实现 8 层防闪烁机制。Qwen Code 使用标准 Ink 库仅有消息拆分一种防闪烁手段。核心技术:DEC 2026 同步输出(BSU/ESU 包裹所有输出,终端原子渲染)+ cell-level 差分(仅写变化的 cell)+ 双缓冲(frontFrame/backFrame swap)。 @@ -699,9 +699,9 @@ --- - + -### 56. Image [Image #N] Chips(P2) +### 62. Image [Image #N] Chips(P2) **思路**:粘贴图片后在输入框生成 `[Image #1]`、`[Image #2]` 位置标记——用户可在 prompt 中引用特定图片("修复 [Image #1] 中的 bug")。 @@ -719,9 +719,9 @@ --- - + -### 57. --max-turns 限制(P2) +### 63. --max-turns 限制(P2) **思路**:headless 模式 `--max-turns N` 限制最大 agentic turn 数——防止无限循环,CI 精确控制执行范围。 @@ -740,9 +740,9 @@ --- - + -### 58. --max-budget-usd 花费上限(P2) +### 64. --max-budget-usd 花费上限(P2) **思路**:headless 模式 `--max-budget-usd N` 限制 USD 花费——累计超过阈值自动停止。防止意外高消耗。 @@ -761,9 +761,9 @@ --- - + -### 59. Connectors 托管式 MCP(P2) +### 65. Connectors 托管式 MCP(P2) **思路**:托管式 MCP 连接——OAuth 认证的 GitHub/Slack/Linear/Google Drive 等连接器。处理 token 刷新、401 重试、连接器去重(本地优先)。 @@ -781,9 +781,9 @@ --- - + -### 60. MCP Auto-Reconnect(P2) +### 66. MCP Auto-Reconnect(P2) **思路**:MCP 服务器连接不稳定(网络抖动、服务重启)时自动重连——连续 3 次错误后关闭连接并重建。SSE 传输层内置重连(maxRetries: 2),session 过期(404)时自动刷新。 @@ -802,9 +802,9 @@ --- - + -### 61. Tool Result 大小限制(P2) +### 67. Tool Result 大小限制(P2) **思路**:每个工具定义 `maxResultSizeChars`(如 100K 字符)。超限结果持久化到磁盘文件,模型收到预览 + 文件路径而非完整内容——防止单个巨大工具结果占满上下文。 @@ -823,9 +823,9 @@ --- - + -### 62. Output Token 升级重试(P2) +### 68. Output Token 升级重试(P2) **思路**:首次请求用保守的 `max_output_tokens = 8_000`(BQ p99 仅 4911 tokens)。如果 `stop_reason === 'max_tokens'`,自动用 `64_000` 重试一次——避免默认预留过多槽位。 @@ -844,9 +844,9 @@ --- - + -### 63. Ripgrep 三级回退(P2) +### 69. Ripgrep 三级回退(P2) **思路**:Grep 工具解析 `rg` 二进制通过三级回退:系统安装 → Bun 内嵌 → 平台特定 vendored 二进制。EAGAIN 错误(资源不足)时自动用 `-j 1`(单线程)重试。 @@ -864,9 +864,9 @@ --- - + -### 64. MAGIC DOC 自更新文档(P2) +### 70. MAGIC DOC 自更新文档(P2) **思路**:标记 `# MAGIC DOC: [title]` 的 markdown 文件在 Agent 空闲时自动更新。后台 forked subagent 读取文件 + 项目上下文 → 更新内容。单文件范围限制防止越界。支持自定义 prompt(`~/.claude/magic-docs/prompt.md`)。 @@ -885,9 +885,9 @@ --- - + -### 65. 目录/文件路径补全(P2) +### 71. 目录/文件路径补全(P2) **思路**:输入含 `/` 或 `./` 时触发文件路径补全——扫描目录 + LRU 缓存避免重复 I/O。结合 `.gitignore` 过滤不相关文件。 @@ -905,9 +905,9 @@ --- - + -### 66. 上下文 Tips 系统(P2) +### 72. 上下文 Tips 系统(P2) **思路**:基于当前配置、IDE 类型、插件状态、session 历史等条件动态显示提示(如"检测到 VS Code,推荐安装 Claude Code 扩展")。Tips 注册表管理所有提示及其触发条件。 @@ -925,9 +925,9 @@ --- - + -### 67. 权限对话框文件预览(P2) +### 73. 权限对话框文件预览(P2) **思路**:权限审批对话框中显示将被操作的文件内容预览 + 语法高亮——用户看到具体变更内容再决定是否批准。 @@ -945,9 +945,9 @@ --- - + -### 68. Token 使用实时警告(P2) +### 74. Token 使用实时警告(P2) **思路**:在 UI 中实时显示 token 使用量、压缩进度、错误计数。不是在 `/stats` 命令中查看,而是在操作过程中自动浮现警告。 @@ -965,9 +965,9 @@ --- - + -### 69. 快捷键提示组件(P2) +### 75. 快捷键提示组件(P2) **思路**:统一的 `KeyboardShortcutHint` 组件在 UI 各处显示当前操作的快捷方式(如 "(Ctrl+O to expand)"),且会根据用户自定义 keybindings 动态更新显示。 @@ -986,9 +986,9 @@ --- - + -### 70. 终端完成通知(P2) +### 76. 终端完成通知(P2) **思路**:后台任务完成时通过 OSC 转义序列通知终端——iTerm2 notification、Kitty notification、Ghostty notification 各有专用 OSC。同时上报进度百分比,终端标签可显示进度。 @@ -1006,9 +1006,9 @@ --- - + -### 71. Spinner 工具名 + 计时(P2) +### 77. Spinner 工具名 + 计时(P2) **思路**:Spinner 不再只显示"Responding",而是显示当前执行的工具名 + 已用时间——如"Bash(npm test) · 15s"。工具名从 `spinnerVerbs.ts` 的动词表中选择友好显示。 @@ -1027,9 +1027,9 @@ --- - + -### 72. /rewind 检查点回退(P2) +### 78. /rewind 检查点回退(P2) **思路**:`/rewind` 命令恢复代码和对话到之前的检查点——结合 file history snapshots 和 git 状态。交互式检查点选择器展示每个点的变更摘要。 @@ -1048,9 +1048,9 @@ --- - + -### 73. /copy OSC 52 剪贴板(P2) +### 79. /copy OSC 52 剪贴板(P2) **思路**:`/copy` 命令通过 OSC 52 转义序列将内容写入系统剪贴板——SSH 远程环境也能工作。终端不支持 OSC 52 时自动回退到 temp 文件 + 提示路径。 @@ -1068,9 +1068,9 @@ --- - + -### 74. 首次运行引导向导(P2) +### 80. 首次运行引导向导(P2) **思路**:首次运行显示多步引导——主题选择 → 认证(OAuth/API Key)→ 安全设置 → 终端优化建议。每步有分析追踪确保完成率。 @@ -1089,9 +1089,9 @@ --- - + -### 75. /doctor 诊断工具(P2) +### 81. /doctor 诊断工具(P2) **思路**:`/doctor` 检查系统环境健康——git 版本、Node.js/Bun 版本、shell 类型、权限配置、代理设置、MCP 服务器状态。输出可操作的修复建议。 @@ -1109,9 +1109,9 @@ --- - + -### 76. 结构化 Diff 渲染(P2) +### 82. 结构化 Diff 渲染(P2) **思路**:文件编辑后展示结构化 diff——Rust NAPI 快速着色 + 行号 gutter 列 + 语法高亮。比基础 inline diff 更易读。 @@ -1130,9 +1130,9 @@ --- - + -### 89. MCP 并行连接 — 动态插槽调度 + 双层并发(P2) +### 83. MCP 并行连接 — 动态插槽调度 + 双层并发(P2) **思路**:MCP 服务器分两组并行初始化——本地(stdio/sdk,并发 3)和远程(sse/http/ws,并发 20),`Promise.all()` 同时启动两组。关键优化:用 `pMap` 动态插槽调度替代固定批次——一个慢服务器只占一个插槽,不阻塞整批。工具/命令/资源获取也并行(`Promise.all([fetchTools, fetchCommands, fetchResources])`)。LRU 缓存(20 条)避免重复获取。 @@ -1154,9 +1154,9 @@ --- - + -### 90. 插件/Skill 并行加载与启动缓存(P2) +### 84. 插件/Skill 并行加载与启动缓存(P2) **思路**:3 层并行——① marketplace 插件 + session 插件 `Promise.all()` 并行加载;② 每个插件内部 commands/agents/hooks 目录存在检查 `Promise.all([pathExists(commandsDir), pathExists(agentsDir), pathExists(hooksDir)])`;③ 加载结果缓存,热重载时仅增量更新变更的插件。 @@ -1176,9 +1176,9 @@ --- - + -### 92. Speculation 流水线建议(Pipelined Suggestions)(P2) +### 85. Speculation 流水线建议(Pipelined Suggestions)(P2) **思路**:当前 speculation 执行完成后,**立即并行生成下一个建议**(pipelined suggestion)。用户接受当前建议时,下一个建议已经准备好——连续 Tab 接受零延迟。投机结果作为上下文传给下一轮建议生成,确保连贯性。 @@ -1198,9 +1198,9 @@ --- - + -### 95. 写穿缓存与 TTL 后台刷新(P2) +### 86. 写穿缓存与 TTL 后台刷新(P2) **思路**:`memoizeWithTTL` 实现 stale-while-revalidate 模式——缓存过期后**立即返回旧值**,同时后台异步刷新。防止多个并发请求同时触发刷新(`refreshing` 标志位)。用于 MCP 工具列表、Git 状态、环境检测等频繁访问但变化慢的数据。`memoizeWithLRU` 提供有界缓存(默认 100 条),防止内存无限增长。 @@ -1221,9 +1221,9 @@ --- - + -### 96. 上下文收集并行化(P2) +### 87. 上下文收集并行化(P2) **思路**:每轮对话前需收集多种上下文附件(文件内容、图片、MCP 资源、诊断信息、LSP 数据等)。Claude Code 分两阶段并行:① 用户输入附件先完成(可能触发嵌套记忆加载);② 线程附件 + 主线程附件 `Promise.all()` 并行处理,~20+ 并发计算。 @@ -1242,9 +1242,9 @@ --- - + -### 97. 输出缓冲与防阻塞渲染(P2) +### 88. 输出缓冲与防阻塞渲染(P2) **思路**:`createBufferedWriter` 在写入目标(如日志文件 appendFileSync)可能阻塞时,将输出缓冲到内存队列。溢出时用 `setImmediate` 延迟写入——当前 tick 不阻塞,保证键盘响应和渲染帧率。参数可调:`flushIntervalMs`(默认 1s)、`maxBufferSize`(默认 100 条)、`maxBufferBytes`。 @@ -1254,7 +1254,7 @@ |------|-------------| | `utils/bufferedWriter.ts` | `createBufferedWriter()`、`flushDeferred()` setImmediate 延迟、`pendingOverflow` 排序保证 | -**Qwen Code 修改方向**:`pidfile.ts` 用 `writeFileSync` 写 PID 文件;`trustedFolders.ts` 用 `readFileSync`/`writeFileSync`(已在 item-99 中列出);`shellExecutionService.ts` 输出直接推送——长输出可能阻塞渲染。改进方向:① 新建 `utils/bufferedWriter.ts`——内存缓冲 + 定时 flush + 溢出 `setImmediate`;② 同步写入热路径改用 `bufferedWriter.write()`;③ shell 输出推送改用 buffered writer(`maxBufferBytes` 限制内存占用)。 +**Qwen Code 修改方向**:`pidfile.ts` 用 `writeFileSync` 写 PID 文件;`trustedFolders.ts` 用 `readFileSync`/`writeFileSync`(已在 item-28 中列出);`shellExecutionService.ts` 输出直接推送——长输出可能阻塞渲染。改进方向:① 新建 `utils/bufferedWriter.ts`——内存缓冲 + 定时 flush + 溢出 `setImmediate`;② 同步写入热路径改用 `bufferedWriter.write()`;③ shell 输出推送改用 buffered writer(`maxBufferBytes` 限制内存占用)。 **意义**:同步写入和大量输出推送可能阻塞 Node.js 事件循环——导致 UI 卡顿和键盘无响应。 **缺失后果**:同步 I/O 在磁盘慢时阻塞主线程——用户输入延迟。 @@ -1262,9 +1262,9 @@ --- - + -### 98. LSP 服务器并行启动/关闭(P2) +### 89. LSP 服务器并行启动/关闭(P2) **思路**:多个 LSP 服务器(TypeScript、Python、Go 等)相互独立,启动和关闭可以 `Promise.all()` 并行。端口探测也可用 `Promise.race()` 并行尝试——首个成功连接即返回。 @@ -1282,9 +1282,9 @@ --- - + -### 101. 请求合并与去重(Request Coalescing)(P2) +### 90. 请求合并与去重(Request Coalescing)(P2) **思路**:高频请求场景——多个组件同时触发相同操作(如 MCP 工具列表刷新、认证检查、状态上报),合并为一次实际执行。3 种模式:① PUT 合并(1 in-flight + 1 pending,新请求合并到 pending);② 401 去重(同 token 的多个 401 只触发一次 keychain 读取);③ UUID 去重(BoundedUUIDSet 环形缓冲区 O(1) 查重)。 @@ -1305,9 +1305,9 @@ --- - + -### 102. 延迟初始化与按需加载(Lazy Init)(P2) +### 91. 延迟初始化与按需加载(Lazy Init)(P2) **思路**:3 层延迟策略——① `lazySchema()`:Zod schema 定义推迟到首次使用时构建(启动不触发 Zod);② 延迟模块导入:大模块(如 113KB insights.ts)在命令执行时 `import()` 而非启动时 `require`;③ 延迟预取(`startDeferredPrefetches`):AWS/GCP 凭证、MCP 官方 URL 等在首帧渲染后才开始。 @@ -1328,9 +1328,9 @@ --- - + -### 103. 流式超时检测与级联取消(P2) +### 92. 流式超时检测与级联取消(P2) **思路**:API 流式响应设置 90 秒空闲看门狗——收到 chunk 时重置计时器,超时则 abort stream 触发重试。工具执行层面:子 AbortController 实现级联取消——Bash 工具出错时 `siblingAbortController.abort()` 立即终止同批次的其他子进程(不终止整轮查询)。`createChildAbortController()` 用 WeakRef 防止 GC 泄漏。 @@ -1351,9 +1351,9 @@ --- - + -### 104. Git 文件系统直读避免进程 Spawn(P2) +### 93. Git 文件系统直读避免进程 Spawn(P2) **思路**:频繁的 git 状态查询(当前分支、HEAD 指向、ref 解析)不 spawn `git` 子进程,而是直接读取 `.git/HEAD` 和 `.git/refs/` 文件。`git check-ignore` 用批量路径参数代替逐文件调用。减少进程 fork 开销(每次 ~5-10ms)。 @@ -1373,9 +1373,9 @@ --- - + -### 105. 设置/Schema 缓存与 Parse 去重(P2) +### 94. 设置/Schema 缓存与 Parse 去重(P2) **思路**:3 层设置缓存——① `sessionSettingsCache`:每 session 合并后的设置(避免重复合并);② `perSourceCache`:按来源缓存(用户/项目/本地);③ `parseFileCache`:路径级去重(同一文件只读一次 + Zod parse 一次)。Schema 缓存在首次渲染时锁定快照,防止 GrowthBook 特性开关翻转导致工具定义变化(~11K tokens)。 diff --git a/docs/comparison/qwen-code-improvement-report-p3.md b/docs/comparison/qwen-code-improvement-report-p3.md index f197151c..a1c99090 100644 --- a/docs/comparison/qwen-code-improvement-report-p3.md +++ b/docs/comparison/qwen-code-improvement-report-p3.md @@ -6,9 +6,9 @@ --- - + -### 77. 动态状态栏(P3) +### 95. 动态状态栏(P3) **思路**:`AppState.statusLineText` 允许模型/工具实时更新状态文本(如"正在分析 5 个文件..."),提供执行进度可见性。 @@ -27,9 +27,9 @@ --- - + -### 78. 上下文折叠 History Snip(P3) +### 96. 上下文折叠 History Snip(P3) **思路**:`feature('HISTORY_SNIP')` 门控。**Claude Code 自身仅 scaffolding**——SnipTool 有 lazy require 占位无完整实现。已有 `collapseReadSearch.ts` 的 UI 级消息折叠(连续 read/search 合并显示)。 @@ -47,9 +47,9 @@ --- - + -### 79. 内存诊断(P3) +### 97. 内存诊断(P3) **思路**:1.5GB 阈值触发 V8 heap snapshot + Linux smaps_rollup 解析 + 内存增长率分析 → leak 建议。 @@ -67,9 +67,9 @@ --- - + -### 80. Feature Gates(P3) +### 98. Feature Gates(P3) **思路**:GrowthBook 远程特性开关——A/B 测试 + 按事件动态采样。渐进式灰度发布。 @@ -87,9 +87,9 @@ --- - + -### 81. DXT/MCPB 插件包(P3) +### 99. DXT/MCPB 插件包(P3) **思路**:`.dxt`/`.mcpb` 单文件打包 MCP 服务器 + 依赖。zip bomb 防护(512MB/文件、1GB 总量、50:1 压缩比)。 @@ -101,9 +101,9 @@ --- - + -### 82. /security-review(P3) +### 100. /security-review(P3) **思路**:基于 git diff 的安全审查命令,聚焦 OWASP Top 10 漏洞检测。 @@ -115,9 +115,9 @@ --- - + -### 83. Ultraplan 远程计划探索(P3) +### 101. Ultraplan 远程计划探索(P3) **思路**:启动远程 CCR 会话,用更强模型深度规划后回传结果。需云端执行基础设施。 @@ -129,9 +129,9 @@ --- - + -### 84. Advisor 顾问模型(P3) +### 102. Advisor 顾问模型(P3) **思路**:`/advisor` 配置副模型(如更强模型)审查主模型输出。`server_tool_use` 方式自动调用。 @@ -149,9 +149,9 @@ --- - + -### 85. Vim 完整实现(P3) +### 103. Vim 完整实现(P3) **思路**:完整 modal editing——motions + operators + text objects + transitions。4 文件结构。 @@ -171,9 +171,9 @@ --- - + -### 86. 语音模式(P3) +### 104. 语音模式(P3) **思路**:push-to-talk 语音输入 + 流式 STT 转录。快捷键可通过 `keybindings.json` 重绑。 @@ -192,9 +192,9 @@ --- - + -### 87. 插件市场(P3) +### 105. 插件市场(P3) **思路**:官方 marketplace 安装插件(hooks/commands/agents/MCP),安装状态追踪,自动更新。 diff --git a/docs/comparison/qwen-code-improvement-report.md b/docs/comparison/qwen-code-improvement-report.md index c652ec4e..60e6eb29 100644 --- a/docs/comparison/qwen-code-improvement-report.md +++ b/docs/comparison/qwen-code-improvement-report.md @@ -49,99 +49,99 @@ | **P1** | [指令条件规则](./instruction-loading-deep-dive.md) — 按文件路径匹配加载不同编码规范 [↓](./qwen-code-improvement-report-p0-p1.md#item-9) | 所有指令始终加载 | 中 | — | | **P1** | [Commit Attribution](./git-workflow-session-deep-dive.md) — git commit 中标注 AI vs 人类代码贡献比例 [↓](./qwen-code-improvement-report-p0-p1.md#item-12) | 缺失 | 小 | — | | **P1** | [会话分支](./git-workflow-session-deep-dive.md) — /branch 从任意节点 fork 对话,探索替代方案 [↓](./qwen-code-improvement-report-p0-p1.md#item-13) | 缺失 | 中 | — | -| **P2** | [Shell 安全增强](./shell-security-deep-dive.md) — IFS 注入/Unicode 空白/Zsh 命令等 25+ 专项检查 [↓](./qwen-code-improvement-report-p2.md#item-24) | AST-only 读写分类 | 中 | — | -| **P2** | [MDM 企业策略](./mdm-enterprise-deep-dive.md) — macOS plist + Windows Registry + 远程 API 集中管控 [↓](./qwen-code-improvement-report-p2.md#item-25) | 无 OS 级策略 | 大 | — | -| **P2** | [API 实时 Token 计数](./token-estimation-deep-dive.md) — 每次 API 调用前精确计数,3 层回退 [↓](./qwen-code-improvement-report-p2.md#item-26) | 静态 82 种模式匹配 | 中 | — | -| **P2** | [Output Styles](./git-workflow-session-deep-dive.md) — Learning 模式暂停让用户写代码,Explanatory 添加教育洞察 [↓](./qwen-code-improvement-report-p2.md#item-27) | 缺失 | 中 | — | -| **P2** | [Fast Mode](./cost-fastmode-deep-dive.md) — 同一模型标准/快速推理切换($5→$30/Mtok),含冷却机制 [↓](./qwen-code-improvement-report-p2.md#item-28) | 仅指定备用模型 | 小 | — | -| **P2** | [并发 Session](./cost-fastmode-deep-dive.md) — 多终端 PID 追踪 + 后台 Agent 脱附/重附 [↓](./qwen-code-improvement-report-p2.md#item-31) | 缺失 | 中 | — | -| **P2** | [Git Diff 统计](./git-workflow-session-deep-dive.md) — 编辑后 numstat + hunks 结构化 diff(50 文件/1MB 上限) [↓](./qwen-code-improvement-report-p2.md#item-32) | 无 git-aware diff | 小 | — | -| **P2** | [文件历史快照](./git-workflow-session-deep-dive.md) — per-file SHA256 备份,按消息粒度恢复(100 个/session) [↓](./qwen-code-improvement-report-p2.md#item-33) | git-level checkpoint | 中 | — | -| **P2** | [Computer Use](./computer-use-deep-dive.md) — macOS 截图 + 鼠标/键盘 + 剪贴板,通过 MCP 桥接 [↓](./qwen-code-improvement-report-p2.md#item-29) | 缺失 | 大 | — | -| **P2** | [Deep Link](./deep-link-protocol-deep-dive.md) — `claude-cli://` 一键从浏览器/IDE 启动 Agent + 预填充 prompt [↓](./qwen-code-improvement-report-p2.md#item-34) | 缺失 | 中 | — | +| **P2** | [Shell 安全增强](./shell-security-deep-dive.md) — IFS 注入/Unicode 空白/Zsh 命令等 25+ 专项检查 [↓](./qwen-code-improvement-report-p2.md#item-30) | AST-only 读写分类 | 中 | — | +| **P2** | [MDM 企业策略](./mdm-enterprise-deep-dive.md) — macOS plist + Windows Registry + 远程 API 集中管控 [↓](./qwen-code-improvement-report-p2.md#item-31) | 无 OS 级策略 | 大 | — | +| **P2** | [API 实时 Token 计数](./token-estimation-deep-dive.md) — 每次 API 调用前精确计数,3 层回退 [↓](./qwen-code-improvement-report-p2.md#item-32) | 静态 82 种模式匹配 | 中 | — | +| **P2** | [Output Styles](./git-workflow-session-deep-dive.md) — Learning 模式暂停让用户写代码,Explanatory 添加教育洞察 [↓](./qwen-code-improvement-report-p2.md#item-33) | 缺失 | 中 | — | +| **P2** | [Fast Mode](./cost-fastmode-deep-dive.md) — 同一模型标准/快速推理切换($5→$30/Mtok),含冷却机制 [↓](./qwen-code-improvement-report-p2.md#item-34) | 仅指定备用模型 | 小 | — | +| **P2** | [并发 Session](./cost-fastmode-deep-dive.md) — 多终端 PID 追踪 + 后台 Agent 脱附/重附 [↓](./qwen-code-improvement-report-p2.md#item-37) | 缺失 | 中 | — | +| **P2** | [Git Diff 统计](./git-workflow-session-deep-dive.md) — 编辑后 numstat + hunks 结构化 diff(50 文件/1MB 上限) [↓](./qwen-code-improvement-report-p2.md#item-38) | 无 git-aware diff | 小 | — | +| **P2** | [文件历史快照](./git-workflow-session-deep-dive.md) — per-file SHA256 备份,按消息粒度恢复(100 个/session) [↓](./qwen-code-improvement-report-p2.md#item-39) | git-level checkpoint | 中 | — | +| **P2** | [Computer Use](./computer-use-deep-dive.md) — macOS 截图 + 鼠标/键盘 + 剪贴板,通过 MCP 桥接 [↓](./qwen-code-improvement-report-p2.md#item-35) | 缺失 | 大 | — | +| **P2** | [Deep Link](./deep-link-protocol-deep-dive.md) — `claude-cli://` 一键从浏览器/IDE 启动 Agent + 预填充 prompt [↓](./qwen-code-improvement-report-p2.md#item-40) | 缺失 | 中 | — | | **P2** | [Team Memory](./team-memory-deep-dive.md) — 团队共享项目知识 + 29 条 gitleaks 密钥扫描 + ETag 同步 [↓](./qwen-code-improvement-report-p0-p1.md#item-10) | 缺失 | 大 | — | -| **P2** | Plan 模式 Interview — 先收集信息再制定计划,分离探索和规划阶段 [↓](./qwen-code-improvement-report-p2.md#item-35) | 无 interview 阶段 | 中 | — | -| **P2** | BriefTool — Agent 向用户发送异步消息(含附件),不中断工具执行 [↓](./qwen-code-improvement-report-p2.md#item-36) | 缺失 | 中 | — | -| **P2** | [SendMessageTool](./multi-agent-deep-dive.md) — 多代理间消息传递、shutdown 请求、plan 审批 [↓](./qwen-code-improvement-report-p2.md#item-37) | 缺失 | 中 | — | -| **P2** | FileIndex — fzf 风格模糊文件搜索 + 异步增量索引 [↓](./qwen-code-improvement-report-p2.md#item-38) | 依赖 rg/glob | 中 | — | -| **P2** | Notebook Edit — Jupyter cell 编辑 + 自动 cell ID 追踪 + 文件历史快照 [↓](./qwen-code-improvement-report-p2.md#item-39) | 缺失 | 中 | — | -| **P2** | 自定义快捷键 — multi-chord 组合键 + 跨平台适配 + `keybindings.json` 自定义 [↓](./qwen-code-improvement-report-p2.md#item-40) | 缺失 | 中 | — | -| **P2** | Session Ingress Auth — 远程会话 bearer token 认证(企业多用户环境) [↓](./qwen-code-improvement-report-p2.md#item-41) | 缺失 | 中 | — | -| **P2** | 企业代理 — CONNECT relay + CA cert 注入 + NO_PROXY 白名单(容器环境) [↓](./qwen-code-improvement-report-p2.md#item-42) | 缺失 | 大 | — | -| **P2** | ConfigTool — 模型通过工具读写设置(主题/模型/权限等),带 schema 验证 [↓](./qwen-code-improvement-report-p2.md#item-43) | 仅 /settings 命令 | 小 | — | -| **P2** | 终端主题检测 — OSC 11 查询 dark/light + COLORFGBG 环境变量回退 [↓](./qwen-code-improvement-report-p2.md#item-44) | 缺失 | 小 | — | -| **P2** | 自动后台化 Agent — 超过阈值自动转后台执行,不阻塞用户交互 [↓](./qwen-code-improvement-report-p2.md#item-45) | 需显式指定 | 小 | — | -| **P2** | Denial Tracking — 连续权限拒绝自动回退到手动确认模式,防止静默阻塞 [↓](./qwen-code-improvement-report-p2.md#item-30) | 缺失 | 小 | — | -| **P2** | [队列输入编辑](./input-queue-deep-dive.md) — 排队中的指令可通过方向键弹出到输入框重新编辑 [↓](./qwen-code-improvement-report-p2.md#item-46) | 缺失 | 小 | [PR#2871](https://github.com/QwenLM/qwen-code/pull/2871) | -| **P2** | 状态栏紧凑布局 — 固定高度不伸缩,最大化终端内容区域 [↓](./qwen-code-improvement-report-p2.md#item-47) | Footer 占用偏高 | 小 | — | +| **P2** | Plan 模式 Interview — 先收集信息再制定计划,分离探索和规划阶段 [↓](./qwen-code-improvement-report-p2.md#item-41) | 无 interview 阶段 | 中 | — | +| **P2** | BriefTool — Agent 向用户发送异步消息(含附件),不中断工具执行 [↓](./qwen-code-improvement-report-p2.md#item-42) | 缺失 | 中 | — | +| **P2** | [SendMessageTool](./multi-agent-deep-dive.md) — 多代理间消息传递、shutdown 请求、plan 审批 [↓](./qwen-code-improvement-report-p2.md#item-43) | 缺失 | 中 | — | +| **P2** | FileIndex — fzf 风格模糊文件搜索 + 异步增量索引 [↓](./qwen-code-improvement-report-p2.md#item-44) | 依赖 rg/glob | 中 | — | +| **P2** | Notebook Edit — Jupyter cell 编辑 + 自动 cell ID 追踪 + 文件历史快照 [↓](./qwen-code-improvement-report-p2.md#item-45) | 缺失 | 中 | — | +| **P2** | 自定义快捷键 — multi-chord 组合键 + 跨平台适配 + `keybindings.json` 自定义 [↓](./qwen-code-improvement-report-p2.md#item-46) | 缺失 | 中 | — | +| **P2** | Session Ingress Auth — 远程会话 bearer token 认证(企业多用户环境) [↓](./qwen-code-improvement-report-p2.md#item-47) | 缺失 | 中 | — | +| **P2** | 企业代理 — CONNECT relay + CA cert 注入 + NO_PROXY 白名单(容器环境) [↓](./qwen-code-improvement-report-p2.md#item-48) | 缺失 | 大 | — | +| **P2** | ConfigTool — 模型通过工具读写设置(主题/模型/权限等),带 schema 验证 [↓](./qwen-code-improvement-report-p2.md#item-49) | 仅 /settings 命令 | 小 | — | +| **P2** | 终端主题检测 — OSC 11 查询 dark/light + COLORFGBG 环境变量回退 [↓](./qwen-code-improvement-report-p2.md#item-50) | 缺失 | 小 | — | +| **P2** | 自动后台化 Agent — 超过阈值自动转后台执行,不阻塞用户交互 [↓](./qwen-code-improvement-report-p2.md#item-51) | 需显式指定 | 小 | — | +| **P2** | Denial Tracking — 连续权限拒绝自动回退到手动确认模式,防止静默阻塞 [↓](./qwen-code-improvement-report-p2.md#item-36) | 缺失 | 小 | — | +| **P2** | [队列输入编辑](./input-queue-deep-dive.md) — 排队中的指令可通过方向键弹出到输入框重新编辑 [↓](./qwen-code-improvement-report-p2.md#item-52) | 缺失 | 小 | [PR#2871](https://github.com/QwenLM/qwen-code/pull/2871) | +| **P2** | 状态栏紧凑布局 — 固定高度不伸缩,最大化终端内容区域 [↓](./qwen-code-improvement-report-p2.md#item-53) | Footer 占用偏高 | 小 | — | | **P1** | GitHub Actions CI — 自动 PR 审查/issue 分类 action [↓](./qwen-code-improvement-report-p0-p1.md#item-14) | 缺失 | 中 | — | | **P1** | GitHub Code Review — 多代理自动 PR review + inline 评论 [↓](./qwen-code-improvement-report-p0-p1.md#item-15) | 缺失 | 大 | — | | **P1** | HTTP Hooks — Hook 可 POST JSON 到 URL 并接收响应(不仅 shell 命令)[↓](./qwen-code-improvement-report-p0-p1.md#item-16) | 仅 shell 命令 | 小 | — | -| **P2** | Conditional Hooks — Hook `if` 字段用权限规则语法按工具/路径过滤 [↓](./qwen-code-improvement-report-p2.md#item-48) | 缺失 | 小 | — | -| **P2** | Transcript Search — 按 `/` 搜索会话记录,`n`/`N` 导航匹配项 [↓](./qwen-code-improvement-report-p2.md#item-49) | 缺失 | 小 | — | -| **P2** | Bash File Watcher — 检测 formatter/linter 修改已读文件,防止 stale-edit [↓](./qwen-code-improvement-report-p2.md#item-50) | 缺失 | 小 | — | -| **P2** | /batch 并行操作 — 编排大规模并行变更(多文件/多任务)[↓](./qwen-code-improvement-report-p2.md#item-51) | 缺失 | 中 | — | -| **P2** | Chrome Extension — 调试 live web 应用(读 DOM/Console/Network)[↓](./qwen-code-improvement-report-p2.md#item-52) | 缺失 | 中 | — | -| **P2** | MCP Auto-Reconnect — 连续 3 次错误自动重连 + SSE 断线恢复 [↓](./qwen-code-improvement-report-p2.md#item-60) | 缺失 | 小 | — | -| **P2** | Tool Result 大小限制 — 超限结果持久化到磁盘,发文件路径给模型 [↓](./qwen-code-improvement-report-p2.md#item-61) | 缺失 | 小 | — | -| **P2** | Output Token 升级重试 — 首次 8K 截断后自动 64K 重试 [↓](./qwen-code-improvement-report-p2.md#item-62) | 缺失 | 小 | — | -| **P2** | Ripgrep 三级回退 — System→Embedded→Builtin + EAGAIN 单线程重试 [↓](./qwen-code-improvement-report-p2.md#item-63) | 缺失 | 小 | — | -| **P2** | MAGIC DOC 自更新文档 — 空闲时 Agent 自动更新标记文件的内容 [↓](./qwen-code-improvement-report-p2.md#item-64) | 缺失 | 中 | — | +| **P2** | Conditional Hooks — Hook `if` 字段用权限规则语法按工具/路径过滤 [↓](./qwen-code-improvement-report-p2.md#item-54) | 缺失 | 小 | — | +| **P2** | Transcript Search — 按 `/` 搜索会话记录,`n`/`N` 导航匹配项 [↓](./qwen-code-improvement-report-p2.md#item-55) | 缺失 | 小 | — | +| **P2** | Bash File Watcher — 检测 formatter/linter 修改已读文件,防止 stale-edit [↓](./qwen-code-improvement-report-p2.md#item-56) | 缺失 | 小 | — | +| **P2** | /batch 并行操作 — 编排大规模并行变更(多文件/多任务)[↓](./qwen-code-improvement-report-p2.md#item-57) | 缺失 | 中 | — | +| **P2** | Chrome Extension — 调试 live web 应用(读 DOM/Console/Network)[↓](./qwen-code-improvement-report-p2.md#item-58) | 缺失 | 中 | — | +| **P2** | MCP Auto-Reconnect — 连续 3 次错误自动重连 + SSE 断线恢复 [↓](./qwen-code-improvement-report-p2.md#item-66) | 缺失 | 小 | — | +| **P2** | Tool Result 大小限制 — 超限结果持久化到磁盘,发文件路径给模型 [↓](./qwen-code-improvement-report-p2.md#item-67) | 缺失 | 小 | — | +| **P2** | Output Token 升级重试 — 首次 8K 截断后自动 64K 重试 [↓](./qwen-code-improvement-report-p2.md#item-68) | 缺失 | 小 | — | +| **P2** | Ripgrep 三级回退 — System→Embedded→Builtin + EAGAIN 单线程重试 [↓](./qwen-code-improvement-report-p2.md#item-69) | 缺失 | 小 | — | +| **P2** | MAGIC DOC 自更新文档 — 空闲时 Agent 自动更新标记文件的内容 [↓](./qwen-code-improvement-report-p2.md#item-70) | 缺失 | 中 | — | | **P1** | Ghost Text 输入补全 — 输入时显示命令/路径建议灰字,Tab 接受 [↓](./qwen-code-improvement-report-p0-p1.md#item-23) | 缺失 | 中 | — | -| **P2** | 目录/文件路径补全 — 输入路径时 Tab 补全 + LRU 缓存 [↓](./qwen-code-improvement-report-p2.md#item-65) | 缺失 | 小 | — | -| **P2** | 上下文 Tips 系统 — 根据配置/IDE/插件状态显示上下文相关提示 [↓](./qwen-code-improvement-report-p2.md#item-66) | 缺失 | 小 | — | -| **P2** | 权限对话框文件预览 — 审批时展示文件内容 + 语法高亮 + 上下文说明 [↓](./qwen-code-improvement-report-p2.md#item-67) | 缺失 | 中 | — | -| **P2** | Token 使用实时警告 — 显示 token 用量 + 压缩进度 + 错误计数 [↓](./qwen-code-improvement-report-p2.md#item-68) | 仅基础显示 | 小 | — | -| **P2** | 快捷键提示组件 — UI 全局统一显示当前操作的键盘快捷方式 [↓](./qwen-code-improvement-report-p2.md#item-69) | 缺失 | 小 | — | -| **P2** | 终端完成通知 — 后台任务完成时 iTerm2/Kitty/Ghostty OSC 通知 + 进度百分比 [↓](./qwen-code-improvement-report-p2.md#item-70) | 仅 bell | 小 | — | -| **P2** | Spinner 工具名 + 计时 — 显示"正在执行 Bash(npm test) · 15s"而非通用 spinner [↓](./qwen-code-improvement-report-p2.md#item-71) | 通用 Responding | 小 | — | -| **P2** | /rewind 检查点回退 — 会话内代码 + 对话恢复到之前的检查点 [↓](./qwen-code-improvement-report-p2.md#item-72) | 缺失 | 中 | — | -| **P2** | /copy OSC 52 剪贴板 — 复制代码块到剪贴板,OSC 52 + temp 文件回退 [↓](./qwen-code-improvement-report-p2.md#item-73) | 缺失 | 小 | — | -| **P2** | 首次运行引导向导 — 主题/认证/API Key/安全/终端设置多步引导 [↓](./qwen-code-improvement-report-p2.md#item-74) | 缺失 | 中 | — | -| **P2** | /doctor 诊断工具 — 系统环境检查(git/node/shell/权限/代理)[↓](./qwen-code-improvement-report-p2.md#item-75) | 缺失 | 小 | — | -| **P2** | 结构化 Diff 渲染 — Rust NAPI 快速着色 + 行号 gutter + 语法高亮 [↓](./qwen-code-improvement-report-p2.md#item-76) | 基础 inline diff | 中 | — | +| **P2** | 目录/文件路径补全 — 输入路径时 Tab 补全 + LRU 缓存 [↓](./qwen-code-improvement-report-p2.md#item-71) | 缺失 | 小 | — | +| **P2** | 上下文 Tips 系统 — 根据配置/IDE/插件状态显示上下文相关提示 [↓](./qwen-code-improvement-report-p2.md#item-72) | 缺失 | 小 | — | +| **P2** | 权限对话框文件预览 — 审批时展示文件内容 + 语法高亮 + 上下文说明 [↓](./qwen-code-improvement-report-p2.md#item-73) | 缺失 | 中 | — | +| **P2** | Token 使用实时警告 — 显示 token 用量 + 压缩进度 + 错误计数 [↓](./qwen-code-improvement-report-p2.md#item-74) | 仅基础显示 | 小 | — | +| **P2** | 快捷键提示组件 — UI 全局统一显示当前操作的键盘快捷方式 [↓](./qwen-code-improvement-report-p2.md#item-75) | 缺失 | 小 | — | +| **P2** | 终端完成通知 — 后台任务完成时 iTerm2/Kitty/Ghostty OSC 通知 + 进度百分比 [↓](./qwen-code-improvement-report-p2.md#item-76) | 仅 bell | 小 | — | +| **P2** | Spinner 工具名 + 计时 — 显示"正在执行 Bash(npm test) · 15s"而非通用 spinner [↓](./qwen-code-improvement-report-p2.md#item-77) | 通用 Responding | 小 | — | +| **P2** | /rewind 检查点回退 — 会话内代码 + 对话恢复到之前的检查点 [↓](./qwen-code-improvement-report-p2.md#item-78) | 缺失 | 中 | — | +| **P2** | /copy OSC 52 剪贴板 — 复制代码块到剪贴板,OSC 52 + temp 文件回退 [↓](./qwen-code-improvement-report-p2.md#item-79) | 缺失 | 小 | — | +| **P2** | 首次运行引导向导 — 主题/认证/API Key/安全/终端设置多步引导 [↓](./qwen-code-improvement-report-p2.md#item-80) | 缺失 | 中 | — | +| **P2** | /doctor 诊断工具 — 系统环境检查(git/node/shell/权限/代理)[↓](./qwen-code-improvement-report-p2.md#item-81) | 缺失 | 小 | — | +| **P2** | 结构化 Diff 渲染 — Rust NAPI 快速着色 + 行号 gutter + 语法高亮 [↓](./qwen-code-improvement-report-p2.md#item-82) | 基础 inline diff | 中 | — | | **P1** | Structured Output — `--json-schema` 强制 JSON Schema 验证输出 [↓](./qwen-code-improvement-report-p0-p1.md#item-17) | 缺失 | 小 | — | | **P1** | Agent SDK 增强 — Python SDK + 流式回调 + 工具审批回调(Qwen 仅 TS SDK)[↓](./qwen-code-improvement-report-p0-p1.md#item-18) | 仅 TypeScript SDK | 中 | — | | **P1** | Bare Mode — `--bare` 跳过所有自动发现,CI/脚本最快启动 [↓](./qwen-code-improvement-report-p0-p1.md#item-19) | 缺失 | 小 | — | | **P1** | Remote Control Bridge — 从手机/浏览器驱动本地终端 session [↓](./qwen-code-improvement-report-p0-p1.md#item-20) | 缺失 | 大 | — | | **P1** | /teleport — Web session → 终端 session 双向迁移 [↓](./qwen-code-improvement-report-p0-p1.md#item-21) | 缺失 | 大 | — | | **P1** | GitLab CI/CD — 官方 GitLab pipeline 集成 [↓](./qwen-code-improvement-report-p0-p1.md#item-22) | 缺失 | 中 | — | -| **P2** | /effort — 设置模型 effort 级别(○ 低 / ◐ 中 / ● 高)[↓](./qwen-code-improvement-report-p2.md#item-53) | 缺失 | 小 | — | -| **P2** | Status Line 自定义 — shell 脚本在状态栏展示自定义信息 [↓](./qwen-code-improvement-report-p2.md#item-54) | 缺失 | 小 | — | -| **P2** | 终端渲染优化 — DEC 2026 同步输出 + 差分渲染 + 双缓冲 + DECSTBM 硬件滚动 + 缓存池化 + alt-screen [↓](./qwen-code-improvement-report-p2.md#item-55) | 仅消息拆分防闪烁 | 大 | — | -| **P2** | Image [Image #N] Chips — 粘贴图片后生成位置引用标记 [↓](./qwen-code-improvement-report-p2.md#item-56) | 缺失 | 小 | — | -| **P2** | --max-turns — headless 模式最大 turn 数限制 [↓](./qwen-code-improvement-report-p2.md#item-57) | 缺失 | 小 | — | -| **P2** | --max-budget-usd — headless 模式 USD 花费上限 [↓](./qwen-code-improvement-report-p2.md#item-58) | 缺失 | 小 | — | -| **P2** | Connectors — 托管式 MCP 连接(GitHub/Slack/Linear/Google Drive OAuth)[↓](./qwen-code-improvement-report-p2.md#item-59) | 缺失 | 大 | — | -| **P3** | 动态状态栏 — 模型/工具可实时更新状态文本 [↓](./qwen-code-improvement-report-p3.md#item-77) | 仅静态 Footer | 小 | — | -| **P3** | [上下文折叠](./context-compression-deep-dive.md) — History Snip(Claude Code 自身仅 scaffolding,未完整实现) [↓](./qwen-code-improvement-report-p3.md#item-78) | 缺失 | 大 | — | -| **P3** | 内存诊断 — V8 heap dump + 1.5GB 阈值触发 + leak 建议 + smaps 分析 [↓](./qwen-code-improvement-report-p3.md#item-79) | 缺失 | 中 | — | -| **P3** | Feature Gates — GrowthBook 远程特性开关 + A/B 测试 + 按事件动态采样 [↓](./qwen-code-improvement-report-p3.md#item-80) | 缺失 | 中 | — | -| **P3** | DXT/MCPB 插件包 — zip bomb 防护(512MB/文件,1GB 总量,50:1 压缩比限制) [↓](./qwen-code-improvement-report-p3.md#item-81) | 缺失 | 中 | — | -| **P3** | /security-review — 基于 git diff 的安全审查命令,聚焦漏洞检测 [↓](./qwen-code-improvement-report-p3.md#item-82) | 缺失 | 小 | — | -| **P3** | Ultraplan — 启动远程 CCR 会话,用更强模型深度规划后回传结果 [↓](./qwen-code-improvement-report-p3.md#item-83) | 缺失 | 大 | — | -| **P3** | Advisor 顾问模型 — /advisor 配置副模型审查主模型输出,多模型协作 [↓](./qwen-code-improvement-report-p3.md#item-84) | 缺失 | 中 | — | -| **P3** | Vim 完整实现 — motions + operators + textObjects + transitions 完整体系 [↓](./qwen-code-improvement-report-p3.md#item-85) | 基础 vim.ts | 中 | — | -| **P3** | 语音模式 — push-to-talk 语音输入 + 流式 STT 转录 + 可重绑快捷键 [↓](./qwen-code-improvement-report-p3.md#item-86) | 缺失 | 大 | — | -| **P3** | [插件市场](./hook-plugin-extension-deep-dive.md) — 插件发现、安装、版本管理 + 前端 UI [↓](./qwen-code-improvement-report-p3.md#item-87) | 缺失 | 大 | — | -| **P1** | 流式工具执行流水线 — API 流式返回 tool_use 时立即开始执行,不等完整响应 [↓](./qwen-code-improvement-report-p0-p1.md#item-88) | 等完整响应后执行 | 中 | — | -| **P2** | MCP 并行连接 — pMap 动态插槽调度 + 双层并发(local:3/remote:20)[↓](./qwen-code-improvement-report-p2.md#item-89) | 已并行但无并发上限 | 小 | — | -| **P2** | 插件/Skill 并行加载 — marketplace + session 双源并行 + 目录检查并行 [↓](./qwen-code-improvement-report-p2.md#item-90) | 顺序 for 循环 | 小 | — | -| **P1** | 文件读取缓存 + 批量并行 I/O — 1000 条 LRU + mtime 失效 + 32 批并行 [↓](./qwen-code-improvement-report-p0-p1.md#item-91) | 无缓存,顺序读取 | 小 | — | -| **P2** | Speculation 流水线建议 — 投机完成后立即并行生成下一建议 [↓](./qwen-code-improvement-report-p2.md#item-92) | 每次重新生成 | 小 | — | -| **P1** | 记忆/附件异步预取 — 工具执行期间并行搜索相关记忆 [↓](./qwen-code-improvement-report-p0-p1.md#item-93) | 无预取 | 中 | — | -| **P1** | Token Budget 续行与自动交接 — 90% 续行 + 递减检测 + 分层压缩回退 [↓](./qwen-code-improvement-report-p0-p1.md#item-94) | 70% 一次性压缩 | 中 | — | -| **P2** | 写穿缓存与 TTL 后台刷新 — stale-while-revalidate + LRU 有界缓存 [↓](./qwen-code-improvement-report-p2.md#item-95) | 无通用缓存模式 | 小 | — | -| **P2** | 上下文收集并行化 — 多源附件 Promise.all 并行获取(~20 并发)[↓](./qwen-code-improvement-report-p2.md#item-96) | 串行追加 | 小 | — | -| **P2** | 输出缓冲与防阻塞渲染 — setImmediate 延迟写入 + 内存缓冲 [↓](./qwen-code-improvement-report-p2.md#item-97) | 直接 appendFileSync | 小 | — | -| **P2** | LSP 服务器并行启动 — Promise.all 并行启动 + Promise.race 端口探测 [↓](./qwen-code-improvement-report-p2.md#item-98) | 顺序 for 循环 | 小 | — | -| **P1** | 同步 I/O 异步化 — readFileSync/statSync 替换为 async,解阻塞事件循环 [↓](./qwen-code-improvement-report-p0-p1.md#item-99) | 多处 readFileSync | 中 | — | -| **P1** | Prompt Cache 分段与工具稳定排序 — static/dynamic 分界 + 内置工具前缀 + schema 锁定 [↓](./qwen-code-improvement-report-p0-p1.md#item-100) | 无分段缓存 | 中 | — | -| **P2** | 请求合并与去重 — 1-in-flight + 1-pending + BoundedUUIDSet + inFlight 去重 [↓](./qwen-code-improvement-report-p2.md#item-101) | 无合并机制 | 中 | — | -| **P2** | 延迟初始化与按需加载 — lazySchema + 动态 import() + 延迟预取 [↓](./qwen-code-improvement-report-p2.md#item-102) | 全量同步加载 | 小 | — | -| **P2** | 流式超时检测与级联取消 — 90s 空闲看门狗 + siblingAbortController 级联 [↓](./qwen-code-improvement-report-p2.md#item-103) | 固定超时/无级联 | 小 | — | -| **P2** | Git 文件系统直读 — .git/HEAD+refs 直读 + 批量 check-ignore + LRU 缓存 [↓](./qwen-code-improvement-report-p2.md#item-104) | 每次 spawn git | 小 | — | -| **P2** | 设置/Schema 缓存防抖动 — 3 层设置缓存 + schema 首次锁定 + parse 去重 [↓](./qwen-code-improvement-report-p2.md#item-105) | 每次重新读取解析 | 小 | — | +| **P2** | /effort — 设置模型 effort 级别(○ 低 / ◐ 中 / ● 高)[↓](./qwen-code-improvement-report-p2.md#item-59) | 缺失 | 小 | — | +| **P2** | Status Line 自定义 — shell 脚本在状态栏展示自定义信息 [↓](./qwen-code-improvement-report-p2.md#item-60) | 缺失 | 小 | — | +| **P2** | 终端渲染优化 — DEC 2026 同步输出 + 差分渲染 + 双缓冲 + DECSTBM 硬件滚动 + 缓存池化 + alt-screen [↓](./qwen-code-improvement-report-p2.md#item-61) | 仅消息拆分防闪烁 | 大 | — | +| **P2** | Image [Image #N] Chips — 粘贴图片后生成位置引用标记 [↓](./qwen-code-improvement-report-p2.md#item-62) | 缺失 | 小 | — | +| **P2** | --max-turns — headless 模式最大 turn 数限制 [↓](./qwen-code-improvement-report-p2.md#item-63) | 缺失 | 小 | — | +| **P2** | --max-budget-usd — headless 模式 USD 花费上限 [↓](./qwen-code-improvement-report-p2.md#item-64) | 缺失 | 小 | — | +| **P2** | Connectors — 托管式 MCP 连接(GitHub/Slack/Linear/Google Drive OAuth)[↓](./qwen-code-improvement-report-p2.md#item-65) | 缺失 | 大 | — | +| **P3** | 动态状态栏 — 模型/工具可实时更新状态文本 [↓](./qwen-code-improvement-report-p3.md#item-95) | 仅静态 Footer | 小 | — | +| **P3** | [上下文折叠](./context-compression-deep-dive.md) — History Snip(Claude Code 自身仅 scaffolding,未完整实现) [↓](./qwen-code-improvement-report-p3.md#item-96) | 缺失 | 大 | — | +| **P3** | 内存诊断 — V8 heap dump + 1.5GB 阈值触发 + leak 建议 + smaps 分析 [↓](./qwen-code-improvement-report-p3.md#item-97) | 缺失 | 中 | — | +| **P3** | Feature Gates — GrowthBook 远程特性开关 + A/B 测试 + 按事件动态采样 [↓](./qwen-code-improvement-report-p3.md#item-98) | 缺失 | 中 | — | +| **P3** | DXT/MCPB 插件包 — zip bomb 防护(512MB/文件,1GB 总量,50:1 压缩比限制) [↓](./qwen-code-improvement-report-p3.md#item-99) | 缺失 | 中 | — | +| **P3** | /security-review — 基于 git diff 的安全审查命令,聚焦漏洞检测 [↓](./qwen-code-improvement-report-p3.md#item-100) | 缺失 | 小 | — | +| **P3** | Ultraplan — 启动远程 CCR 会话,用更强模型深度规划后回传结果 [↓](./qwen-code-improvement-report-p3.md#item-101) | 缺失 | 大 | — | +| **P3** | Advisor 顾问模型 — /advisor 配置副模型审查主模型输出,多模型协作 [↓](./qwen-code-improvement-report-p3.md#item-102) | 缺失 | 中 | — | +| **P3** | Vim 完整实现 — motions + operators + textObjects + transitions 完整体系 [↓](./qwen-code-improvement-report-p3.md#item-103) | 基础 vim.ts | 中 | — | +| **P3** | 语音模式 — push-to-talk 语音输入 + 流式 STT 转录 + 可重绑快捷键 [↓](./qwen-code-improvement-report-p3.md#item-104) | 缺失 | 大 | — | +| **P3** | [插件市场](./hook-plugin-extension-deep-dive.md) — 插件发现、安装、版本管理 + 前端 UI [↓](./qwen-code-improvement-report-p3.md#item-105) | 缺失 | 大 | — | +| **P1** | 流式工具执行流水线 — API 流式返回 tool_use 时立即开始执行,不等完整响应 [↓](./qwen-code-improvement-report-p0-p1.md#item-24) | 等完整响应后执行 | 中 | — | +| **P2** | MCP 并行连接 — pMap 动态插槽调度 + 双层并发(local:3/remote:20)[↓](./qwen-code-improvement-report-p2.md#item-83) | 已并行但无并发上限 | 小 | — | +| **P2** | 插件/Skill 并行加载 — marketplace + session 双源并行 + 目录检查并行 [↓](./qwen-code-improvement-report-p2.md#item-84) | 顺序 for 循环 | 小 | — | +| **P1** | 文件读取缓存 + 批量并行 I/O — 1000 条 LRU + mtime 失效 + 32 批并行 [↓](./qwen-code-improvement-report-p0-p1.md#item-25) | 无缓存,顺序读取 | 小 | — | +| **P2** | Speculation 流水线建议 — 投机完成后立即并行生成下一建议 [↓](./qwen-code-improvement-report-p2.md#item-85) | 每次重新生成 | 小 | — | +| **P1** | 记忆/附件异步预取 — 工具执行期间并行搜索相关记忆 [↓](./qwen-code-improvement-report-p0-p1.md#item-26) | 无预取 | 中 | — | +| **P1** | Token Budget 续行与自动交接 — 90% 续行 + 递减检测 + 分层压缩回退 [↓](./qwen-code-improvement-report-p0-p1.md#item-27) | 70% 一次性压缩 | 中 | — | +| **P2** | 写穿缓存与 TTL 后台刷新 — stale-while-revalidate + LRU 有界缓存 [↓](./qwen-code-improvement-report-p2.md#item-86) | 无通用缓存模式 | 小 | — | +| **P2** | 上下文收集并行化 — 多源附件 Promise.all 并行获取(~20 并发)[↓](./qwen-code-improvement-report-p2.md#item-87) | 串行追加 | 小 | — | +| **P2** | 输出缓冲与防阻塞渲染 — setImmediate 延迟写入 + 内存缓冲 [↓](./qwen-code-improvement-report-p2.md#item-88) | 直接 appendFileSync | 小 | — | +| **P2** | LSP 服务器并行启动 — Promise.all 并行启动 + Promise.race 端口探测 [↓](./qwen-code-improvement-report-p2.md#item-89) | 顺序 for 循环 | 小 | — | +| **P1** | 同步 I/O 异步化 — readFileSync/statSync 替换为 async,解阻塞事件循环 [↓](./qwen-code-improvement-report-p0-p1.md#item-28) | 多处 readFileSync | 中 | — | +| **P1** | Prompt Cache 分段与工具稳定排序 — static/dynamic 分界 + 内置工具前缀 + schema 锁定 [↓](./qwen-code-improvement-report-p0-p1.md#item-29) | 无分段缓存 | 中 | — | +| **P2** | 请求合并与去重 — 1-in-flight + 1-pending + BoundedUUIDSet + inFlight 去重 [↓](./qwen-code-improvement-report-p2.md#item-90) | 无合并机制 | 中 | — | +| **P2** | 延迟初始化与按需加载 — lazySchema + 动态 import() + 延迟预取 [↓](./qwen-code-improvement-report-p2.md#item-91) | 全量同步加载 | 小 | — | +| **P2** | 流式超时检测与级联取消 — 90s 空闲看门狗 + siblingAbortController 级联 [↓](./qwen-code-improvement-report-p2.md#item-92) | 固定超时/无级联 | 小 | — | +| **P2** | Git 文件系统直读 — .git/HEAD+refs 直读 + 批量 check-ignore + LRU 缓存 [↓](./qwen-code-improvement-report-p2.md#item-93) | 每次 spawn git | 小 | — | +| **P2** | 设置/Schema 缓存防抖动 — 3 层设置缓存 + schema 首次锁定 + parse 去重 [↓](./qwen-code-improvement-report-p2.md#item-94) | 每次重新读取解析 | 小 | — | > 点击改进点名称可跳转到 Deep-Dive 文章;每项的详细说明(缺失后果 + 改进收益 + 建议方案)见 [§三](#三全部改进点详细说明)。