前言¶
DeepSeek Harness (DSH) 採用插件化架構,擴展其功能通常需要編寫自定義腳本。對於需要頻繁操作 GitHub 倉庫的開發者,直接在 DSH 環境中集成 GitHub CLI (gh) 是提高效率的常見需求。dsh-ghCLI 是一款爲此設計的插件,它將 gh 和 git 的核心操作能力封裝在 DSH 的設置界面中,無需離開當前環境即可完成從安裝、認證到倉庫管理的全流程。
插件定位¶
dsh-ghCLI 是面向 DeepSeek Harness(DSH)的 gh CLI 集成插件。
* 維護者:sweven-tears
* 許可證:MIT
* 核心價值:在 DSH 內部提供統一的 GitHub CLI 管理入口,解決環境配置、多賬戶切換及網絡代理等痛點。
核心功能¶
該插件通過 DSH 的「設置 → GitHub CLI」界面提供三大能力:
-
gh 安裝檢測與自愈
- 自動檢測本機是否安裝
gh及版本號。 - 一鍵安裝、更新或指定
gh安裝路徑。 - Windows 網絡代理自愈:解決 Windows 下
git不讀取系統代理導致的連接超時問題(踩坑解決方案)。
- 自動檢測本機是否安裝
-
多賬戶認證管理
- 支持 Token 登錄(含企業版 GH_HOST 配置)。
- 賬戶切換、登出及 Token 刷新。
- 同步管理 Git 全局配置(
user.name/user.email)。
-
Git 倉庫高頻操作
- 克隆倉庫(支持淺克隆,非空目錄需確認)。
- Push / Pull / 創建 Pull Request / 打開遠程頁面。
- Fork 倉庫、創建新倉庫及遠程倉庫 Star 管理。
安裝與啓用¶
插件以 npm 包形式發佈,通過 dsh plugin 命令安裝。
安裝命令¶
在終端中執行以下命令將插件安裝到 web profile:
dsh plugin --profile web add @sweven-tears/dsh-ghcli -w
安裝說明:
* -w 參數必須:web profile 目錄是 pnpm workspace root,不加會報錯。
* 認證步驟:若通過 GitHub Packages 安裝,需先執行 npm login --registry=https://npm.pkg.github.com/ --scope=@sweven-tears。
* 驗證:安裝完成後重啓 DSH,刷新頁面進入「設置 → GitHub CLI」即可看到插件界面。
典型用法¶
插件啓動後,需確保本機已安裝 gh CLI 並完成認證。
1. 安裝 gh CLI(如未安裝)¶
插件設置頁提供引導,也可手動安裝:
* Windows(推薦 winget):
winget install --id GitHub.cli -e --source winget
- macOS:
brew install gh
- Linux:
sudo apt install gh
2. 認證登錄¶
在設置頁「🔐 賬戶與 Git」標籤頁,粘貼 Personal Access Token(需 repo、read:org 權限)或執行命令行登錄:
gh auth login --with-token
可選執行 gh auth setup-git 讓 git 複用 gh 憑證。
3. 執行倉庫操作¶
在「📁 倉庫管理」標籤頁,可直接點擊按鈕進行克隆、創建 PR 或 Fork,無需手動編寫 git/gh 命令。
技術實現與注意事項¶
架構說明¶
該插件爲標準 DSH 插件包(npm 形態),包含兩個半區:
* Host 半區:運行在 DSH 宿主進程,負責底層命令執行(gh / git),使用絕對路徑執行以保證兼容性。
* Client 半區:加載進 Web GUI,註冊設置頁插槽。
關鍵特性¶
- 絕對路徑執行:所有
gh和git命令均解析爲絕對路徑執行,避免因 PATH 環境變量未刷新導致的執行失敗。 - 長命令控制:克隆、安裝等長命令(默認 5 分鐘超時)支持隨時取消。
- 安全性:克隆非空目錄前會強制確認;Token 僅通過本地
gh auth login --with-token寫入,不上傳。
注意事項¶
- 認證 Token 僅經本機寫入,不上傳。
gh repo create --source <目錄> --push會推送當前目錄內容,使用前請確認。- Create PR 按鈕僅當倉庫存在差異且本地領先時可用。