前言¶
在 DeepSeek Harness(DSH)裏接 GitHub,常見插件多半停留在只讀:搜倉庫、讀文件、看 issue。你要的是「幫我把這個目錄傳上去」「改安裝說明並提交推送」這類閉環操作時,往往還得自己開終端或切到 IDE。
dsh-github-ops 由維護者 Lzfbite 發佈,分類爲聯網工具,目標是把 DSH 變成能建倉庫、改文件、本地 git 提交推送、開 PR 和 issue 的 GitHub 操作面。Personal access token 放進 DSH credential store,而不是寫進可被導出分享的插件配置。下文按安裝、鑑權、七個工具與典型流程介紹用法;事實以倉庫 README 與 package.json 爲準。
這是什麼¶
dsh-github-ops 是 DSH 的 host 側插件(export function apply(ctx) + export const inject = ['tools']),當前版本 1.0.0,MIT 許可證。簡介原文:Let DSH operate your GitHub: create and manage repos, read/write files, clone/commit/push, open PRs and issues. Token kept in the credential store.
插件在工具層給出三條路徑:倉庫級操作用 GitHub REST(github_repo);倉庫內文件讀寫用 Contents API(github_file);需要在本地真實改代碼再推上去時用你機器上的 git(github_git)。另提供 github_pr、github_issue、github_search 以及保存 token 的 github_auth,合計 7 個工具。
與「只讀 GitHub 插件」的差異¶
README 中的對照可以概括爲:已有插件多側重檢索與讀取;本插件支持創建與刪除倉庫、直接改寫遠程文件、clone/commit/push,以及 PR、issue 的創建與管理。搜索仍可通過 github_search 完成,並支持 GitHub 搜索語法(例如 language:rust stars:>500)。
| 層次 | 走哪條路 | 工具 |
|---|---|---|
| 倉庫本身(建 / 刪 / 看 / 列) | GitHub REST API | github_repo |
| 倉庫裏的文件(讀 / 列目錄 / 直接改寫) | GitHub Contents API | github_file |
| 本地改代碼再推上去 | 本機 git |
github_git |
安裝與啓用¶
官方給出三種安裝方式,任選其一即可。
從 GitHub 源碼一行安裝¶
dsh plugin add github:Lzfbite/dsh-github-ops
插件市場(收錄後)¶
插件已提交到 awesome-dsh-plugin 精選列表;收錄後在 DSH 市場裏打開分類 git,找到 dsh-github-ops 一鍵安裝。DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不宜理解爲官方應用商店。
預構建包(無構建步驟)¶
dsh plugin add https://github.com/Lzfbite/dsh-github-ops/releases/latest/download/dsh-github-ops-1.0.0.tgz
說明:這是 host-only bundle,僅含 index.js,無依賴、無構建、無 postinstall。裝完後重啓 DSH,7 個工具會出現在工具列表。package.json 要求 Node >=22。
連接 GitHub 賬號¶
插件不會代爲生成 token。需要在 GitHub → Settings → Developer settings → Personal access tokens 自行創建,再調用:
github_auth action=login token=ghp_xxxxxxxx
README 推薦 fine-grained token,並按實際用到的工具勾選能力:
| 能力 | 用來做什麼 |
|---|---|
| Contents: Read & write | github_file 讀寫、github_git 推送 |
| Metadata: Read | 列出/查看倉庫 |
| Pull requests: Read & write | github_pr 建 PR / 合併 / 評論 |
| Issues: Read & write | github_issue 建 issue / 評論 / 關閉 |
| Administration: Read & write | 僅在創建或刪除倉庫時需要 |
若使用經典 token,README 寫明 repo + workflow 基本夠用。保存後可執行:
github_auth action=status
用於確認當前登錄用戶、token 來源(credential store / 環境變量 / 本次會話),以及本機 git 是否可用。logout 可清除已保存的 token。
七個工具概覽¶
github_auth¶
status 查看狀態;login 保存 token;logout 清除已保存 token。
github_repo¶
list、view、create、delete。刪除倉庫時必須在 confirm 參數中原樣複述 owner/name,用於防誤刪。
github_file¶
read、list、write。write 會自動取已有文件的 sha 做更新;message 爲提交說明。
github_git¶
在本機執行真實 git:clone、status、diff、log、commit、push、pull、fetch、checkout、branch。
clone默認落到~/dsh-github/<owner>/<name>,可通過環境變量DSH_GITHUB_DIR修改根目錄。commit默認git add -A後提交;push/pull自動帶上 token 認證。- 認證走一次性 header,
origin的 URL 裏不會出現 token。
僅 github_git 需要系統已安裝 git;純 REST 類工具不依賴 git。
github_pr¶
list、view、create、merge、comment。
github_issue¶
list、view、comments、create、comment、close、reopen。
github_search¶
repos、code、issues,支持 GitHub 搜索語法。
典型用法(README 示例)¶
下面兩段來自 README,展示對話式指令與工具鏈的對應關係,便於對照實現自己的 prompt。
把本地項目傳到 GitHub:
你:把 D:\work\my-app 這個項目傳到我 GitHub 上
它:github_repo create name=my-app → github_git clone → 拷貝文件
github_git commit message="初始提交" → github_git push
倉庫:https://github.com/you/my-app
改 CI 並開 PR:
你:給 my-app 加個 CI,跑完給我開個 PR
它:github_file write .github/workflows/ci.yml → github_git checkout -b ci
github_git commit → github_git push → github_pr create ...
經過上面的步驟可以理解:簡單單文件改動可走 github_file;需要分支、多條提交或本地目錄同步時,應串聯 github_git 與 github_pr。
安全邊界與環境變量¶
Token 存放: 優先寫入 DSH credential store(記錄地址 dsh-github/token);取不到 store 時依次退回環境變量 GITHUB_TOKEN / GH_TOKEN,再退回本進程內存(僅當前會話有效,輸出中會說明)。
刻意不做的事: token 不寫進插件配置;不進 git remote URL(git 使用 http.https://github.com/.extraheader);工具輸出中的 token 形態會被抹成 ***。刪倉庫需二次確認;README 強調其餘寫操作應爲人可見的一步,不做後臺批量動作。
可選環境變量:
| 變量 | 默認 | 說明 |
|---|---|---|
DSH_GITHUB_DIR |
~/dsh-github |
github_git clone 的落點 |
GITHUB_API_URL |
https://api.github.com |
GitHub Enterprise 或代理端點 |
GITHUB_TOKEN / GH_TOKEN |
— | 無 credential store 時的兜底 |
適用場景與注意¶
適合誰: 已在 DSH Desktop 或 dsh CLI 上開發智能體、希望用自然語言完成建庫、推代碼、開 PR/issue 的開發者。需要 Enterprise 或自定義 API 端點時,可配置 GITHUB_API_URL。
安裝前建議: 插件以當前 DSH 進程權限在本機執行,包含調用 git、讀寫 DSH_GITHUB_DIR 下目錄、調用 GitHub API。安裝前應自行查看 GitHub 倉庫 源碼與 MIT 許可證,並只授予所需最小 token 權限。
兼容性: 支持 DSH Desktop / dsh CLI;無 peer 依賴、無構建、無 postinstall。修改插件源碼後需重啓 DSH 生效(開發說明見 README)。
結尾¶
dsh-github-ops 把 GitHub 從「只讀查閱」擴展到「可寫可管」,並用 credential store 隔離 token、用確認參數約束刪庫等高風險操作。若你要在 DSH 裏閉環倉庫與協作流程,可先按本文完成安裝與 github_auth,再按任務選用 REST、Contents 或本機 git 三條路徑。
- 目錄頁:https://www.skillhub.cn/plugins/Lzfbite/dsh-github-ops
- GitHub:https://github.com/Lzfbite/dsh-github-ops