Dify 插件非正式打包

本来以为只要调试通过就好了,后面打包还不是一句命令的事,事实证明我想多了。折腾了好长时间,终于稀里糊涂的

注意事项:

  1. 注意实时查看插件日志,虽然没什么用(docker logs -f --tail 100 dify-plugin-daemon );
  2. dify插件安装过程中,实质上是执行pip install -r requirements.txt命令,因此一定要确保requirements.txt文件的依赖库跟项目实际依赖库保持一致,由于我的项目是通过uv构建的,因此仅需要和pyproject.toml的dependencies 保持一致;
  3. dify插件在工作流中,是实时更新的。换言之,打包完成后,上传,重新安装插件,项目中的对应的插件工具也会实时更新,不用删除重新加载
  4. 开发环境和实际环境中,上传文件的url是不一致的,开发环境中urlremote_url没有IP地址 (http://IP),实际环境中则有IP地址,开发时需要着重处理一下。

环境说明

  • 插件开发环境:window10,python3.12,vscode
  • dify服务器环境:linux ubuntu24.02

允许DIfy安装非认证的插件

打开dify后端服务,

bash 复制代码
cd dify

cd docker 
# 打开.env文件,文件末尾添加:FORCE_VERIFYING_SIGNATURE=false
echo "FORCE_VERIFYING_SIGNATURE=false" >> .env


# 关闭移除Dify容器
docker compose down
docker compose up -d

打包

检查插件

  1. requirements.txt 文件和实际依赖是否一致? uv pip list > requirements.txt
  2. 虚拟环境文件夹(.venv)是否添加进.difyignore文件中

打包

我下的Dify-Cli是dify-plugin-windows-amd64.exe

bash 复制代码
# 退出项目目录,回到上级目录
cd ..
# 打包 my_text_exector_tool 为项目名
.\dify-plugin-windows-amd64.exe plugin package ./my_text_exector_tool

# 此时,上级目录下会出现 my_document_exector_tools.difypkg

安装

安装插件->本地插件

常见问题

  1. plugin verification has been enabled, and the plugin you want to install has a bad signature

    允许DIfy安装非认证的插件就可以了

  2. 始终显示在安装中

    暂时没发现解决办法,无论是重启DIFY,还是容器dify-plugin-daemon 都没用;

  3. 日志显示查看在疯狂报错,虽然在界面中已经移除了,但后台日志仍在展示插件报错信息。

    可以考虑把docker插件实际地址给删了,慎用!容易会出现意想不到的问题

    操作过程:

    bash 复制代码
    # 进入容器
    docker exec -it dify-plugin-daemon bash
    
    cd /app/storage/cwd/
    
    ls -a 
    # 删除作者文件下的所有文件,慎用
    rm -r 作者名称
    
    # Ctrl+D 退出
    
    # 重启
    docker restart dify-plugin-daemon
  4. 如何授权DIFY_API_KEY

    每个项目都有一个专门的API

  5. 插件启用后,运行时,插件本身运行正常,但后面节点运行错误,提示:PluginDaemonInternalServerError

    github.com/langgenius/dify/issues/14649

    找不到有效解决办法,最后是DIFY自己变好的。( ̄ε(# ̄)

相关推荐
数字时代全景窗12 分钟前
从“互联网+”到“人工智能+”:云计算生态演进揭示AI应用破局之道
人工智能
星期天要睡觉20 分钟前
(纯新手教学)计算机视觉(opencv)实战十——轮廓特征(轮廓面积、 轮廓周长、外接圆与外接矩形)
人工智能·opencv·计算机视觉
IAM四十二32 分钟前
LLM多模态嵌入 - 图片嵌入
人工智能·llm·openai
用户5191495848451 小时前
使用Prodfiler优化eBPF编译器性能:零代码修改实现近2倍提升
人工智能·aigc
皮大大富1 小时前
PD Typec 学习之旅(二)认识BC1.2快充协议
人工智能
THMAIL1 小时前
随机森林的 “Bootstrap 采样” 与 “特征随机选择”:如何避免过拟合?(附分类 / 回归任务实战)
人工智能·算法·决策树·随机森林·分类·bootstrap·sklearn
AI指北2 小时前
每周AI看 | 微软开源VibeVoice-1.5B、OpenAI历史性交棒、网易云商出席AICon全球人工智能开发与应用大会
大数据·人工智能·ai·微软·钉钉·在线客服·ai agent
yzx9910132 小时前
使用Python和GitHub构建京东数据自动化采集项目
c语言·开发语言·人工智能·python
嘀咕博客3 小时前
Glato - AI 驱动的广告视频创作平台
人工智能·ai工具
limengshi1383923 小时前
人工智能学习:Linux相关面试题
linux·人工智能·深度学习·学习