DeepSeek Harness 插件發佈工具:dsh-plugin-publish

DSH 的插件通常以本地目錄或私有倉庫形式存在。要在多臺機器間同步或分享插件,開發者往往需要手動處理 GitHub 倉庫的創建、manifest 校驗、topic 設置以及更新策略。dsh-plugin-publish 解決了這套流程,它允許開發者通過一條命令將插件發佈到 GitHub 公共倉庫,使其他機器能夠直接安裝。

核心功能

  • 本地校驗:在發起任何網絡請求之前,先在本地校驗插件的 manifest 和 bundle。這能避免因 manifest 錯誤導致的靜默失敗,例如檢查 dsh.bundle、patch 文件是否存在、以及瀏覽器半註冊的 id 是否與包名一致。
  • 倉庫管理:自動創建 GitHub 倉庫。如果倉庫已存在,工具會複用該倉庫,而非報錯。
  • 目錄樹提交:將本地整棵目錄樹作爲一個提交上傳到 GitHub。這意味着發佈即鏡像,本地刪除的文件在遠端也會被刪除。
  • Topic 保護:自動添加 dsh-plugin topic,同時保留用戶已有的 topic,防止被覆蓋。
  • 安裝指引:發佈完成後,工具會打印出在其他機器上安裝該插件的命令。
  • 安全機制:
    • Token 會從每一條消息裏擦除,絕不泄露。
    • 絕不發佈憑據,會提前報出疑似憑據的文件。
    • 絕不強制推送,除非顯式給出 --force 參數。

安裝與啓用

作爲 DSH 插件安裝後,可以在 DSH 會話中直接調用 /publish-plugin 命令。

dsh plugin --profile desktop add github:Gty2408/dsh-plugin-publish

啓用後,在任意會話中即可使用:

/publish-plugin                    # 校驗工作區裏的插件
/publish-plugin --push             # 校驗後發佈
/publish-plugin ./my-plugin --push --repo custom-name

典型用法

作爲獨立 CLI 使用(非 DSH 環境):

npx dsh-plugin-publish ./my-plugin --token <token> --yes

作爲 DSH 插件使用(需要 Node.js 20+):

在 DSH 進程中直接調用發佈命令:

/publish-plugin --push

適用場景與注意

此工具適合需要在多臺機器間分發 DSH 插件的場景。

  • 環境要求:需要 Node.js 20+。
  • 認證方式:
    • 設備碼流程(默認):交互式授權,適合交互環境。
    • --token:非交互方式,適合腳本。Token 可從 ~/.dsh/.github-token(classic token,需 repo 權限)或插件的 token 配置讀取。
  • 已知限制:
    • GitHub API 對單文件傳輸有 40MB 上限,工具會據此限制。
    • --force 參數會覆蓋分支。
    • 本工具僅發佈到 GitHub,不投稿插件市場,也不發佈到 npm。
    • repo 權限無法刪除倉庫,需手動清理。

總結

dsh-plugin-publish 通過本地校驗、目錄樹鏡像同步和 topic 保護,簡化了 DSH 插件的發佈流程。它讓插件的分享和分發變得標準化和自動化。

插件目錄 | GitHub 倉庫

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

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

小夜