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 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

相关推荐
Ai财富密码1 小时前
机器学习 (ML) 基础入门指南
人工智能·神经网络·机器学习·机器人·ml
华科易迅2 小时前
人工智能学习38-VGG训练
人工智能·学习·人工智能学习38-vgg训练
m0_537437572 小时前
【深度学习基础与概念】笔记(一)深度学习革命
人工智能·笔记·深度学习
W说编程2 小时前
算法导论第二十四章 深度学习前沿:从序列建模到创造式AI
c语言·人工智能·python·深度学习·算法·性能优化
hao_wujing3 小时前
RNN工作原理和架构
人工智能
Xiaouuuuua3 小时前
我开源了一套springboot3快速开发模板
java·开发语言·开源
大模型铲屎官4 小时前
【深度学习-Day 31】CNN基石:彻底搞懂卷积层 (Convolutional Layer) 的工作原理
人工智能·pytorch·python·深度学习·机器学习·cnn·llm
算法如诗5 小时前
Stacking集成BP神经网络/RF/SVM和遗传算法的煤炭配比优化
人工智能·神经网络·支持向量机
观默5 小时前
我用AI造了个“懂我家娃”的育儿助手
前端·人工智能·产品
大明者省5 小时前
清代大模型:智能重构下的帝国黄昏与文明余晖
人工智能·重构