junjiem/dify-plugin-repackaging
Scripting tool for downloading Dify plugin package from Dify Marketplace and Github and repackaging [true] offline package.
Dify 插件重打包
是什麼 – 一個小型工具,可從官方市場、GitHub 或本地 .difypkg 檔案下載 Dify AI 平台插件,並重新打包,以便安裝到運行於不同作業系統/架構的 Dify 實例上。
為何存在 – Dify 僅接受與伺服器完全匹配的平台建構的插件(例如 many-linux 2014 x86_64)。此腳本自動化取得原始套件、解壓並使用適當的 manylinux 標籤重新建構的步驟,讓開發者能將同一插件部署至 amd64 與 arm64 主機。
如何使用
- GitHub Action – Fork 該倉儲,啟用提供的工作流程,執行它,並下載生成的工件。README 中的截圖展示了 UI 操作步驟。
- Docker – 建構映像(
docker build -t dify-plugin-repackaging .)並執行,掛載本地目錄以便在主機上看到重打包後的 .difypkg 檔案。預設CMD會以範例參數執行plugin_repackaging.sh;您可使用自己的參數覆蓋它。 - 直接腳本 – 克隆倉儲並呼叫
./plugin_repackaging.sh:- 市場:
./plugin_repackaging.sh market <插件名> <插件版本> - GitHub:
./plugin_repackaging.sh github <倉儲> <標籤> <輸出名> - 本地:
./plugin_repackaging.sh local ./my_plugin.difypkg - 加上
-p manylinux_2_17_x86_64(或manylinux_2_17_aarch64)以目標為不同平台。
- 市場:
前置條件
- Linux(RPM 系統)或 macOS;在 RPM 系統上透過
yum/dnf安裝unzip。 - Python 3.12.x(與
dify-plugin-daemon使用的版本相同)。 - Docker(可選):若偏好容器化執行。
關鍵設定調整 – 要在 Dify 伺服器上安裝重打包的插件,README 建議修改三個 .env 設定:
FORCE_VERIFYING_SIGNATURE=false # 允許未簽署插件
PLUGIN_MAX_PACKAGE_SIZE=524288000 # 將大小限制提高至 500 MiB
NGINX_CLIENT_MAX_BODY_SIZE=500M # 讓 Nginx 接受更大的上傳
這些設定放寬了 Dify 的預設安全與大小檢查。
典型工作流程
- 確定所需插件(例如
langgenius agent 0.0.9)。 - 使用適當的來源(
market、github或local)執行腳本(或 Docker 容器)。 - 腳本會在掛載目錄中產生一個
.difypkg檔案。 - 在 Dify UI 中,進入 插件管理 → 本地套件檔案,上傳生成的檔案。
誰可能需要這個 – 特別是在 ARM 伺服器上執行社群插件,或在官方市場二進位檔不可用的環境中擴展自架設 Dify 部署的開發者。
授權 / 社群 – 該倉儲為開源(README 未說明授權),並顯示星標歷史徽章,顯示有一定社群關注。
相關
- 專案
- 專案
- 專案
- 專案