前言¶
通用 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 流程,典型调用顺序如下:
- 获取上下文:调用
gh_get_repo_context获取仓库全景。 - 分析 Issue:调用
gh_analyze_issue对 Issue 进行四维分析并获取四层上下文。 - 查重:调用
gh_search_related检查是否有重复 Issue 或历史尝试。 - 创建草稿:调用
gh_create_draft_pr创建带模板的草稿 PR。 - 检查 CI:调用
gh_check_ci_status监控 CI 状态。 - 审查与提交:调用
gh_review_pr进行分级审查并提交。 - 交互:调用
gh_reply_comment回复评论线程。 - 合并:调用
gh_merge_pr合并 PR(支持 GraphQL)。 - 收尾:调用
gh_close_issue关闭 Issue 或gh_delete_branch删除分支。
安全机制¶
插件采用 Fail-closed 机制保护写操作。所有写操作收敛在单一权限闸口,按序检查:
- 只读模式:当配置
readOnly: true时,所有写操作拒绝。 - 用户确认:默认需经宿主 approval 服务确认,无确认则拒绝。
- Token 权限校验:检查
requiredTokenScopes,无法验证权限的 token(如 fine-grained PAT)拒绝操作。
每次被拒的操作会记录在 session log 中,便于审计。
总结¶
dsh-github-workflow 通过 12 个垂直工具,为 DSH Coding Agent 提供了完整的 GitHub 开发流程能力。它具备零运行时依赖、MIT 许可证、Fail-closed 安全设计等特点,适合需要深度集成 GitHub 工作流的开发者使用。