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 主機。

如何使用

  1. GitHub Action – Fork 該倉儲,啟用提供的工作流程,執行它,並下載生成的工件。README 中的截圖展示了 UI 操作步驟。
  2. Docker – 建構映像(docker build -t dify-plugin-repackaging .)並執行,掛載本地目錄以便在主機上看到重打包後的 .difypkg 檔案。預設 CMD 會以範例參數執行 plugin_repackaging.sh;您可使用自己的參數覆蓋它。
  3. 直接腳本 – 克隆倉儲並呼叫 ./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 的預設安全與大小檢查。

典型工作流程

  1. 確定所需插件(例如 langgenius agent 0.0.9)。
  2. 使用適當的來源(marketgithublocal)執行腳本(或 Docker 容器)。
  3. 腳本會在掛載目錄中產生一個 .difypkg 檔案。
  4. 在 Dify UI 中,進入 插件管理 → 本地套件檔案,上傳生成的檔案。

誰可能需要這個 – 特別是在 ARM 伺服器上執行社群插件,或在官方市場二進位檔不可用的環境中擴展自架設 Dify 部署的開發者。

授權 / 社群 – 該倉儲為開源(README 未說明授權),並顯示星標歷史徽章,顯示有一定社群關注。

相關

  • 專案
  • 專案
  • 專案
  • 專案