用途:读取用户在 Stage 浏览器 UI 中针对当前 diff 留下的评审评论,逐条处理并解决对应讨论线程。所有通过 CLI 写的评论会标记为 Agent,便于与用户笔记区分。
前置检查:先运行 which stagereview;若返回非零,提示用户安装:npm install -g stagereview。
参数:可传入与 /stage-chapters 相同的 diff 选择器(如 --pr 123、--base main、--ref staged、main..feature),会原样透传给 list 和 create,以选取一致的 diff 范围;不传则用默认工作树范围。也可传入单个线程 ID(完整 UUID 或至少 6 字符前缀),此时只处理该线程并跳过列表步骤。
步骤一 列出线程:编辑文件前运行 stagereview comments list --status open --json [refs...],记录返回的 id。每个线程含 id、filePath、side(additions 为新文件行,deletions 为旧文件行)、startLine、endLine、status 及按时间正序的 comments(含 body、authorType、时间戳)。若列表为空,告知用户无待处理线程并停止。注意 diff 范围以 git 状态为键,建议用 ID 操作(show、reply、resolve、reopen 不受范围影响),处理期间不要提交。
步骤二 逐条处理:读完整个对话,首条为诉求,后续可能补充或回答。若最后一条作者为 agent 且在等用户回答,跳过并在总结中提及。请求或隐含行动的提问都视作改动要求;纯提问则回答并用 stagereview comments resolve <threadId> --body "<answer>" 解决;确实不清楚时用 reply 提问并保持线程开放,不要猜测或静默跳过。编辑前应阅读周边源码而非仅锚定行,并遵循仓库编码规范。修改后运行相关检查(类型检查、lint、测试),再用 resolve 附一两句变更摘要。可随时用 stagereview comments show <threadId> 查看单个线程。
步骤三 汇报:用相同选择器重新运行 list,说明已解决的线程及各自改动、等待用户回答的线程,并告知浏览器中的 Stage UI 已同步回复与解决状态。
另可主动留评论:stagereview comments create --file <path> --line <n> [--end-line <n>] [--side additions|deletions] --body "<text>"。行号在 additions 下指新文件,deletions 下指旧文件。