Dify-Plus:企业级AI管理核弹!开源方案吊打SaaS,额度+密钥+鉴权系统全面集成

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🔐 "CTO集体失眠!这个开源项目让企业AI管理进入上帝模式"

大家好,我是蚝油菜花。当同行还在为API调用次数和预算超支扯皮时,这个国产神器已经让AI资源管理进化到「纳米级操控」!

你是否经历过这些管理噩梦:

  • 💸 实习生手滑调用GPT-4烧光季度预算
  • 🔑 离职员工带走密钥,埋下数据泄漏核弹
  • 📊 财务追着要AI费用报表,你只能掏出混沌Excel...

今天解密的 Dify-Plus ,正在重写企业AI管理法则!这个基于Dify的增强型开源中枢,用三大杀手锏终结混乱:

  • AI计划经济:对话次数/API调用/模型权限精准到人,杜绝资源黑洞
  • 密钥风控矩阵:实时监控+用量预测+异常熔断,比银行系统更严谨
  • 财务透视眼:自动生成多维度费用报表,支持成本分摊到部门

已有金融集团用它管理上千个AI应用,文末附《企业AI治理白皮书》------你的IT部门准备好迎接次世代管理革命了吗?

🚀 快速阅读

Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,新增了多项功能以支持企业场景。

  1. 核心功能:用户额度管理、密钥额度设置、Web 登录鉴权、应用中心等。
  2. 技术原理:基于 gin-vue-admin 的管理中心,集成 JWT 认证和异步处理机制,确保系统高效安全。

Dify-Plus 是什么

Dify-Plus 是基于 Dify 二次开发的企业级增强版项目,集成了基于 gin-vue-admin 的管理中心。它在 Dify 的基础上新增了用户额度、密钥额度、Web 公开页登录鉴权、应用中心等功能,并优化了权限管理,特别适合企业场景使用。

Dify-Plus 项目开源,旨在解决企业资源精细化管理的痛点。无论是用户额度控制、密钥管理,还是应用开发与安全管理,Dify-Plus 都提供了全面的解决方案,帮助企业高效管理 AI 资源。

Dify-Plus 的主要功能

  • 用户额度管理
    • 对话余额限制:限制用户对话的使用次数。
    • 异步计算用户额度:后台异步处理用户额度的计算逻辑。
    • 额度显示:在界面左上角显示用户的使用额度。
    • 个人监测页:用户能查看自己的额度使用情况。
  • 密钥管理
    • 密钥额度设置:限制应用 API 调用的余额。
    • 密钥使用分析:提供密钥使用情况的分析和报表。
    • 每月密钥额度花费:统计密钥的每月使用费用。
  • 安全管理
    • Web 公开页登录鉴权:确保只有授权用户可以访问。
    • 鉴权 Cookie:支持安全的 Cookie 鉴权机制。
  • 应用管理
    • 应用中心页面:集中管理所有应用。
    • 应用使用次数记录:记录每个应用的使用次数,按使用次数排序。
    • 同步应用到模板中心:管理员能将应用同步到模板中心。
  • 管理中心
    • 用户同步:同步用户信息到管理中心。
    • 模型同步工作区:同步模型到工作区。
    • 用户额度修改:管理员修改用户的额度。
    • 费用报表:生成费用报表,方便财务管理和分析。
  • 权限管理
    • 权限调整:普通成员无法关闭模型,非管理员无法查看密钥。
    • 优化 CSV 编码监测:修复批量请求问题,支持 Windows 下载后保存再上传。
    • Markdown 图片放大优化:提升用户体验。

Dify-Plus 的技术原理

  • 基于 gin-vue-admin 的管理中心

    • 前端:基于 Vue.js 构建现代化的用户界面,提供良好的用户体验。
    • 后端:Go 语言的 Gin 框架构建高效的后端服务。
  • JWT 认证:基于 JSON Web Tokens (JWT) 实现用户认证和授权,确保系统的安全性。

  • 与 Dify 的集成:基于 RESTful API 与 Dify 进行交互,实现功能扩展。同步用户、模型和应用数据,确保管理中心与 Dify 的数据一致性。

  • 异步处理:用异步任务处理用户额度计算等耗时操作,提升系统性能。

如何运行 Dify-Plus (使用 Docker Compose)

1. 克隆项目

首先,需要从 GitHub 克隆 Dify-Plus 项目到本地。打开终端并运行以下命令:

shell 复制代码
git clone [email protected]:YFGaia/dify-plus.git

提示:确保本地已安装 Git 和 Docker,并且 Docker 守护进程正在运行。

2. 使用 Docker Compose 启动服务

进入克隆下来的项目目录,并使用 Docker Compose 启动服务:

shell 复制代码
cd dify-plus/docker
docker-compose -f docker-compose.dify-plus.yaml up -d

备注 :该 docker-compose.dify-plus.yaml 文件是从原 Dify 项目精简而来,仅保留了最小化启动所需的服务。如有其他需求,可根据实际情况自行调整。

3. 检查服务是否启动正常

使用以下命令检查容器的运行状态:

shell 复制代码
docker compose ps

确保所有相关服务的状态均为 running,这表明服务已成功启动。

如何运行 Dify-Plus (使用源码部署)

前置依赖

在部署 Dify-Plus 之前,需要确保以下环境和工具已正确安装并配置:

语言版本

  • Python:3.11 或 3.12
  • Node.js:>=18.17.0
  • Golang:>=1.22.0

基础服务

  • Redis:用于缓存和消息队列
  • PostgreSQL:用于存储数据

提示:确保 Redis 和 PostgreSQL 已启动并正常运行,且可以通过本地连接访问。

启动步骤

启动 Dify API 服务

Dify API 服务是核心服务,负责处理业务逻辑。以下是具体步骤:

shell 复制代码
# 1. 进入 API 目录
cd api

# 2. 复制环境变量配置文件
cp .env.example .env

# 3. 生成随机密钥并替换 .env 中的 SECRET_KEY
awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env

# 4. 安装依赖包
poetry env use 3.11
poetry install

# 5. 执行数据库迁移
poetry shell
flask db upgrade

# 6. 启动 API 服务
flask run --host 0.0.0.0 --port=5001 --debug

API 服务启动后,可以通过 http://localhost:5001 访问。

启动 Dify Web 服务

Dify Web 服务提供用户界面,供用户与系统交互。以下是具体步骤:

shell 复制代码
# 1. 进入 Web 目录
cd web

# 2. 安装依赖包
npm install

# 3. 复制环境变量配置文件
cp .env.example .env.local

# 4. 根据需求配置环境变量
vim .env.local

# 5. 构建代码
npm run build

# 6. 启动 Web 服务
npm run start
# 或使用以下命令:
# yarn start
# pnpm start

Web 服务启动后,可以通过 http://localhost:3000 访问。

启动 Dify Worker 服务

Dify Worker 服务负责处理后台任务,例如数据处理和邮件发送。以下是具体步骤:

shell 复制代码
# Linux / MacOS 启动
celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace,extend_high,extend_low --loglevel INFO

# Windows 启动
celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace,extend_high,extend_low --loglevel INFO

说明 :相比原版 Dify,新增了两个队列:extend_high(处理高频任务)和 extend_low(处理低频任务)。

启动 Dify Beat 服务

Dify Beat 服务负责调度定时任务,以下是具体步骤:

shell 复制代码
celery -A app.celery beat --loglevel INFO

启动 Admin-Web 服务

Admin-Web 服务提供管理员界面,以下是具体步骤:

shell 复制代码
cd admin/web
yarn install
yarn run serve

Admin-Web 服务启动后,可以通过 http://localhost:8081 访问。

启动 Admin-Server 服务

Admin-Server 服务负责管理后台逻辑,以下是具体步骤:

shell 复制代码
cd admin/server
go mod tidy
go run main.go

初始化管理员账号

  1. 访问以下地址,初始化管理员账号:

    bash 复制代码
    http://localhost:3000/install
  2. 填写管理员账号信息(例如邮箱和密码),并完成初始化。

初始化管理中心的数据库表

  1. 访问以下地址,初始化管理中心的数据库表:

    bash 复制代码
    http://localhost:8081/#/init
  2. 填写对应的数据库配置信息,点击初始化按钮。

注意

  • 管理中心和 Dify 使用同一个数据库。
  • 管理员后台账号密码与 Dify 第一个账号相同。

常见问题

后台管理员账号

后台管理员账号的用户名和密码与 Dify 第一个账号一致。例如,如果初始化的 Dify 第一个账号为 [email protected],则管理员后台的登录账号为 famousmai,密码相同。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关推荐
ice_junjun4 分钟前
OpenCV Video 模块使用指南(Python 版)
人工智能·python·opencv
景联文科技38 分钟前
景联文科技:以高质量数据标注推动人工智能领域创新与发展
人工智能·科技·数据标注
仙人掌_lz42 分钟前
RAG(Retrieval-Augmented Generation)基建之PDF解析的“魔法”与“陷阱”
人工智能·深度学习·ai·pdf·rag
赛卡1 小时前
自动驾驶背后的数学:ReLU,Sigmoid, Leaky ReLU, PReLU,Swish等激活函数解析
人工智能·pytorch·python·神经网络·机器学习·数学建模·自动驾驶
訾博ZiBo1 小时前
AI日报 - 2025年3月25日
人工智能
小白的高手之路1 小时前
Pytorch中的数据加载
开发语言·人工智能·pytorch·python·深度学习·机器学习
Fansv5871 小时前
深度学习框架PyTorch——从入门到精通(6.2)自动微分机制
人工智能·pytorch·经验分享·python·深度学习·机器学习
墨绿色的摆渡人2 小时前
用 pytorch 从零开始创建大语言模型(六):对分类进行微调
人工智能·pytorch·python·深度学习·语言模型·embedding
猎人everest2 小时前
机器学习之概率论
人工智能·机器学习·概率论
豆芽8192 小时前
二项式分布(Binomial Distribution)
人工智能·python·机器学习·numpy·概率论