dsh-mycordis:打包與管理 dsh 會話級 Cordis 插件

前言

DSH 的理念是「一切皆插件」。會話級動態插件可以在 dsh 中使用,但如果要把它固化成可重複安裝的 dsh 安裝包,或保存爲可跨會話導入的便攜包,仍然需要整理產物。dsh-mycordis 針對這一步,提供 Cordis 插件管理和一鍵打包能力。

這是什麼

dsh-mycordis 是一個 dsh 會話級動態插件。它用於管理 Cordis 插件,並將 dsh 會話級動態 Cordis 插件打包爲 dsh 安裝包(.tgz)或便攜包(.dshplugin.json)。

許可證爲 MIT。倉庫地址爲:

https://github.com/LA7-F/dsh-MyCordis

核心功能

  • 將 dsh 會話級動態 Cordis 插件打包爲 dsh 安裝包(.tgz)
  • 生成便攜包(.dshplugin.json),用於跨會話導入或註冊
  • 支持單個與批量一鍵打包,並可切換 dsh 包/便攜包/整包類型
  • 安裝 / 卸載 dsh 插件(profile 級真實安裝)
  • 導入便攜包(僅註冊不運行,可恢復啓動)
  • 收藏、常駐、恢復、複製跨會話定位信息、同名插件去重
  • 安全加固:信任柵欄、請求體上限、錯誤脫敏等

安裝與啓用

資料給出的推薦安裝方式之一如下。第一條從 npm 註冊表安裝,第二條重啓 dsh:

pnpm dsh plugin --profile web add dsh-mycordis
pnpm dsh --profile web

真實安裝會寫入:

$DSH_HOME/profiles/<profile>

重啓 dsh 後生效。

典型用法

打包整包

先設置放置目錄,再選擇“整包”類型。然後勾選插件,點“一鍵打包”進行批量打包;也可以點每行“打包”進行單個打包。

打包整包會同時產出 dsh 安裝包(.tgz)與便攜包(.dshplugin.json),每個插件一個子目錄。

安裝 dsh 包

選擇 .tgz 文件上傳,並執行:

dsh plugin add

可能需要批准提升沙箱權限,並重啓 dsh 後生效。

調用 HTTP API

也可以調用接口完成整包打包:

POST /api/pack-whole

該接口生成 .tgz 與 .dshplugin.json,每個插件一個子目錄。

適用場景與注意

適合使用 dsh 會話級動態插件、需要把插件固化成安裝包或便攜包、並在多個會話間管理這些插件的人。

使用前注意:
- 預覽版:Cordis 便攜包目前可能只支持 Windows 端使用。
- 會話級動態插件爲進程級狀態,DSH 重啓後需重新導入。
- 真實安裝寫入 $DSH_HOME/profiles/<profile>,需重啓 dsh 生效。
- 安裝、卸載、工作區外輸出需要提升沙箱權限(彈窗批准)。
- 導入會在 dsh 進程內執行包內代碼,只導入可信來源的便攜包。
- 請求體上限在資料中不一致:README 提到 10MB 並統一 413;package.json 描述提到 80MB。使用前建議覈對源碼與實際配置。
- 插件以當前 dsh 進程權限運行;安裝前應檢查源碼與許可證。許可證爲 MIT。

結尾

dsh-mycordis 的價值在於把會話級動態 Cordis 插件的打包、安裝、導入和管理放在同一個 dsh 插件裏處理,減少手動整理產物的步驟。

倉庫地址:

https://github.com/LA7-F/dsh-MyCordis
羽毛球分组比赛记分
小程序二维码

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

小夜