dsh-github-manager:爲 AI Agent 提供的 GitHub 倉庫自動管理通道

前言

DeepSeek Harness(DSH)遵循“一切皆插件”的理念。在開發需要與外部系統交互的 AI Agent 時,直接在 Agent 代碼中調用 REST API 既繁瑣又不安全。對於需要管理代碼倉庫、Issue 或 Pull Request 的 Agent 來說,需要一個標準化的通道。

dsh-github-manager 解決了這個問題。它是一個 DeepSeek Harness 社區插件,通過註冊一組工具,讓 Agent 能夠直接通過 GitHub REST API 自動管理倉庫、Issue、PR、分支、文件、標籤、話題、Git 標籤、發佈和搜索。

這是什麼

dsh-github-manager 是一個由 yuan-source-666 維護的社區插件。它以 Bundle 形式分發,包含一個 Web 設置卡片。

其核心價值在於爲 DSH Agent 提供了一個完整的 GitHub 自動化管理通道。安裝後,Agent 可以像使用本地工具一樣使用 GitHub 的各項功能,而無需 Agent 代碼中硬編碼 API 邏輯。

核心功能

該插件註冊了 27 個工具,覆蓋 GitHub 的大部分常用操作:

  • 連接與驗證:github_ping 用於驗證通道與令牌,並報告當前用戶與剩餘配額。
  • 倉庫管理:支持列出倉庫、獲取倉庫元數據、創建新倉庫。
  • Issue 管理:支持列出、創建、更新 Issue(標題/正文/狀態/標籤/指派)以及添加評論。
  • PR 管理:支持列出、獲取詳情、創建以及合併 PR(支持 merge/squash/rebase 策略)。
  • 文件與分支:支持讀取文本文件、創建/更新/刪除文件(通過 commits API 版本化)、列出分支。
  • 標籤與話題:支持列出/創建標籤、獲取/整組替換倉庫話題。
  • 發佈管理:支持列出 Git 標籤與發佈、獲取最新版本、創建與更新發布。
  • 搜索:支持跨 GitHub 搜索代碼、Issue 與 PR。

安全驗證:所有變更型工具在 dryRun: true 時僅描述將要執行的操作,不真正執行,適合在評審環境中安全驗證流程。

安裝與啓用

安裝插件需要指定一個 Profile。爲了保證安全,建議鎖定具體的 commit SHA。

# 從 GitHub 倉庫安裝(推薦,鎖定版本)
dsh plugin --profile demo add github:yuan-source-666/dsh-github-manager#<sha>

# 或從本地目錄安裝
dsh plugin --profile demo add ./dsh-github-manager

前置條件:如果使用 pnpm ≥ 10,需要在 profile 的 pnpm-workspace.yaml 中顯式允許構建:

allowBuilds:
  dsh-github-manager: true

安裝完成後,可以通過以下命令驗證:

dsh --profile demo --dump-config

典型用法

安裝並配置完成後,Agent 可以通過自然語言調用工具。

示例 1:檢查連接
Agent 可以直接說:

用 github_ping 檢查 GitHub 通道是否連通。

示例 2:Issue 自動化
Agent 可以執行以下任務:

列出 deepseek-harness/deepseek-harness 倉庫的 open issues,把標記爲 bug 且未指派的逐條添加 Triage 評論。

配置與注意事項

Web 界面配置

安裝後,訪問 http://127.0.0.1:3080 → 設置 → Plugins → 可配置,可以看到「GitHub 倉庫管理」卡片。

  • 啓用開關:關閉時,27 個工具會從模型工具面即時註銷;打開時即時恢復,無需重啓進程。
  • 訪問令牌:這是一個寫-only 密碼框。輸入即保存,存儲值永不經網絡回顯,也不顯示在讀取結果裏。如果留空,插件會回退到 GH_TOKEN / GITHUB_TOKEN 環境變量。
  • 配置項:支持配置 API 地址、站點根地址、請求超時和 dry-run 狀態。修改後立即生效。

無頭部署配置

在 CLI 或無頭部署場景下,可以在 profile 的 cordis.patch.yml 中直接覆蓋默認值:

- id: dsh-github-manager
  name: dsh-github-manager
  config:
    enabled: true
    baseUrl: 'https://api.github.com'
    webUrl: 'https://github.com'
    timeoutMs: 30000
    dryRun: false

權限要求

插件需要對應的 GitHub 權限才能正常工作:
* Contents:文件讀寫(github_read_file, github_write_file, github_delete_file)。
* Issues:Issue 管理(github_create_issue, github_update_issue, github_comment_issue)。
* Pull requests:PR 管理(github_create_pull, github_merge_pull)。
* Administration:創建新倉庫(github_create_repo)。
* Metadata:只讀搜索與元數據(github_search_code, github_search_issues, github_list_releases 等)。

總結

dsh-github-manager 是一個成熟的 DeepSeek Harness 插件,它將 GitHub 的 REST API 封裝爲 Agent 可直接調用的工具。通過 Web 設置卡片和實時開關機制,它提供了靈活且安全的操作體驗。對於需要在 DeepSeek Harness 環境下構建自動化 GitHub 工作流的開發者,這是一個可直接落地的選擇。

  • 插件目錄: https://www.skillhub.cn/plugins/yuan-source-666/dsh-github-manager
  • 源碼地址: https://github.com/yuan-source-666/dsh-github-manager
羽毛球分组比赛记分
小程序二维码

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

小夜