dify二开示例

一、前言

1.1、前置知识

需要您在本地能够启动部署dify,如果没有到这一步,请移步文章《ollama+dify本地化部署【菜鸟教程】》

1.2、实现效果

原先效果

最终效果

以上方式,仅仅只是个示例,如果您想更换dify图标,可以去dify-1.5.0\web\public\logo文件夹下替换所有的

二、更改前端

2.1、dify-1.5.0版本

1)复制env文件

2)进入dify-1.5.0\web\app\components\base\chat\embedded-chatbot\header\index.tsx文件下

3)更改前端代码完毕后,进入 dify-1.5.0/docker,更改docker-compose.yaml文件

yaml 复制代码
  # Frontend web application.
  web:
    #image: langgenius/dify-web:1.5.0
    image: dify-web-custom

下图所示

更改完毕后,执行命令将web目录打包成本地镜像web,docker compose up -d dify-web-custom 打包花的时间比较久,需要耐心等待

4)docker compose up -d ,重启docker

5)最终效果为

三、更改后端

3.1、dify版本1.0.0-1.2.0

1)复制env文件

2)更改后端代码,代码位于dify\api api是python开发,用的打包工具是poetry,先安装poetry

bash 复制代码
pip install poetry

进入api目录然后执行

bash 复制代码
poetry install

编辑api目录下的Dockerfile

yaml 复制代码
# Install Python dependencies
# COPY pyproject.toml poetry.lock ./
# RUN poetry install --sync --no-cache --no-root

# Install Python dependencies
COPY pyproject.toml poetry.lock ./
RUN poetry source add mirrors https://mirrors.aliyun.com/pypi/simple/
RUN poetry lock
RUN poetry install --no-root

3)回到dify/docker目录,编辑docker-compose.yaml里找到api的镜像配置改成

yaml 复制代码
  api:
    # image: langgenius/dify-api:1.0.0
    image: dify-api-custom

4)最后执行,docker build -t dify-api-custom ../api

3.2、dify版本1.5.0

1)复制env文件

2)1.5版本的工具变成了uv

3)回到dify/docker目录,编辑docker-compose.yaml里找到api的镜像配置改成

yaml 复制代码
  # API service
  api:
    # image: langgenius/dify-api:1.5.0
    image: dify-api-custom

4)最后执行,docker build -t dify-api-custom ../api

四、总结

上文只是一个简单的示例,更加复杂的二开,需要您自己去探索开发了,完结撒花....

相关推荐
编代码的小王17 小时前
【无标题】
前端·css
多米Domi01117 小时前
0x3f第九天复习(考研日)(10.57-14:00)
python·算法
张彦峰ZYF17 小时前
从路径抽象到安全归档 Python 文件组织实战
大数据·python·从路径抽象到安全归档·python 文件组织实战
大、男人17 小时前
FastMCP高级特性之Message Handling
人工智能·python·mcp·fastmcp
bybitq17 小时前
Go-Package-Module-functions
开发语言·后端·golang
im_AMBER17 小时前
React 20 useState管理组件状态 | 解构 | 将事件处理函数作为 props 传递 | 状态提升
前端·javascript·笔记·学习·react.js·前端框架
小oo呆17 小时前
【自然语言处理与大模型】LangChainV1.0入门指南:核心组件Tools
前端·javascript·easyui
亿元程序员17 小时前
你知道三国志战略版是怎么实现横竖屏动态切换的吗?
前端
BD_Marathon17 小时前
Vue3_双向绑定
前端·javascript·vue.js
ULTRA??17 小时前
基于range的函数式编程C++,python比较
c++·python·kotlin·c++20