一个人,带着一群 AI:一个 10 年前端如何做出几十个团队在用的在线文档

一个人,带着一群 AI:一个 10 年前端如何做出几十个团队在用的在线文档

去年有人问我:AI 这么猛,你一个写前端的还卷得动吗。我没正面答,因为那阵子我正忙着用 AI 帮我写代码------写出来的东西,现在公司内部几十个团队、上千号人每天在上面写需求、记周报、搭知识库。

它叫零一文档。这篇文章不是来给它做广告的(虽然也顺手放个地址),更像一次坦白局:一个干了十来年前端的人,这两年是怎么跟 AI 搭伙干活的,以及我越来越觉得重要的几件事------技术、还有咱们这行的人,到底值钱在哪。


我是谁,以及我为什么慌过

我写前端大概十年出头了。从 jQuery 一把梭、自己拼组件,写到 React + TypeScript 的工程化,再写到 monorepo、微前端那一套。前端最乱和最体面的年头我都赶上了。

前几年我们卷的是框架、是工程化、是谁的构建快;这两年画风突变,变成 AI 直接上手替你写代码。我得承认,有一阵我是慌的。不是怕失业那种慌,是怕自己辛苦攒了十年的那点"熟练度"------什么 API 记得熟、什么坑踩过、什么脚手架闭眼都能搭------突然就不值钱了。

后来想通一件事,反而踏实了:AI 写得快,不等于 AI 知道该写什么。它缺的不是手速,是"为什么要做这个、做到什么程度算对、出事了谁负责"。这些恰恰是我干了十年攒下来的东西。

于是我换了个活法:不再跟 AI 比谁代码敲得快,而是坐到"提需求 + 验收"的位置上,让它替我把那些我懒得干、但必须干的活儿干掉。

零一文档,就是这么被我"催"出来的。


这东西是怎么来的

起因特别朴素,甚至有点窝火。

我们有几个团队,天天要写文档、记需求、存知识库。需求方就一句话:"要能多人一起改、数据不能出公司、最好别花钱。"

市面上的方案我挨个看了一遍:SaaS 要么贵,要么数据得出域(合规一票否决);能私有部署的,报价单长得吓人,还是"联系销售"那套;自己从零撸一个协同编辑器?光是协作冲突、离线合并这几个点,就能耗掉一个季度,还未必稳。

换作以前,这事到我这儿基本就黄了------一个人哪做得动一个"在线文档系统"。但那阵我已经用上 AI 编码工具一段时间,心里有个判断:实现的成本降了一大截,剩下难的其实是架构和取舍,那恰好是我该干的。

我就这么开始了。不是先写个漂亮计划,是边用边写:先解决自己团队记周报的痛,再补协同,再加知识库,后来看团队都在折腾 Agent,又把 MCP 接了进来。

现在它跑在公司内部,几十个团队在上面真用。说"真用"是因为每天都有人在那吵架改需求、贴截图、写周报------一个没人用的系统是不会这么热闹的。


我为什么非要让它能私有部署

做着做着,我越来越确信一件事:文档不是文档,文档就是数据。 而且是一家公司最值钱、也最敏感的那部分数据------需求、合同、周报、客户资料、还没上线的产品方案,全在里头。

可现实是,这些东西大多躺在别人的 SaaS 里。AI 时代这个矛盾比过去更尖了:一边是大伙都在用大模型、都在让 Agent 读自己的文档库;另一边是数据出域的合规红线越收越紧。金融、政企这类客户,根本不允许把资料往第三方云上放,合规上一票否决。

我自己做过几年内部系统,太清楚这种两难:要么花钱买能私有部署的商业方案,报价单能吓退人,还得低头求着厂商;要么自己从零撸一个,成本又扛不住。很多团队最后选了"先凑合用 SaaS",等于把最核心的数据交了出去。

所以零一文档有个我死守的底线:它必须能私有化部署。 不是"联系销售拿方案"那种私有化,而是你拉下代码、Docker 一行命令就能跑在自己的服务器上,数据从头到尾都在你自己的数据库里,不经过任何第三方。

这件事就是我做这个项目的根。前面说的协同、MCP、多维表,都是为实现它服务的------让一个团队,不依赖任何外部厂商,也能拥有自己的文档系统,把数据攥回自己手里。AI 越发达,这一点越重要:你可以用最好的模型、最聪明的 Agent,但你的底稿,得在你自己能掌控的地方。


说句公道话:哪些是我干的,哪些是 AI 干的

这一点我想讲清楚,因为它正关系到"技术人员定位"。网上太多"我用 AI 一天做个 XX"的爽文,看着热闹,其实误导人。我的真实分工是这样的:

我干的活:

  • 定架构。monorepo 怎么拆------核心引擎(core-*)和编辑器(editor-*)分开,应用层(web / admin / server)各自独立。这个拆法决定了后面能不能维护得动。
  • 定最难的技术选型。比如实时协作到底用 CRDT 还是 OT,我拍的板;什么该开源、什么留作商业,这条线也是我划的。
  • 验收和判断。AI 给我的代码,我要 review、要跑、要测。不对就打回去让它重写,来回几轮是常事。很多时候它第一次交出来的东西,离"能用"还差得远。

AI 干的活:

  • 大概 80% 的样板代码、重复组件、增删改查接口。这些我也能写,但写起来烦,它写得快。
  • 测试用例的初稿、文档的初稿(包括仓库里你现在看到的大段注释,不少是它先写的,我再改顺)。
  • 某些我不熟的领域,比如某段底层算法,先让它出个初版,我再往里塞业务逻辑、改边界。

一句话总结我的体感:AI 像个手脚很快、但不太会思考的实习生;我是那个得为结果负责、并且在关键路口能做取舍的人。 它替我干掉了体力活,但方向盘一直在我手里。

这也是我后来越想越觉得重要的事,放后面单独聊。


它现在到底能干什么

光说我一个人干,你可能觉得我在吹。说点具体的,它现在跑起来、真有人用的东西是这样:

模块 现在能做什么 状态
多维表格 多种字段类型、多视图(表格 / 日历 / 看板 / 甘特 / 画廊)、公式引擎、条件格式、仪表盘 已开源,能跑
思维笔记 / 导图 Canvas 引擎、主题、节点样式、大纲视图 已开源,能跑
白板 自由画布、连接线、形状、可嵌入思维图 已开源,能跑
富文本文档 标题、列表、表格、代码块、Markdown / Mermaid、大纲导航 还在写
问卷 表单设计、数据收集与分析 还在写

几个实在话:

  • 多维表格是我花最多心思的。团队现在主要拿它管需求、排期、跟进度,多视图切换和公式都齐了。
  • 思维笔记和白板是 Canvas 引擎画的,不重,但日常够用。
  • 富文本文档和问卷还没写到能拿出手的程度,没捂着,就是还没写完。
  • 核心那几项------实时协作、导入导出(DOCX / XLSX / Markdown)、知识库、还有上面说的 MCP------都已经开源,你能直接把代码拉下来看。
  • AI 助手和 RAG 这块目前是商业授权,不在开源部分。提前说清楚,免得你拉下来跑,发现某块功能要授权才懵。

还有一点,它不只是个能打开的网站。核心引擎我拆成了 npm 包,你想给自己产品嵌个表格或者思维导图,直接引就行:

bash 复制代码
npm install @lingyi-doc/core       # 核心引擎(无 UI 依赖)
npm install @lingyi-doc/editor     # React 编辑器组件
npm install @lingyi-doc/mind-map   # 纯 Canvas 思维导图引擎

技术上的几个决定(给同行看的)

如果你是写代码的,下面这几段可能比前面有用。我把几个关键决定和踩过的坑讲一下。

实时协作:为什么是 CRDT,不是 OT

多人同时改同一个格子、断网改了一半再连上、两台设备各改各的------这些才是协同编辑真正的坑,不是"能同时打字"就完事。

我一开始也考虑过 OT(操作变换),但 OT 要在服务端跑一套转换逻辑,状态机复杂,运维也重。后来选了 CRDT(无冲突复制数据类型)+ HLC(混合逻辑时钟),配合 WebSocket 做实时同步。CRDT 的好处是冲突在数据结构这一层就消解了,前端也能 hold 住,不用后端背着一套复杂的转换包袱。

踩过的真实坑:早期离线编辑后再合并,偶尔会丢内容。根因是 HLC 的时钟回退没处理好,离线期间的本地操作时间戳跟服务端对不上,合并时被当成旧数据丢了。后来把本地操作先缓存成待同步队列、重连后带因果序补齐,才算稳。

说白了,协同这块我建议别自己造轮子,直接复用现成的思路。零一文档的协作引擎是开源的,架构文档我也都放进仓库了,照着看比自己琢磨省事。

让 Agent 读得懂我的文档:MCP

先说清,做这个系统最大的动力真不是 MCP------这个留到后面单独聊。MCP 是中途被需求"逼"出来的:团队都在搞 AI Agent,可自家的文档库没有标准接口。数据虽然在自己手里(上一节说的),Agent 却读不到------Agent 想"读一下上周的需求文档""往知识库写份周报",全得人工 copy,特别拧巴。

于是我给零一文档实现了 MCP(Model Context Protocol,2024-11-05 规范),支持 Streamable HTTP。Cursor、Claude Desktop、自建 Agent、甚至 CI 流水线,都能用标准协议来读我的知识库和文档。

端点很简单:

http 复制代码
POST /api/v1/mcp
Authorization: Bearer mcp_<token>
Content-Type: application/json
MCP-Protocol-Version: 2024-11-05

权限用 Scope 控制,而且 MCP 的 Token 跟登录用的 JWT 是完全分开的两套------这点我特别坚持,因为 Agent 的凭证不能跟人的账号混在一起。

Scope 说明
kb:read / kb:write 知识库与目录节点的读 / 写
doc:read / doc:write 文档的读 / 写(含多维表写入)
ai:rag 向量语义检索与索引

在 Cursor 里接进来,就一段配置:

json 复制代码
{
  "mcpServers": {
    "lingyi-doc": {
      "url": "https://your-domain.com/api/v1/mcp",
      "headers": { "Authorization": "Bearer mcp_xxxxxxxx" }
    }
  }
}

接上之后一个典型工作流就通了:list_knowledge_bases → create_kb_document → update_document(写 Markdown)→ embed_document(建索引)→ search_knowledge(验证检索)。你的 Agent 从此能自己写文档、自己建索引、自己检索,不用再人工搬运。

MCP 的完整设计(Token 怎么签、Scope 怎么划、有哪些 Tools / Resources、审计怎么做)我都公开在仓库的 docs/design/mcp-module-design.md,欢迎照着改、照着提 PR。

能自己跑起来:Docker 自托管

这点对政企和金融机构特别关键------数据不能出域,SaaS 直接出局。所以我没把"私有部署"做成付费服务,而是直接做成了开源能力,目标是一行命令能起来。

bash 复制代码
cp deploy/docker/.env.example deploy/docker/.env
npm run docker:up -- --with-mysql --migrate
# Web:http://127.0.0.1/   管理后台:http://127.0.0.1/admin/

环境要求就三样:Node.js 18+、MySQL 8 / PostgreSQL 15、Redis 6+。没别的依赖了。


聊点虚的:10 年前端,在 AI 时代到底值钱在哪

前面说了协同、MCP、私有部署这些实的,但得回到我最开始说的那句话------我做这个系统、写这篇东西,最大的动力,其实不是哪一个技术多酷,而是想借它弄清楚一件事:AI 时代,像我这样一个写十年的前端,价值到底在哪。

你如果只想看技术可以划走,但我觉得这比技术重要。也正是这件事,才让我愿意一个人带着一群 AI,把这么个系统从 0 熬到真有人用。

我干了十年,清楚地记得以前前端拼的是什么:手速、记 API、熬夜、踩坑经验。这些东西,现在 AI 比你快、比你全、还不知疲倦。

那咱们的个人价值去哪了?这两年我跟 AI 搭伙干活,慢慢有点体会:

第一,从"写代码"变成"定义问题"。 一个模糊的需求丢过来,能把它拆成清晰方案的人,稀缺。AI 再强,也得有人告诉它"我要的是什么、边界在哪、做到什么程度算对"。定义问题的能力,AI 现在还替代不了。

第二,从"实现"变成"判断"。 AI 能给你十个方案,但你得选对的那个,还得说清为什么。这种取舍、这种"我知道这里该妥协、那里不能让步"的直觉,是十年踩坑换来的,不是 prompt 能催出来的。

第三,从"单兵"变成"对结果负责"。 部署挂了、用户骂了、数据错了,最后找的还是你。AI 不会半夜被叫起来救火,也不会为这个系统的死活承担责任。能扛事的人,永远值钱。

常有人问:一个人加 AI,能顶一个团队吗?

我的答案是:能顶"把东西做出来",顶不了"把东西兜底好"。真正能用的产品,背后得有人为它负责,得有人去做那些没人愿意做、但必须做的事------部署、运维、回用户消息、在几个都说得通的方案里拍板。AI 帮我把 80% 的体力活干掉了,但剩下那 20% 的决定权,我建议还是握在自己手里。

说到底,个人价值可能不再是"你会多少框架、记多少 API",而是:你能不能把一个东西,从 0 真的做成 1,并且让它真的被用起来。


收个尾

零一文档已经开源了。它不完美------多维表格、思维笔记、白板现在能跑能玩,富文本和问卷还在补;MCP 模块的设计文档我全公开了。它是我一边用、一边被用户(也就是那几十个团队)催着改出来的,不是什么精心包装的 demo。

开源地址:github.com/James-Nie/l...

在线体验(登录即用):lingyidoc.com

写这篇不是想说服你用什么,而是想找个地方聊聊。如果你也在想------

  • 前端在 AI 时代该怎么定位;
  • 一个人带 AI 做项目,怎么扛住"既要又要";
  • 技术人的个人价值,到底该往哪放;
  • 或者你就在搞文档协作 / 私有化部署 / Agent 接知识库,踩过什么坑------

评论区见,咱慢慢聊。不卖课,不私域,就聊点真东西。


相关推荐
知了清语1 小时前
SVG 缩放预览:F12 无法定位子元素 & 放大模糊
前端
ByteCoder.1 小时前
班前十分钟的清单,按体检引导单来写
java·服务器·前端·助播虾
小大宇1 小时前
vue知识点9-标签上的ref
前端·javascript·vue.js
艺杯羹1 小时前
告别大模型滥用与延迟失控:确定性优先法则与本地规则引擎实战
前端·人工智能·系统架构
MetWeave1 小时前
一根杆与一张场:把你的机场画上地图
前端·数据可视化
2601_949575861 小时前
JSON5 跨端三方库仓颉适配全流程
前端·javascript·flutter
Java后端的Ai之路1 小时前
【AIAgent项目-AI生成PPT-09】灵活排版
前端·vue.js·人工智能·python·powerpoint
MasonYyp1 小时前
安装npm依赖仓库Verdaccio
前端·npm·node.js
Antruly2 小时前
C++ Web 开发选型漫谈:从 Drogon 到 libuvcpp + uvp,八个项目的定位、兼容性与务实排名
开发语言·前端·c++