# DifyProjDemo **Repository Path**: leke_code/dify-proj-demo ## Basic Information - **Project Name**: DifyProjDemo - **Description**: Dify广播数智融合平台是一个基于Dify智能工作流引擎驱动的B/S架构演示平台,深度融合RAG知识库增强技术,实现广播内容的精准检索与智能生成。平台通过Python二次开发框架打通多业务系统数据通道,为运维人员提供智能数据问答、可视化图表分析、知识库精准检索服务。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-18 - **Last Updated**: 2026-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Dify广播数智融合平台 ## 项目概述 Dify广播数智融合平台是一个基于Dify智能工作流引擎驱动的B/S架构演示平台,深度融合RAG知识库增强技术,实现广播内容的精准检索与智能生成。平台通过Python二次开发框架打通多业务系统数据通道,为运维人员提供智能数据问答、可视化图表分析、知识库精准检索服务。 ### 核心特性 - **基于Dify智能工作流引擎**:利用Dify强大的AI工作流能力 - **RAG知识库增强技术**:精准的知识检索和智能回答 - **多业务系统数据通道打通**:统一的数据访问和管理 - **科技感UI设计风格**:基于AdminLTE的现代化界面 - **实时数据推送**:WebSocket实时通信 - **智能数据问答**:自然语言交互 ## 技术栈 ### 后端技术栈 - **Python版本**: Python 3.7.9 - **框架**: Django 3.2.x LTS - **API框架**: Django REST Framework 3.12.x - **实时通信**: Django Channels 3.0.x - **数据库**: MySQL 5.7 - **数据库驱动**: mysqlclient 2.0.x - **ORM**: Django ORM - **协议**: MCP (Model Context Protocol) - **ASGI服务器**: Daphne 3.0.x ### 前端技术栈 - **UI框架**: Bootstrap v4.4.1 - **管理模板**: AdminLTE v3.0.5 - **JavaScript库**: jQuery 3.5.1 - **实时通信**: WebSocket - **图表库**: Chart.js 2.9.4 - **图标库**: Font Awesome 5.15.4 - **模板引擎**: Django Templates ## 项目结构 ``` difyproj/ ├── backend/ # Django后端项目 │ ├── manage.py # Django管理脚本 │ ├── requirements.txt # Python依赖包 │ ├── config/ # Django配置 │ │ ├── settings.py # 主要配置文件 │ │ ├── urls.py # 主路由 │ │ ├── wsgi.py # WSGI配置 │ │ └── asgi.py # ASGI配置(WebSocket) │ ├── apps/ # 应用模块 │ │ ├── authentication/ # 认证应用 │ │ ├── dashboard/ # 首页应用 │ │ ├── knowledge/ # 知识库应用 │ │ ├── maintenance/ # 运维应用 │ │ ├── qa_system/ # 智能问答应用 │ │ └── ai_assistant/ # AI助手应用 │ ├── static/ # 静态文件 │ │ ├── css/ # 样式文件 │ │ ├── js/ # JavaScript文件 │ │ └── images/ # 图片文件 │ ├── templates/ # Django模板 │ │ ├── base.html # 基础模板 │ │ ├── auth/ # 认证模板 │ │ ├── dashboard/ # 首页模板 │ │ ├── knowledge/ # 知识库模板 │ │ ├── maintenance/ # 运维模板 │ │ ├── qa/ # 问答模板 │ │ ├── assistant/ # 助手模板 │ │ └── components/ # 组件模板 │ ├── media/ # 媒体文件 │ └── logs/ # 日志文件 ├── docs/ # 项目文档 ├── requirements/ # 依赖文件 │ ├── base.txt # 基础依赖 │ ├── development.txt # 开发依赖 │ └── production.txt # 生产依赖 └── README.md # 项目说明 ``` ## 功能模块 ### 1. 知识库场景 **依赖技术**: Dify + RAG - **应急预案**: 紧急情况处理指南和预案查询 - **培训教学**: 员工培训资料和教学内容 - **制度法规**: 规章制度和法规条文查询 ### 2. 运行维护场景 **依赖技术**: Dify + text2sql + 接口 + MCP + EChart + 二次开发 - **运行图查询**: 节目播出安排和时间表查询 - **交换开关**: 设备状态监控和远程控制 - **代播方案生成**: 自动播出策略制定和执行 - **统计图表生成**: 运营数据分析和可视化展示 ### 3. 智能问答场景 **依赖技术**: Dify + text2sql + BI + EChart + 二次开发 - **物资管理系统的智能问答**: 智能物资库存查询和管理 - **查询库存信息**: 实时库存状态和统计 - **统计图表生成**: 数据可视化分析 ### 4. 智能助手场景 **依赖技术**: Dify + 多模态模型 - **会议小助手**: 语音转文本后,归纳总结会议纪要 ## 安装和部署 ### 环境要求 - Python 3.7.9+ - MySQL 5.7+ - Redis 4.0+ - Node.js (可选,用于前端工具) ### 安装步骤 1. **克隆项目** ```bash git clone cd difyproj ``` 2. **创建虚拟环境** ```bash python -m venv venv # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate ``` 3. **安装依赖** ```bash pip install -r requirements/development.txt ``` 4. **配置数据库** ```bash # 平台已配置MySQL数据库连接 # 数据库信息: # 服务器: xxx.xxx.xxx.xxx:3306 # 数据库名: dify_broadcast_platform # 字符集: utf8mb4 # 运行迁移 cd backend python manage.py makemigrations python manage.py migrate ``` 5. **创建超级用户** ```bash python manage.py createsuperuser # 或使用默认管理员账号: # 用户名: admin # 密码: admin123 # 邮箱: admin@dify.local ``` 6. **收集静态文件** ```bash python manage.py collectstatic ``` 7. **启动开发服务器** ```bash python manage.py runserver ``` 8. **访问应用** - 主页: http://localhost:8000 - 管理后台: http://localhost:8000/admin - 演示登录: admin/admin123 ### 生产部署 1. **使用Gunicorn部署** ```bash pip install gunicorn gunicorn config.wsgi:application --bind 0.0.0.0:8000 ``` 2. **使用Daphne部署WebSocket** ```bash daphne -b 0.0.0.0 -p 8001 config.asgi:application ``` 3. **配置Nginx反向代理** ```nginx server { listen 80; server_name your-domain.com; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /ws/ { proxy_pass http://127.0.0.1:8001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /static/ { alias /path/to/staticfiles/; } } ``` ## API文档 ### 认证接口 #### 登录 ```http POST /api/auth/login/ Content-Type: application/json { "username": "admin", "password": "admin123" } ``` #### 演示登录 ```http POST /auth/demo-login/ ``` ### 知识库接口 #### 查询知识库 ```http POST /api/knowledge/query/ Content-Type: application/json { "type": "emergency", "query": "设备故障处理流程" } ``` ### 仪表板接口 #### 获取统计数据 ```http GET /api/dashboard/stats/ ``` ## 开发指南 ### 添加新功能模块 1. **创建Django应用** ```bash cd apps python ../manage.py startapp your_app ``` 2. **注册应用** 在 `config/settings.py` 中添加应用到 `INSTALLED_APPS` 3. **配置URL路由** 在 `config/urls.py` 中添加应用路由 4. **创建模板** 在 `templates/your_app/` 目录下创建模板文件 5. **添加静态文件** 在 `static/js/pages/` 目录下创建JavaScript文件 ### 自定义样式 1. **修改主题色彩** 编辑 `static/css/theme-tech.css` 文件中的CSS变量 2. **添加自定义组件** 在 `static/css/components.css` 中添加组件样式 3. **自定义动画** 在 `static/css/animations.css` 中添加动画效果 ### WebSocket集成 1. **创建消费者** ```python # apps/your_app/consumers.py from channels.generic.websocket import AsyncWebsocketConsumer class YourConsumer(AsyncWebsocketConsumer): async def connect(self): await self.accept() async def receive(self, text_data): # 处理接收到的消息 pass ``` 2. **配置路由** ```python # apps/your_app/routing.py from django.urls import re_path from . import consumers websocket_urlpatterns = [ re_path(r'ws/your_app/$', consumers.YourConsumer.as_asgi()), ] ``` 3. **前端连接** ```javascript const ws = window.wsManager.connect('your_app', '/ws/your_app/'); ``` ## 故障排除 ### 常见问题 1. **数据库连接失败** - 检查MySQL服务是否启动 - 验证数据库配置信息 - 确认数据库用户权限 2. **静态文件404** - 运行 `python manage.py collectstatic` - 检查 `STATIC_URL` 和 `STATIC_ROOT` 配置 3. **WebSocket连接失败** - 确认Redis服务启动 - 检查Channels配置 - 验证WebSocket路由 4. **Dify API调用失败** - 检查Dify服务状态 - 验证API密钥配置 - 确认网络连接 ### 日志查看 1. **Django日志** ```bash tail -f backend/logs/django.log ``` 2. **应用日志** ```bash tail -f backend/logs/apps.log ``` ## 贡献指南 1. Fork项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送分支 (`git push origin feature/AmazingFeature`) 5. 创建Pull Request ## 许可证 本项目仅用于演示目的,所有数据均为模拟数据。 ## 联系方式 - 项目维护者: Dify Team - 邮箱: support@dify.ai - 官网: https://dify.ai --- **注意**: 这是一个演示平台,主要展示基于Dify的二次开发结合广电业务的场景,体现大语言模型+Dify的能力。所有数据均为模拟数据,不代表真实的生产环境数据。