16-review命令

发布时间:2026/7/21 15:30:56
16-review命令 16. review命令 - AI代码审查实现所属分组命令系统概述/review命令是 Claude Code 提供的 AI 代码审查功能允许开发者通过 CLI 对 Pull Request 进行自动化审查。该命令支持两种模式本地审查/review和远程高级审查/ultrareview。本地审查通过提示词引导模型执行gh命令获取 PR 信息并进行分析而远程审查则将任务分发到 Claude Code on the web 执行更深度的 bug 检测。/btw命令作为相关功能提供了一个侧边问答界面允许用户在不中断当前对话的情况下提出次要问题是 review 工作流中的重要辅助工具。源码位置review命令注册[commands/review.ts](file:///e:/2026plan/AI_Lab/claude-code-sourcemap-main/restored-src/src/commands/review.ts)ultrareview命令实现[commands/review/ultrareviewCommand.js](file:///e:/2026plan/AI_Lab/claude-code-sourcemap-main/restored-src/src/commands/review/ultrareviewCommand.js)ultrareview开关[commands/review/ultrareviewEnabled.js](file:///e:/2026plan/AI_Lab/claude-code-sourcemap-main/restored-src/src/commands/review/ultrareviewEnabled.js)btw命令实现[commands/btw/btw.tsx](file:///e:/2026plan/AI_Lab/claude-code-sourcemap-main/restored-src/src/commands/btw/btw.tsx)sideQuestion工具[utils/sideQuestion.js](file:///e:/2026plan/AI_Lab/claude-code-sourcemap-main/restored-src/src/utils/sideQuestion.js)核心实现分析review命令注册与执行review.ts定义了两个命令review和ultrareview。constreview:Command{type:prompt,name:review,description:Review a pull request,progressMessage:reviewing pull request,contentLength:0,source:builtin,asyncgetPromptForCommand(args):PromiseContentBlockParam[]{return[{type:text,text:LOCAL_REVIEW_PROMPT(args)}]},}type: prompt表示该命令通过构建提示词让模型自动执行后续操作。LOCAL_REVIEW_PROMPT定义了完整的代码审查流程如果没有提供 PR 编号运行gh pr list显示开放的 PR如果提供了 PR 编号运行gh pr view number获取 PR 详情运行gh pr diff number获取代码差异分析变更并提供全面的代码审查审查关注的维度包括代码正确性、项目规范遵循、性能影响、测试覆盖率和安全考虑。ultrareview远程审查/ultrareview是远程审查入口运行在 Claude Code on the webconstultrareview:Command{type:local-jsx,name:ultrareview,description:~10–20 min · Finds and verifies bugs in your branch. Runs in Claude Code on the web. See${CCR_TERMS_URL},isEnabled:()isUltrareviewEnabled(),load:()import(./review/ultrareviewCommand.js),}该命令使用local-jsx类型通过懒加载方式引入实际实现避免启动时的性能开销。isUltrareviewEnabled()控制功能开关确保只有符合条件的用户才能使用。btw侧边问答机制/btw命令允许用户在主对话进行中提出辅助问题而不中断当前任务。其核心实现包含以下组件BtwSideQuestion 组件负责渲染侧边问答界面包含加载状态、错误处理和结果展示。使用ScrollBox组件支持长内容滚动SpinnerGlyph提供加载动画。buildCacheSafeParams 函数构建缓存安全的参数优先使用getLastCacheSafeParams()获取主循环上次发送的系统提示词和上下文确保与主对话的缓存一致性。call 函数命令入口验证参数后渲染组件并通过saveGlobalConfig记录使用次数。exportasyncfunctioncall(onDone:LocalJSXCommandOnDone,context:ProcessUserInputContext,args:string):PromiseReact.ReactNode{constquestionargs?.trim();if(!question){onDone(Usage: /btw your question,{display:system});returnnull;}saveGlobalConfig(current({...current,btwUseCount:current.btwUseCount1}));returnBtwSideQuestion question{question}context{context}onDone{onDone}/;}关键设计要点命令类型分层review使用prompt类型让模型自主执行ultrareview和btw使用local-jsx类型提供交互式 UI体现了不同场景下的设计选择。缓存优化btw命令通过复用主循环的系统提示词和上下文确保 prompt 缓存命中减少不必要的 token 消耗。远程/本地分离/review保持纯本地执行/ultrareview则是远程 bug hunter 的唯一入口职责清晰分离。懒加载策略ultrareview和btw都使用动态import()延迟加载实现优化启动性能。异步轮询机制远程审查通过startDetachedPoll实现后台轮询不阻塞终端交互。状态管理使用AbortController管理异步操作的取消确保资源正确释放。与其他模块的关系命令注册系统通过commands.ts注册到全局命令列表模型调用review命令的提示词被发送到主模型进行处理权限系统ultrareview需要检查用户资格和权限状态管理btw使用AppState存储使用计数工具系统模型通过 BashTool 执行gh命令获取 PR 信息远程会话ultrareview通过 teleport 机制连接到远程 CCR 会话小结/review命令体系展示了 Claude Code 在代码审查场景下的多层次设计。本地审查通过提示词工程引导模型自主完成审查流程远程审查利用更强大的模型和资源进行深度分析而/btw则提供了灵活的侧边问答能力。整个设计注重性能优化懒加载、缓存复用和用户体验异步执行、状态反馈是 AI 辅助开发工作流的典型实现。