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

四、总结

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

相关推荐
颜酱7 小时前
图结构完全解析:从基础概念到遍历实现
javascript·后端·算法
喵手8 小时前
Python爬虫实战:旅游数据采集实战 - 携程&去哪儿酒店机票价格监控完整方案(附CSV导出 + SQLite持久化存储)!
爬虫·python·爬虫实战·零基础python爬虫教学·采集结果csv导出·旅游数据采集·携程/去哪儿酒店机票价格监控
2501_944934738 小时前
高职大数据技术专业,CDA和Python认证优先考哪个?
大数据·开发语言·python
helloworldandy8 小时前
使用Pandas进行数据分析:从数据清洗到可视化
jvm·数据库·python
失忆爆表症8 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录8 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜8 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛8 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大8 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus
NEXT069 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain