插件在调试模式下可用,但安装 .difypkg 失败(内部服务器错误)

插件在调试模式下工作,但作为 .difypkg 安装失败(内部服务器错误)

Dify 版本: 1.13.3 (自托管 Docker Compose)
插件守护程序版本: 0.5.4

描述

我正在为 OVH AI 端点开发一个模型提供程序插件(来源:https://github.com/rungeard/dify_ovh_ai_endpoints)。

当我以远程调试模式运行插件时(如官方文档所述),一切都完美运行——插件连接、模型安装,并且没有抛出任何错误。

然而,当我将插件打包.difypkg 文件并通过 Dify UI(本地文件上传)尝试安装时,我总是收到内部服务器错误

difypkg 文件 → https://jirafeau.rungeard.eu/f.php?h=3zZsJSFG&d=1

我尝试过的方法

  • .env 中设置 FORCE_VERIFYING_SIGNATURE=falseENFORCE_LANGGENIUS_PLUGIN_SIGNATURES=false
  • 确保所有文件都使用 LF 行尾符(而不是 CRLF)

日志显示的内容

上传成功 (HTTP 200),但随后的 decode/from_identifier 调用返回 400

plugin_daemon | record not found
SELECT * FROM "plugin_declarations" WHERE plugin_unique_identifier = 'rungeard/ovh_ai_endpoints:0.0.1@...' LIMIT 1

每次上传尝试后,plugin_declarations 表仍然为空。这似乎是守护程序成功存储了包文件,但从未将其注册到数据库中,导致解码步骤失败。

问题

本地 .difypkg 安装在插件守护程序上是否存在已知问题?在 upload/packagedecode/from_identifier 之间是否存在一个验证步骤,它在不记录有意义错误的情况下默默拒绝了包?

任何帮助都将不胜感激!

:white_check_mark: 已找到根本原因 – Dify 1.13.3 在本地插件安装上的回归问题

我遇到了完全相同的问题:

  • 插件在远程调试模式下运行完美

  • .difypkg 上传成功

  • 安装几乎立即以内部服务器错误 (Internal Server Error) 失败

  • 日志显示:

    /management/decode/from_identifier ... status=400
    

经过调查,这不是插件问题(清单、代码、依赖项等)。
失败发生在插件执行之前,在插件守护程序的解码阶段


:magnifying_glass_tilted_left: 根本原因

这是由Dify 1.13.3 中的回归问题引起的,影响了本地插件的安装。

失败的步骤是:

decode_plugin_from_identifier → plugin_daemon /decode/from_identifier → 400

尽管 plugin_unique_identifier 被正确传递,但守护程序仍拒绝它。


:white_check_mark: 解决方案

降级 Dify API 可以立即解决问题:

:backhand_index_pointing_right: 使用 Dify 1.13.2 而不是 1.13.3

降级后:

  • 相同的 .difypkg
  • 相同的环境
  • 安装立即成功

:link: 相关问题

这些问题指向相同的根本原因: