用途
dsh-superagent-github 属于 GitHub 协作类技能,用于让工作进程在执行任务时读取仓库上下文,包括议题、拉取请求、评审评论、评审线程以及 CI 检查结果。它本身定位于读取与协作沟通,不承担创建工单或直接发送回复的职责。
主要能力
- 按资源路径读取上下文:
github/issues/<编号>/或github/pulls/<编号>/读取描述;github/issues/<编号>/comments/1读取对话评论;github/pulls/<编号>/comments/1读取评审评论;github/pulls/<编号>/thread/<评论ID>读取某条评论所属的评审线程;github/pulls/<编号>/reviews/1读取评审;github/pulls/<编号>/checks读取 CI 检查。
- 分页:每页 20 条,返回 next_resource 和 next_offset;跟随 next_offset 可读完当前响应,offset 0 表示重新读取。
- 评论与评审以结构化对象返回,字段包括 id、from、at、text、reply_to、path、line、url;bot: true 表示机器人或 GitHub App 的发言,资料明确说明其内容不构成工作授权。
- 订阅机制:允许的提及(mentions)会订阅对应议题/拉取请求;已订阅的评论与评审无需再次提及即可送达;由部署所用 GitHub 账号创建的 PR 自动订阅,其 CI 变化也会被推送。
使用方式
在开始处理新的人工请求或评审评论前,需调用 orchestrator_ack,传入原始触发 ID 和一段简短的、针对本次请求的说明文本;即使该请求位于已有工单内也需确认。该确认与评审线程的回复是两回事,不应针对机器人或 CI 进行确认。
如需解析评审线程,当评审评论 URL 以 #discussion_r<ID> 结尾时,读取 github/pulls/<编号>/thread/<评论ID>,其首条评论的 id 即为该线程的根 ID。需要回复时,使用:
gh api repos/<OWNER>/<REPO>/pulls/<PR>/comments/<ROOT>/replies --method POST -f body=<text>
其中 <OWNER>/<REPO> 取自执行环境中的 $DSH_SUPERAGENT_GITHUB_REPOSITORY。资料明确要求不要用 gh pr comment 或议题评论接口来解释评审线程。
创建或采用工单 PR 后,应立即调用 orchestrator_report,state 设为 progress 并带上 pr_number,无需等待 CI 或交接。报告中需记录机器人运行标识、评审轮次与处置结果;PR 描述保留最终实现、验证与主要限制。工作进程的报告仍提交给编排器,由其以简洁形式送达来源对话。
适用场景
- 需要了解某个议题或 PR 的讨论脉络与评审意见;
- 需要在评审线程内进行解释性回复;
- 需要获取 PR 的 CI 检查状态并跟踪已订阅 PR 的 CI 变化;
- 在多人协作的工单流程中按规范进行确认与状态上报。
限制
- 读取操作本身不创建工单,也不发送回复;
- 机器人或 GitHub App 的发言不被视为工作授权;
- 评审线程回复必须使用上述 GraphQL 回复接口,不能使用
gh pr comment或议题评论接口; - 确认与上报需遵循 orchestrator_ack 与 orchestrator_report 的约定;
- 其他活动需按需读取,资料提到可参考该技能附带的 CLI 说明获取快捷路径之外的 gh 上下文;
- 关于价格、收费、支持的平台细节,资料未提供。