gty2408/dsh-plugin-publisher

前言

DSH 插件的發佈與跨設備協作通常涉及繁瑣的手動操作。這個插件通過 GitHub 提供了一套自動化的發佈與協作流程。它爲 DSH 智能體提供了註冊的工具,用於檢查插件合規性、發佈到倉庫、以及在多臺機器間同步開發狀態。

插件概覽

  • 名稱: gty2408/dsh-plugin-publisher
  • 維護者: Gty2408
  • 許可: MIT
  • 類別: 聯網工具
  • 核心價值: 將插件一鍵上傳到 GitHub,並支持多臺電腦協作開發同一個倉庫。

安裝

安裝命令如下:

dsh plugin --profile desktop add <本目錄路徑>

安裝完成後必須重啓 DSH,新增的 bundle 只在啓動時讀取。

功能與命令

插件註冊了以下七個工具,用於不同的開發階段:

  • check_plugin: 檢查插件目錄是否符合要求(只讀,不聯網)。
  • publish_plugin: 創建 GitHub 倉庫、上傳代碼、設置 topic。
  • share_project: 將本機目錄變爲協作項目(寫入 main,建立本機分支)。
  • join_project: 在另一臺電腦加入已有項目(建立本機分支、安裝 SSH key)。
  • sync_project: 日常同步流程(拉取 main → 合併 → 推送本機分支)。
  • merge_project: 將其他機器的分支合併進來(本地三方合併)。
  • project_status: 報告本機在該項目中的狀態(只讀)。

注意事項

使用時需注意以下限制和特性:

  • 傳輸限制: API 傳輸模式下,單文件上限爲 40 MB。超大會報錯並建議使用 release asset。
  • 文件模式: API 傳輸會丟失文件模式,例如符號鏈接和特定權限位(如 100755)。
  • 權限限制: repo 權限無法刪除倉庫,也無法管理賬號級的 SSH key(僅限倉庫級 deploy key)。
  • 衝突處理: 二進制文件衝突無法自動合併,必須手動選擇保留哪一個。
  • 可見性: 公開倉庫推送到 GitHub 時即可見,草稿狀態無法隱藏。
  • 默認行爲: 發佈時默認 replace_existing: false,不會覆蓋已有代碼。若倉庫已有提交,發佈會被拒絕。

結語

該工具通過 Git 和 REST API 雙傳輸回退機制,解決了網絡不穩定導致上傳失敗的問題。它爲 DSH 插件的版本管理和多機協作提供了基礎支撐。

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

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

小夜