不吹个牛你怎么进来
,哈哈哈哈,但它真的很好用——那就是我刚刚手搓的 Doco(https://doco.showme.talk)。
一直以来,我都是个重度文档用户,写笔记、写技术方案、写项目复盘、写公众号——从古早的印象笔记开始,一路试过各种工具,换了一茬又一茬,没有一个真正让我停下来。
真是每个工具都有难以忍受的缺点,而且用久了都会遇到同一个问题:
那些"能用"的工具,其实都在圈地
先致敬语雀,它是我用过最好的中文文档编辑器,没有之一。排版清爽、交互细腻、Markdown 和富文本无缝切换——尤其是它那个在文档里直接写代码画流程图的功能,我第一次用的时候惊为天人。不用打开 draw.io 画好导出来贴进去,直接在文档里写几行 Mermaid 源码,流程图就渲染出来了。这个体验太好了,当然在 Doco 里必须保留。
但语雀有一个致命伤——数据出不来。想批量导出?想用脚本自动备份?想让 Agent 帮你整理笔记?全都堵死。不是技术上做不到,是必须付费买会员才能开。我不知道他们的产品经理是怎么想的——你的知识沉淀在上面,但你对它的掌控力约等于零。
再说飞书文档。飞书是另一个在"文档内直接画图"这件事上做了功课的产品。它的编辑器功能确实全——Mermaid 是支持的,电子表格是内嵌的,协同是天生的。但它的问题也跟它的野心一样大:它是一个帝国。你用飞书文档,就等于签了移民协议——IM、日历、审批、OKR,全套下来。我想用的只是一个编辑器,不想换个国籍。
Notion 就更离谱了。大家说它重,其实重点不在于功能多,而是它现在越来越像个 AI 推销员——打开就问你用不用 AI,新建页面就推荐 AI 模板,编辑器本身却止步不前。它的块编辑能力这么多年没大进步,文本选中后的格式化操作比语雀差了不止一档。我不需要一个在我写东西时不停推销自己的工具,我需要一个让我安静写作的工具。
Google Docs 太丑,简直没眼看,更别说它的 UX 设计,还是上古时代的 Word,用它我还不如用 WPS 呢。Obsidian 编辑体验也差了一口气——当然人家定位不一样。各自都有自己的核心用户群,但全都不满足我最在意的那个点:一个真正把数据交到你手上的写作工具。
具体说就两条:
语雀那样的编辑体验——流畅、细腻、可以全键盘操作; 数据完全由我掌控。怎么存、怎么导出、怎么被脚本调、怎么喂给 Agent,全部我说了算
找遍都没有,那就自己做一个。
Doco:一个为自己写的编辑器
项目叫 Doco,取名非常潦草,就是"文档"的意思。没有产品定位,没有用户画像,没有 PRD——就是我自己需要一个工具,然后花了几亿个 token,和点滴的修正优化,让 ai 逐步实现出来。
做完我发现,它已经不只是个"够用"的东西了。
### 编辑这件事,细节决定幸福感
内核选了 Tiptap(ProseMirror 的 React 封装),开源世界里最成熟的富文本框架。但框架只是骨架,真正让你觉得好用的是那些肌肉记忆层面的东西:
输入 /弹出命令面板,打英文/拼音缩写就能搜——lct插入流程图,dmk插入代码块,dzbg插入电子表格。全程手不离键盘。粘贴 Markdown 直接转正文:跟语雀学的,真是太方便了,特别是可以让 本地 agent 生成一段,贴进来就能改,不用再手动调整格式。 选中文字,浮动工具栏自动弹出:该有的格式化操作全在指尖两厘米以内。 悬停任意段落左侧,拖拽手柄浮现,像搭积木一样调整内容顺序。 长文折叠。暂时不写的章节收起来,状态会记住,下次打开还是老样子。 - 标题自动多级编号
。说到这个我真是想不通:Word 时代开始,写长篇文档手动维护 1.1、1.2、2.1.3 就一直是种折磨。几十年过去了,几乎所有在线文档工具都默认不做这件事。为什么?这不是什么高深的技术难题——CSS counter 几行代码就搞定的事。Doco 里我把它做成了一个开关,一键切换,H1 到 H4 自动按层级编号。写长文档的时候,你只管写内容,编号它自己管。
文本绘图,向语雀致敬
前面说了,语雀的"文档内写代码画图"让我印象深刻。Doco 把这个能力加了进来,并且做得更极致——直接提供 Mermaid 和 PlantUML 两套语法入口。
流程图、时序图、类图、甘特图、状态图——源码写进去,图表自动渲染。双击随时编辑,渲染实时更新。全屏查看、拖拽缩放,跟独立的图表工具一样顺滑。
我不理解为什么这个功能没有成为在线文档的标配。除了语雀和飞书,几乎没人做。可能是因为大部分文档产品面向的不是技术人员?但说真的,你只要写过一次"用代码画图"的方式,就再也回不去 draw.io 那种导出-导入-替换-重导出的鬼畜流程了。

### 电子表格,不小心写深了
我一开始只想加个表格。
后来想,单元格能不能求和?加了。能不能冻结表头?加了。能不能筛选排序?加了。等我回过神来,已经撸出了一个完整的电子表格引擎——公式计算、单元格格式化、合并拆分、CSV 导入导出、协同编辑,全部就位。
它可以嵌在文档里作为一个内容块存在,也可以作为独立的全屏电子表格打开。在写技术方案的时候随手算一笔账,在做调研报告的时候插一个对比矩阵——全部在一个页面里完成,不需要切换到 Excel 再截图贴回来。
这不是计划内的功能,但确实很实用。
### 多端同步,服务器在我手上
协同编辑用了 Yjs 的 CRDT 算法:
电脑写一半,关屏出门,掏出手机接着写。没有保存按钮,没有冲突提示,一切自动发生。 断网不影响编辑。浏览器 IndexedDB 是主存储,后端只是快照。网络恢复后自动同步差异。
后端跑在我自己的服务器上。 数据是 SQLite 文件,想备份就备份,想迁移就迁移,想分析就分析。不存在"服务宕了数据丢了"这种事。
导出不是施舍,是权利
一个工具的导出能力,是这个工具尊不尊重用户的试金石。
Doco 里你想怎么导出就怎么导出:
单篇 Markdown,API 一调,干净的 .md到手。图形自动转围栏代码块。整个知识库一键 ZIP 打包,文件夹层级完整保留。 前端直接导出 Word、PDF,所见即所得。
导出的东西拖进 Git 就能版本管理,丢给 AI 就能二次加工,塞进静态网站生成器就是博客。你的文档终于不再是谁的俘虏。
API 优先:文档是活的,不是死的
Doco 还暴露了一套完整的 REST API,OpenAPI 3.1 规范,Bearer Token 认证,ETag 版本控制。
它就不只是给人看的——它是可编程的信息资产。写个脚本自动备份到 GitHub,搭个 Agent 自动整理知识库,从发布流程里直接调 API 把文档同步到博客。文档放在文件夹里是死物,接上 API 就成了活的。
都用 agent 了,还有没有必要自己写字?
现在大家都用 Agent 写文章了。但 Agent 写完,你不还是要看、要改、要收藏、要管理吗?我们产生的文字只会越来越多,不会越来越少。你始终需要一个趁手的工具来收纳这些东西——一个你说了算的、不会突然改版收费的、能跟你一起进化的编辑器。
所以,一个真正属于自己的编辑器,比以往任何时候都更值得拥有。
感谢 AI
两年前,我一个人绝对不敢做这种项目。
React 前端,Node.js 后端,ProseMirror 编辑器框架,Yjs CRDT 协同算法,、Mermaid 和 PlantUML 渲染引擎,完整的电子表格引擎,WebSocket 实时通信,OAuth 和邮箱登录,API Token 鉴权,Markdown/Word/PDF 导入导出——这每一个模块单独拿出来,都够一个人啃两周。
但现在有 AI。ProseMirror 的 Node 和 Mark 搞不清楚?AI 帮你读透文档。Yjs 的 UndoManager 跟协同模式冲突?AI 帮你排查。公式解析器怎么写?AI 跟你推演。我的角色从写代码的人变成了做决策的人——定方向、拍板、审结果,AI 负责落地。
以前大家自嘲说"我有个好想法,就差一个程序员了"。现在,嘿嘿。
Doco 就是这句话的最好证明。点击“阅读原文”可以直接在线体验。
Doco 是开源项目(https://github.com/songofhawk/doco)。如果你也厌倦了把思考和记录寄存在别人的硬盘上,欢迎来看看。
毕竟,趁手的工具,还是自己锻的最好用。
夜雨聆风