前言¶
DeepSeek Harness (DSH) 提供了一個運行智能體的環境。當智能體需要直接操作 GitHub 時,手動編寫腳本或依賴外部工具通常繁瑣且存在安全風險。這個插件旨在爲 DSH 提供一套統一的 GitHub 操作接口,將 GitHub CLI 的能力封裝爲插件工具。
插件簡介¶
定位:Zero-dependency GitHub workflows for DeepSeek Harness (DSH), built on the GitHub CLI。
維護者:Planckbaka
分類:工作流
核心功能¶
插件提供 11 個工具,涵蓋 GitHub 生態的主要操作:
- github_auth:認證管理,包括狀態查看、PAT 登錄(通過 stdin 傳入)、刷新令牌及賬戶切換。
- github_repo:倉庫操作,支持查看、列表、創建、克隆、派生、編輯、同步、重命名、歸檔及刪除。
- github_pr:Pull Request 操作,包含創建、列表、查看、差異、檢查、評論、審查、合併、關閉、重新打開、編輯、標記爲就緒、檢出及狀態查看。
- github_issue:Issue 操作,支持創建、列表、查看、狀態管理、評論、關閉(含原因)、重新打開、編輯及開發(關聯分支)。
- github_commit:只讀提交瀏覽,通過 GitHub REST API 列出、查看、比較分支。
- github_release:發佈管理,支持創建(含備註和生成)、列表、查看、上傳/下載、編輯及刪除。
- github_actions:GitHub Actions 管理,支持運行列表/查看/日誌/監聽/重跑/取消/刪除,以及工作流列表/查看/觸發。
- github_codespace:Codespaces 管理,支持列表、創建、非交互式 SSH、文件操作、啓動/停止/重建、查看日誌及刪除。
- github_search:搜索功能,支持搜索倉庫、Issue、PR、代碼和提交。
- github_api:REST/GraphQL 請求的通用接口,作爲逃逸通道訪問標籤、里程碑、項目、Gist、組織等。
- github_git:本地 Git 操作,支持 status、add、commit、push、pull、fetch、branch、log、remote。
- github_cli:GitHub CLI 的原始透傳接口,默認關閉,需配置
allowRaw: true啓用。
安裝與啓用¶
安裝前請確保已安裝 Node.js 18 或更高版本,以及 GitHub CLI (gh)。
在 DSH 中執行以下命令安裝:
install_bundle → target: github:Planckbaka/dsh-plugin-github-workflows
典型用法¶
以下展示從代碼提交到發佈發佈的典型流程示例:
github_auth action: status # 驗證認證狀態
github_git action: status # 查看變更
github_git action: add paths: ["src"]
github_git action: commit message: "Fix ..."
github_git action: push setUpstream: true
github_pr action: create title: "Fix ..." fill: true
github_actions action: run_watch runId: <id> # 監控 CI 運行
github_pr action: merge mergeMethod: squash, deleteBranch: true, confirm: true
github_release action: create tag: v1.1.0, generateNotes: true, confirm via notes
適用場景與注意¶
- 類型安全:所有操作均爲 JSON Schema 定義的 typed 工具,命令以 argv 數組形式執行,不會進入 shell,避免注入風險。
- 安全策略:默認安全。涉及破壞性操作(如合併、刪除、強制推送、重建 Codespace)必須顯式設置
confirm: true。可通過配置項allowDestructive全局開關控制。 - 零配置認證:插件會自動複用
gh的登錄狀態、環境變量GH_TOKEN,或在 gh 未登錄時嘗試讀取 git credential helper 中的憑據。 - 零依賴:僅使用 Node.js 內置模塊,無需額外構建或依賴管理。
- 許可證:MIT。
- 環境要求:Node >= 18, gh CLI。
生態背景¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。本插件收錄在社區目錄中,旨在爲 DSH 提供統一的 GitHub 交互能力。