前言¶
DeepSeek Harness (DSH) 的開發過程中,需要頻繁查看 GitHub 倉庫的狀態:Actions 運行是否通過、最近有哪些提交、是否有新發布。如果每次都切換窗口或標籤頁,會打斷工作流。@angel-gp/dsh-client-ui-gitpeek 是一個聯網工具插件,它能在 DSH 的會話界面中直接顯示 GitHub 的 Actions、Commits 和 Releases 數據。
插件簡介¶
這是一個爲 DSH 提供的只讀 GitHub 數據面板。安裝後,它會在 DSH 的第三個標籤頁(緊鄰 Trajectory)出現。三列並排展示 Actions 運行、Commits 和 Releases,每列獨立滾動,數據通過 GitHub REST API 在瀏覽器端獲取。由 Angel-GP 維護,遵循 MIT 協議。
核心功能¶
- 三列布局:Actions 運行、Commits 和 Releases 三列並排,每列獨立滾動。
- 加密存儲:記住多個倉庫以及一個 PAT 令牌。令牌使用 AES-256-GCM(Web Crypto)加密後存儲在 localStorage 中。密鑰保留在瀏覽器,存儲的值永遠不是明文。
- 分頁加載:每列通過 GitHub 的 Link header 分頁,提供 Load more 按鈕(每頁 30 次運行 / 30 次發佈 / 100 個提交)。
- 自動刷新與緩存:進入會話時顯示緩存數據,隨後在後臺刷新一次;切換保存的倉庫會自動刷新;點擊 Refresh 手動刷新。
- 並行獲取與獨立錯誤報告:三列並行獲取數據,一列失敗不影響其他兩列,且會分別報告錯誤。
安裝與啓用¶
安裝前請確保環境滿足以下條件:
- dsh 和 pnpm 在 PATH 中(DSH Desktop 安裝後自帶,需打開新的 PowerShell)。
- git 在 PATH 中且可訪問 github.com。
- 確認當前 GUI 運行的是哪個 profile。DSH Desktop 默認使用 desktop profile,而 web 是不同的配置。
- 運行安裝命令
建議讓 Agent 執行以下命令:
dsh plugin --profile web add github:Angel-GP/dsh-gitpeek#main
dsh --profile web --dump-config
如果是 DSH Desktop,將 web 替換爲 desktop。
- 驗證安裝
檢查--dump-config輸出中是否包含以下內容:
# == @angel-gp/dsh-client-ui-gitpeek
- id: gitpeek
name: '@angel-gp/dsh-client-ui-gitpeek'
- 重啓
手動重啓 DSH Web Host。重啓後,GitHub 標籤頁應出現在 Trajectory 旁邊。
使用方法¶
-
獲取 PAT 令牌
在 GitHub 設置中生成 Fine-grained token,僅授予最小權限:Actions(只讀)、Contents(只讀)、Metadata(只讀),並限制在特定倉庫。 -
配置 PAT
在 DSH 界面的 GitHub 插件中輸入生成的 PAT 令牌。 -
查看數據
在 GitHub 插件中輸入倉庫名稱(例如 owner/repo),點擊 Refresh 加載三列數據。
安全與注意事項¶
- PAT 加密安全:PAT 使用 AES-256-GCM 加密,密鑰在瀏覽器中。雖然存儲的是密文,但任何能在該瀏覽器運行 JavaScript 的腳本(如擴展或同源腳本)都能解密它。因此請僅授予最小權限,不要在其他服務中使用此令牌。
- 持久化範圍:插件將數據存儲在瀏覽器的
localStorage中,作用域爲 origin(協議 + 主機 + 端口)。如果 DSH Web Server 每次啓動的端口不同,localStorage 會清空,保存的數據會消失。 - Profile 配置:安裝時必須使用 GUI 實際運行的 profile。DSH Desktop 默認使用
desktopprofile,如果誤裝到webprofile,GUI 中不會顯示該標籤頁。
總結¶
該插件通過在 DSH 會話中並排展示 GitHub 的關鍵數據,減少了上下文切換的時間。它提供了加密的存儲機制和自動刷新功能,適合需要頻繁查看倉庫狀態的智能體開發場景。