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自己变好的。( ̄ε(# ̄)

相关推荐
办公室马主任2 分钟前
制造业数字化的系统架构:从车间数据到经营闭环怎么设计
人工智能·系统架构·制造
Claire_8810 分钟前
基于知识图谱构建的学习资料分类整理方案:以多模态检索与智能生成为例
人工智能·powerpoint
花椒技术14 分钟前
一个人已经有 Agent 了,我们为什么还要建设统 Agent 平台
人工智能·agent·ai编程
Olafur_zbj31 分钟前
【AI】CUDA的新编程模型:tile编程模型 的好处
人工智能
Linguwen1 小时前
外贸GEO01|GEO是什么?生成式引擎优化,AI时代的新流量密码
人工智能
物质波波波1 小时前
WS-RPE:面向边缘物理AI实时特征值计算的硬件工作窃取调度器与冗余PE激活架构
人工智能·fpga开发·架构·系统架构·硬件架构
起个名字好难啊这也被占用了1 小时前
LangGraphjs可中断可恢复的AI工作流
人工智能·ai编程
@Mr_LiuYang1 小时前
状态栏动态上下文信息追加到Agent --《深入理解 AI Agent :设计原理与工程实践》实验2-8
人工智能·大模型·动态上下文·状态栏信息追加
碳基猿2 小时前
新媒体运营的终局:从“内容创作”走向“运营系统竞争”
人工智能·新媒体运营·产品运营·新媒体矩阵·多账号管理·矩阵分发·矩阵运营方法论