-
Notifications
You must be signed in to change notification settings - Fork 197
关于 DocFlow
Moment edited this page Feb 5, 2026
·
1 revision
DocFlow 是面向团队与知识工作者的 AI 驱动协同文档 系统:前端基于 Next.js + Tiptap,提供强大的编辑与插件体系;后端为本仓库 DocFlow-Server(NestJS),支持多人实时协作、权限管理、对象存储、AI 智能写作与检索增强问答,以及监控与日志等生产级能力。本文档同时介绍前端与后端能力与技术栈。
如果你对 项目 感兴趣,欢迎 Star 支持;如果想参与开发或进交流群,可添加微信 yunmz777。
- 标题、列表、表格、代码块、数学公式、图片、拖拽等常用能力
- 基于 Tiptap 的可扩展节点体系,支持表情、详情、提示、警告等增强组件
- 基于 Yjs + @hocuspocus、server 与 WebSocket,实现 CRDT 冲突自由的协同编辑
- 光标与在线状态展示、多人并发编辑、变更合并与一致性保障
- AI 对话、内容润色、文章续写、并发头脑风暴(一个问题生成多个方案)
- AI 播客、知识库问答、RAG 检索增强问答
- 基于 RBAC 的精细化权限:只读、可评论、可编辑
- 团队与组织协作、文档版本历史回溯
- 高性能:基于 NestJS(Fastify 适配器)构建
- 全链路监控:Prometheus + Grafana,
/metrics指标与健康检查 - 高可用存储:MinIO、S3 对象存储,Redis 缓存加速
- 搜索能力:ElasticSearch、Fuse.js 全文检索
| 领域 | 技术选型 | 说明 |
|---|---|---|
| 基础框架 | Next.js | SSR、SSG 支持 |
| 编辑器 | Tiptap (ProseMirror) | 可扩展节点与插件体系 |
| 协同编辑 | Yjs + @hocuspocus | CRDT 协同,Provider、Server |
| UI 框架 | React 19 | 并发特性与 Suspense |
| 样式 | Tailwind CSS | 原子化样式与动画 |
| 通信 | Socket.io | 实时通道(协作、事件) |
| 质量保障 | ESLint、Prettier | 统一代码风格 |
| 测试 | Vitest、Playwright | 单测与端到端测试 |
更多参考:前端仓库 DocFlow 的 package.json 与 README(Next.js + Tiptap + Yjs 架构)。
本项目采用现代化的 Node.js 后端技术栈,不仅适合学习,更具备生产级能力:
| 领域 | 技术选型 | 说明 |
|---|---|---|
| 框架 | NestJS | 企业级 Node.js 框架,模块化架构 |
| Web 适配器 | Fastify | 比 Express 更高性能的 HTTP 框架 |
| 语言 | TypeScript | 强类型约束,提升代码质量与维护性 |
| 数据库 | MySQL 8 | Docker 默认数据库配置 |
| ORM | Prisma | 现代化的类型安全 ORM |
| 实时通讯 | Socket.io、Hocuspocus | WebSocket 服务,支持 Yjs 协作 |
| 缓存/队列 | Redis、BullMQ | 缓存、限流与异步任务队列 |
| AI/LLM | LangChain | 大模型应用开发框架 |
| 搜索 | ElasticSearch | 分布式搜索引擎 |
| 对象存储 | MinIO、ImageKit | 文件与图片存储服务 |
| 监控 | Prometheus + Grafana | 系统指标监控与可视化 |
| 日志 | Winston | 日志分级与归档 |
| 部署 | Docker + PM2 | 容器化与进程管理 |
- Node.js 全栈进阶最佳实践:从 Next.js 到 NestJS,从 Prisma 到 MySQL,覆盖现代全栈关键环节。
- 复杂业务场景:不仅仅是 CRUD,你将接触到实时协作、AI Agent、文件处理、复杂权限设计等高难度场景。
- 真实生产级标准:包含完整的 CI/CD、Lint 规范、Docker 部署、监控报警方案。
- 紧跟 AI 浪潮:深入理解 RAG(检索增强生成)、Agent 开发、向量数据库等前沿 AI 技术在业务中的落地。
- 安装依赖:在根目录执行
pnpm install - 本地开发:
pnpm run start:dev(Fastify + 热更新) - 代码质量:
pnpm run lint、pnpm run type-check - 单元测试:
pnpm run test - Docker 一键:
docker compose up -d(参考根目录 docker-compose.yml)
- 监控:Prometheus(9090)与 Grafana(4001 → 外部 4000),健康检查与仪表板已预配置
- 搜索与日志:Elasticsearch(9200)与 Kibana(5601),含自动初始化脚本与安全配置
- 存储:MinIO(9000/9001),默认创建公开 bucket:docflow
- 缓存与队列:Redis(6379,启用密码)、RabbitMQ(5672、15672)
- 数据库:MySQL 8(3306,utf8mb4),与 Prisma 集成
- 详见:docker-compose.yml