Merge pull request #1 from whale-hihihi/master Master
Merge pull request #1 from whale-hihihi/master
Master
面向部队日常文本处理需求的智能化统一平台 — 数据库课程项目
DifyFlow 通过对接 Dify AI 平台,实现文件上传 → 智能体处理 → 结果归档的完整业务闭环。支持即时任务与定时任务、自然语言生成 Dify 工作流 DSL。
确保 Docker Desktop 已启动,在项目根目录运行:
docker compose up -d
数据库运行在 localhost:15432,用户名 difyflow,密码 password。
localhost:15432
difyflow
password
cp .env.example .env
.env 默认内容可直接用于开发,无需修改。
.env
# Node.js 依赖(根 + server + client) npm install # Python 生成器依赖(M4 模块需要) pip install fastapi pydantic pyyaml uvicorn httpx jinja2 eval_type_backport
npm run db:migrate npm run db:seed
需要开三个终端:
终端 1 — 后端(端口 3001):
npm run dev:server
终端 2 — 前端(端口 5174):
npm run dev:client
终端 3 — NLG→DSL 生成器(端口 5000,M4 模块需要):
cd nlg-to-dsl && python web_app.py
或者一条命令启动前后端:
npm run dev
http://localhost:5174
admin
admin123
后端: Node.js 18+ / Express / TypeScript / Prisma / PostgreSQL 15 前端: React 19 / Vite 5 / Ant Design 5 / Zustand / React Router 6 实时: WebSocket (ws) 安全: JWT / bcrypt / AES-256-GCM 解析: pdf-parse / mammoth / xlsx / csv-parse AI: Python FastAPI / SiliconFlow (Qwen3.6-35B-A3B) / LLM 管道
difyflow/ ├── packages/ │ ├── server/ # Express 后端 │ │ ├── prisma/ │ │ │ ├── schema.prisma # 数据模型 │ │ │ ├── seed.ts # 种子数据 │ │ │ └── migrations/ │ │ └── src/ │ │ ├── controllers/ # 路由控制器 │ │ ├── services/ # 业务逻辑 │ │ ├── routes/ # API 路由 + Python 代理 │ │ ├── middleware/ # JWT / 上传 / 校验 │ │ ├── parsers/ # 6种文件解析器 │ │ ├── workers/ # 异步解析队列 │ │ ├── ws/ # WebSocket │ │ └── utils/ # 加密 / JWT / 文件工具 │ └── client/ # React 前端 │ └── src/ │ ├── pages/ # LoginPage, AssetsPage, AgentsPage, TasksPage, GeneratorPage, SettingsPage │ ├── api/ # API 调用层 │ ├── stores/ # Zustand 状态管理 │ ├── hooks/ # 自定义 Hooks │ ├── layouts/ # 侧栏布局 │ ├── styles/ # 全局样式 + NUDT 主题 │ └── router/ # 路由配置 ├── nlg-to-dsl/ # NLG→DSL Python 生成器 │ ├── web_app.py # FastAPI 后端 (端口 5000) │ ├── nlg_to_dsl_test.py # LLM 管道核心 │ ├── dify-dsl-builder/ # DSL 构建器库 │ └── static/ # 原版前端(参考) ├── dify-flow-prototype/ # 原型设计稿(HTML/CSS/JS) ├── dsl-templates/ # DSL 模板 ├── docker-compose.yml # PostgreSQL 容器 ├── init-db.sql # 数据库扩展 ├── PROGRESS.md # 开发进度记录 └── CLAUDE.md # AI 辅助开发指引
/api/auth/login
/api/auth/me
/api/dify-config
/api/dify-config/test
/api/agents
/api/agents/:id
/api/agents/:id/test
/api/assets/upload
/api/assets
/api/assets/:id
/api/assets/:id/download
/api/folders
/api/folders/:id
/api/tasks
/api/tasks/:id
/api/tasks/:id/execute
/api/search?q=&type=
/api/generator/chat
/api/generator/dsl/:sessionId
npm install # 安装全部依赖 npm run dev # 同时启动前后端 npm run dev:server # 仅启动后端 (端口 3001) npm run dev:client # 仅启动前端 (端口 5174) npm run db:migrate # 数据库迁移 npm run db:seed # 填充种子数据
schema.prisma
npm run db:migrate
.env.example
dify-flow-prototype/
DifyFlow智能文本处理系统计划书.docx
PROGRESS.md
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
DifyFlow 智能文本处理平台
项目概况
DifyFlow 通过对接 Dify AI 平台,实现文件上传 → 智能体处理 → 结果归档的完整业务闭环。支持即时任务与定时任务、自然语言生成 Dify 工作流 DSL。
模块完成状态
快速部署指南
环境要求
第 1 步:启动 PostgreSQL 数据库
确保 Docker Desktop 已启动,在项目根目录运行:
数据库运行在
localhost:15432,用户名difyflow,密码password。第 2 步:配置环境变量
.env默认内容可直接用于开发,无需修改。第 3 步:安装依赖
第 4 步:初始化数据库
第 5 步:启动项目
需要开三个终端:
终端 1 — 后端(端口 3001):
终端 2 — 前端(端口 5174):
终端 3 — NLG→DSL 生成器(端口 5000,M4 模块需要):
或者一条命令启动前后端:
第 6 步:访问系统
http://localhost:5174adminadmin123技术栈
项目结构
API 端点总览
/api/auth/login/api/auth/me/api/auth/me/api/dify-config/api/dify-config/api/dify-config/test/api/agents/api/agents/api/agents/:id/api/agents/:id/api/agents/:id/test/api/assets/upload/api/assets/api/assets/:id/api/assets/:id/download/api/assets/:id/api/folders/api/folders/api/folders/:id/api/folders/:id/api/tasks/api/tasks/:id/api/tasks/:id/execute/api/search?q=&type=/api/generator/chat/api/generator/dsl/:sessionId常用开发命令
注意事项
schema.prisma后必须运行npm run db:migrate.env不提交到版本控制,从.env.example复制dify-flow-prototype/是 UI 设计稿DifyFlow智能文本处理系统计划书.docx是需求来源PROGRESS.mdcd nlg-to-dsl && python web_app.py)