dsh-github-workflow: A GitHub Workflow Toolkit for DSH Agents

前言

通用 GitHub API 工具通常只负责执行单次请求,例如拉取一个 Issue 或发布一条评论。但 Coding Agent 需要的是完整的流程闭环:从 Issue 分析、代码编写、草稿 PR 生成,到 CI 检查、分级审查、合并发布。

dsh-github-workflow 是 DeepSeek Harness (DSH) 的 GitHub 深度工作流工具集。它将开发流程固化为 12 个垂直工具,让 Agent 能够执行从 Issue triage 到 PR merge 的全链路操作。

核心功能

插件提供以下核心能力:

  • 获取仓库上下文:获取分支、PR、Issue、CODEOWNERS 等治理规则。
  • Issue 分析:提供四维脚手架(问题理解、影响范围、实现建议、潜在风险)与四层上下文(关联 PR、历史 PR、类似 Issue、代码引用)。
  • 搜索与查重:搜索相关 Issue 与 PR,开工前进行查重。
  • 草稿 PR 管理:创建带模板、关联 Issue 的草稿 PR,自动推导变更描述。
  • CI 诊断:检查 CI 状态,获取失败项的 annotations。
  • 分级 PR Review:将审查结果分为阻断、建议、优化三级,并生成结构化评论。
  • 评论与发布:支持回复评论、生成发布说明。
  • 合并与收尾:通过 GraphQL 合并 PR、关闭 Issue、删除分支。

安装与启用

安装插件需要宿主环境提供 DSH profile。安装命令如下:

dsh plugin --profile web add dsh-github-workflow

安装前需确认宿主环境版本满足 peerDependencies 要求。插件声明了以下版本范围:

  • @deepseek-ai/dsh-credentials
  • @deepseek-ai/dsh-session
  • @deepseek-ai/dsh-tools
  • @deepseek-ai/dsh-user-approval

若版本不匹配(例如运行时为 0.2.0-rc.2 而插件要求 ^0.1.0-rc.1 || ^0.2.0-rc.1),插件将静默失效。建议使用 ^0.1.0-rc.1 或 ^0.2.0-rc.1 版本的宿主环境。

典型用法

该插件支持标准的 Issue 到 Merge 流程,典型调用顺序如下:

  1. 获取上下文:调用 gh_get_repo_context 获取仓库全景。
  2. 分析 Issue:调用 gh_analyze_issue 对 Issue 进行四维分析并获取四层上下文。
  3. 查重:调用 gh_search_related 检查是否有重复 Issue 或历史尝试。
  4. 创建草稿:调用 gh_create_draft_pr 创建带模板的草稿 PR。
  5. 检查 CI:调用 gh_check_ci_status 监控 CI 状态。
  6. 审查与提交:调用 gh_review_pr 进行分级审查并提交。
  7. 交互:调用 gh_reply_comment 回复评论线程。
  8. 合并:调用 gh_merge_pr 合并 PR(支持 GraphQL)。
  9. 收尾:调用 gh_close_issue 关闭 Issue 或 gh_delete_branch 删除分支。

安全机制

插件采用 Fail-closed 机制保护写操作。所有写操作收敛在单一权限闸口,按序检查:

  1. 只读模式:当配置 readOnly: true 时,所有写操作拒绝。
  2. 用户确认:默认需经宿主 approval 服务确认,无确认则拒绝。
  3. Token 权限校验:检查 requiredTokenScopes,无法验证权限的 token(如 fine-grained PAT)拒绝操作。

每次被拒的操作会记录在 session log 中,便于审计。

总结

dsh-github-workflow 通过 12 个垂直工具,为 DSH Coding Agent 提供了完整的 GitHub 开发流程能力。它具备零运行时依赖、MIT 许可证、Fail-closed 安全设计等特点,适合需要深度集成 GitHub 工作流的开发者使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye