DeepSeek Harness GitHub REST API 工具插件

前言

DeepSeek Harness (DSH) 採用插件化架構,開發者可以通過插件擴展智能體的能力。在本地開發或調試時,頻繁查詢 GitHub 倉庫、創建 Issue 或將倉庫克隆到工作區是常見需求。tkwkeven/dsh-tool-github 插件爲 DSH 提供了 GitHub REST API 支持,註冊了 github_* 工具集,使智能體能夠綁定賬號、查詢數據、創建 Issue/PR 以及克隆倉庫。此外,它還提供了一個瀏覽器端的 GitHub 面板。

核心功能

該插件主要提供以下能力:

  • 賬號綁定:通過 github_bind 驗證並存儲個人訪問令牌(PAT),後續工具自動使用該身份。
  • GitHub API:支持倉庫元數據查詢 (github_repo)、搜索 (github_search)、Issue/PR 管理 (github_issues, github_prs, github_create_issue, github_create_pr) 以及文件內容讀取 (github_content)。
  • 工作區管理:支持將倉庫克隆到本地 (github_workspace_add) 並註冊爲 DSH 工作區,使其出現在工作區選擇器中。
  • Web GUI 面板:在 DSH Web 界面的側邊欄提供一個 GitHub 面板,用於查看狀態、綁定賬號、添加工作區等。

安裝與啓用

在插件目錄下執行以下命令進行安裝:

dsh plugin --profile web add .

安裝後需要重啓 Web GUI (dsh web) 才能加載新的客戶端組件,GUI 客戶端插件發現機制僅在進程啓動時運行。

使用方法

智能體可以直接調用以下工具或通過自然語言交互:

  • github_bind:綁定 GitHub 賬號(需輸入 PAT)。
  • github_whoami:查看當前登錄賬號。
  • github_workspace_add <owner> <repo> [branch]:克隆倉庫並添加爲工作區。
  • github_workspace_list:列出已克隆的工作區。
  • github_repo <owner>/<repo>:獲取倉庫信息(如 star 數)。
  • github_search <query>:搜索倉庫或代碼。

工作區與憑證機制

  • 克隆方式:github_workspace_add 優先使用 git clone,當 Git TLS 不可用時回退到 codeload tarball 下載。
  • 憑證解析:令牌來源優先級爲:憑證存儲 -> 插件配置 -> 環境變量 (GITHUB_TOKEN)。github_bind 將令牌存儲在 DSH 的憑證 seam (ctx.credentials) 中,更改憑證無需重啓進程。

Web GUI 面板

安裝並重啓 dsh web 後,側邊欄會出現 GitHub 圖標。點擊面板中的功能(如“綁定賬號”、“添加工作區”)會通過 /github-* 命令與主機通信。這意味着面板不直接持有令牌或訪問 GitHub API,安全性較高。

配置

插件支持通過配置文件調整參數(如 ~/.dsh/cordis.patch.yml 或 profiles/<name>/cordis.patch.yml):

- id: tool-github
  config:
    maxResults: 20
    workspaceRoot: D:\github-workspaces

總結

該插件通過標準化的 API 工具和 Web 面板,將 GitHub 集成到了 DSH 工作流中,適合需要頻繁與 GitHub 交互的開發者。

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

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

小夜