dsh-github-ops:讓 DSH 可寫可管你的 GitHub

前言

在 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。

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
羽毛球分组比赛记分
小程序二维码

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

小夜