DeepSeek Harness (DSH) 插件:dsh-pr-checks 側邊欄顯示 PR 檢查狀態

前言

DeepSeek Harness (DSH) 採用“一切皆插件”的理念。在智能體開發與調試過程中,頻繁切換頁面查看 GitHub PR 的構建狀態會打斷工作流。pauloapoloni/dsh-pr-checks 插件將這一狀態信息下沉到側邊欄底部,使開發者無需離開 DSH 界面即可掌握 PR 的構建進度。

插件簡介

dsh-pr-checks 是一個 DSH 插件,包含宿主端(Host)和 Web 客戶端。它利用 gh CLI 查詢 GitHub Actions 檢查狀態,並將結果按 Workspace -> Project -> PR 的層級結構展示在側邊欄底部。

核心功能

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

  1. 狀態可視化:在側邊欄底部顯示 PR 的 GitHub Actions 檢查狀態和進度。
  2. 層級分組:按 Workspace(工作區)、Project(項目)、PR 進行分組展示。
  3. 進度反饋:顯示進度條(已完成/總數),並通過彩色圓點展示具體檢查項的狀態(帶有 Tooltip 說明)。
  4. 自動過濾與隱藏:僅顯示運行中的檢查(IN_PROGRESS/QUEUED/PENDING)。當所有檢查完成時,整個組件自動隱藏;摺疊側邊欄時也會隱藏該組件。
  5. 持久化與兼容:作爲完整的 Profile 插件,無需修改 DSH 運行時文件,支持 DSH 版本更新。

安裝與啓用

安裝前請確保已安裝 gh CLI 並完成認證,且擁有 repo 或 workflow 權限。

  1. 通過命令行安裝:
    使用插件管理命令添加該包。包名在 npm 上爲 dsh-pr-checks。
    dsh plugin --profile <name> add dsh-pr-checks
或者直接從 Git 倉庫安裝:
    dsh plugin --profile <name> add github:pauloapoloni/dsh-pr-checks
  1. 重啓與加載:
    安裝完成後,必須重啓 dsh web 並在 GUI 中重新加載。

  2. 手動安裝(可選):
    如果需要手動安裝(例如跳過 bundle 層),需執行以下步驟:

    cd ~/.dsh/profiles/web
    npm install github:pauloapoloni/dsh-pr-checks
並在 `cordis.patch.yml` 中註冊條目:
    - insert:
        - id: dsh-pr-checks
          name: dsh-pr-checks
          config:
            cacheMs: 10000            # 響應緩存時間
            includeAllAuthors: false  # true 爲顯示所有 PR,否則僅顯示當前用戶

配置說明

安裝後,可通過配置項調整插件行爲:

配置項 默認值 說明
cacheMs 10000 接口響應緩存時間(毫秒)。
includeAllAuthors false 是否顯示所有 open PR,而非僅當前認證用戶的 PR。
authors — 指定登錄用戶名進行過濾(默認爲認證用戶)。
repos — 額外需要檢查的倉庫列表(例如 ["org/repo"])。

工作原理

該插件通過以下機制運作:

  1. Host 端 (lib/index.js):

    • 掃描 DSH 工作區(~/.dsh/storages/workspace.json)。
    • 調用 gh pr list 查詢 Open PR。
    • 暴露 GET /api/pr-checks 接口,返回包含工作區、項目和 PR 詳情的數據結構。
  2. Client 端 (lib/client.js):

    • 將組件註冊到 DSH 的 sidebar.footer.action 插槽中。
    • 每 30 秒輪詢一次 /api/pr-checks 接口獲取最新狀態。

注意事項

  • 依賴 gh CLI:插件運行依賴 gh CLI 的認證狀態。
  • 重啓要求:安裝後必須重啓 dsh web,代碼層面的修改(如 lib/*.js)同樣需要重啓進程才能生效(Loader 緩存機制)。
  • 生態說明:該插件屬於 DSH 生態的第三方插件,由社區維護,與 DeepSeek 官方無從屬關係。

總結

dsh-pr-checks 通過將 GitHub Actions 狀態集成到側邊欄,簡化了開發者對 PR 構建進度的監控流程。其自動過濾運行中任務、支持配置過濾以及無侵入式的安裝方式,使其適合需要頻繁管理多項目 PR 狀態的 DSH 用戶。

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

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

小夜