Skip to content

关于 DocFlow

Moment edited this page Feb 5, 2026 · 1 revision

DocFlow 是面向团队与知识工作者的 AI 驱动协同文档 系统:前端基于 Next.js + Tiptap,提供强大的编辑与插件体系;后端为本仓库 DocFlow-Server(NestJS),支持多人实时协作、权限管理、对象存储、AI 智能写作与检索增强问答,以及监控与日志等生产级能力。本文档同时介绍前端与后端能力与技术栈。

如果你对 项目 感兴趣,欢迎 Star 支持;如果想参与开发或进交流群,可添加微信 yunmz777

🚀 核心功能亮点

1. 前端:富文本编辑与灵活插件

  • 标题、列表、表格、代码块、数学公式、图片、拖拽等常用能力
  • 基于 Tiptap 的可扩展节点体系,支持表情、详情、提示、警告等增强组件

2. 前端:多人实时协作

  • 基于 Yjs + @hocuspocus、server 与 WebSocket,实现 CRDT 冲突自由的协同编辑
  • 光标与在线状态展示、多人并发编辑、变更合并与一致性保障

3. 后端:AI 智能写作与知识问答

  • AI 对话、内容润色、文章续写、并发头脑风暴(一个问题生成多个方案)
  • AI 播客、知识库问答、RAG 检索增强问答

4. 后端:权限与协作管理

  • 基于 RBAC 的精细化权限:只读、可评论、可编辑
  • 团队与组织协作、文档版本历史回溯

5. 后端:架构与可观测性

  • 高性能:基于 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 单测与端到端测试

更多参考:前端仓库 DocFlowpackage.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 容器化与进程管理

💡 为什么选择这个项目?

  1. Node.js 全栈进阶最佳实践:从 Next.js 到 NestJS,从 Prisma 到 MySQL,覆盖现代全栈关键环节。
  2. 复杂业务场景:不仅仅是 CRUD,你将接触到实时协作、AI Agent、文件处理、复杂权限设计等高难度场景。
  3. 真实生产级标准:包含完整的 CI/CD、Lint 规范、Docker 部署、监控报警方案。
  4. 紧跟 AI 浪潮:深入理解 RAG(检索增强生成)、Agent 开发、向量数据库等前沿 AI 技术在业务中的落地。

🚀 快速开始(Server)

  • 安装依赖:在根目录执行 pnpm install
  • 本地开发:pnpm run start:dev(Fastify + 热更新)
  • 代码质量:pnpm run lintpnpm run type-check
  • 单元测试:pnpm run test
  • Docker 一键:docker compose up -d(参考根目录 docker-compose.yml)

🧭 运维与部署(Compose 概览)

  • 监控: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