基于
Spring Boot + React/Vite + Dify的 AI 知识库问答平台,打通登录 -> 创建知识库 -> 上传文档 -> OCR/Dify 入库 -> 问答的完整业务闭环。
这是一个面向实际交付的 AI engineering(AI 工程化,中文解释:围绕真实业务流程构建的工程项目)项目,不是简单聊天壳。
- 面向场景:企业知识库、文档问答、内部资料检索
- 核心价值:让文档上传、入库、检索、问答形成可验收闭环
- 当前状态:本地联调已通过,主链路可用,适合演示和继续扩展
- 已完成
Auth、知识库管理、文档上传、任务状态跟踪 - 已完成
Dify dataset/document API对接 - 已完成
PDF -> OCR -> Dify入库链路 - 已完成
QA / chat SSE问答链路和Sources(来源,中文解释:答案引用依据)展示 - 已完成本地
Docker联调、浏览器验收和截图归档 - 仍待完成:
Linux真实宿主机部署演练
JWT auth:登录注册和接口鉴权- 知识库创建、列表、详情、共享
- 文档上传到
LOCAL / MinIO存储 - 异步入库任务流转与状态展示
- 自动创建
Dify dataset - 普通文件直传入库
PDF -> OCR -> Dify text document扫描件链路- 知识库范围内的
QA / chat SSE - 检索结果和
Sources引用返回 - 失败任务重试、失败文档删除
- 前端:
React + Vite - 后端:
Spring Boot 3.3 - 运行时:
Java 21 - 数据库:
PostgreSQL - 缓存:
Redis - 对象存储:
MinIO - AI 核心:
Dify self-hosted - OCR:独立 OCR service
- 部署:
Docker + host Nginx
本仓库采用 Hybrid Dev(混合开发,中文解释:前后端本地跑,基础依赖可本地或容器化)的方式。
- 启动
Dify:
cd /d D:\services\dify\docker
docker compose up -d --build- 启动项目后端栈:
cd /d D:\Workspace\CodexProject\My_KnowledgeBase
docker compose --env-file deploy\.env -f deploy/docker-compose.yml up -d --build- 启动前端:
cd /d D:\Workspace\CodexProject\My_KnowledgeBase\apps\web
npm install
npm run dev -- --host 0.0.0.0 --port 3001- 打开页面:
- 前端:
http://localhost:3001 - 后端健康检查:
http://127.0.0.1:8081/actuator/health
- 停项目后端栈:
cd /d D:\Workspace\CodexProject\My_KnowledgeBase
docker compose --env-file deploy\.env -f deploy/docker-compose.yml down- 停
Dify:
cd /d D:\services\dify\docker
docker compose down- 关闭前端
npm run dev窗口:
- 按
Ctrl + C
完整说明见:
.
|-- apps/
| |-- server/ # Spring Boot API
| |-- web/ # React frontend workbench
| `-- ocr/ # OCR adapter service
|-- deploy/ # deployment files and Nginx config
|-- docs/project/ # project docs, reports, decisions
|-- docs/picture/ # Playwright verification screenshots
|-- scripts/ # local dev, test, build, rehearsal scripts
|-- standards/ # delivery and deployment standards
`-- .runtime/ # local runtime data
- requirements-summary.md
- mvp-boundary.md
- technical-decision.md
- quality-report.md
- predeploy-report.md
- release-record.md
- 执行
Linux宿主机部署演练 - 视需要补充批量清理 / 批量重试能力
- 如果部署环境受限,继续收敛镜像缓存和构建稳定性




