前言¶
通用 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 工作流的開發者使用。