前言¶
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