钉钉ai表格问卷的富文本技术方案分析
2026-08-12 · 164 阅读
今天,看到(钉钉多维表格 / Notable) 底部有个简约的富文本表格,https://alidocs.dingtalk.com/notable/share/form/v01J9LnW6jR1E0aalvD_dv19yqvsgs3oebp3pcjys_1qX0QQ0?spm=a2ty_o06.30903501.0.0.6d63c921a0Q2Nq&source=link
其中,有格式刷,清空格式,字体,字号,加粗,图片(md格式)等基本功能,
于是让ai看看这个富文本是什么开源代码?
根据对该页面(钉钉多维表格 / Notable)底层代码和技术架构的分析,这个表单中使用的富文本编辑器并不是直接套用的某个开源项目,而是阿里巴巴钉钉团队自主研发的闭源商业级编辑器。
以下是关于该富文本技术栈的详细背景和开源关联解析:
1. 当前使用的自研引擎:仓颉(Cangjie) / we_word_editor
你在页面中看到的富文本输入框,底层使用的是钉钉文档团队自研的 “仓颉”富文本编辑器(Cangjie) 。在代码层面,它通常以 we_word_editor SDK 的形式被集成到钉钉文档和多维表格(Notable)中 。
特点:这是一款面向下一代文档和AI场景的编辑器,具备极强的性能、支持复杂的多人实时协同(OT/CRDT算法)、深度适配移动端,并且原生支持AI智能写作能力。
开源状态:目前该编辑器属于钉钉的核心商业技术资产,并未开源。
2. 历史渊源:曾经深度定制的 Slate.js
如果你是在寻找这个编辑器“看起来像哪个开源库”,那么它确实与 Slate.js 有很深的渊源。
在钉钉文档发展早期,团队为了攻克多人实时协同编辑的难题,曾基于开源框架 Slate.js 进行了大量的底层重构和深度定制 。
钉钉文档团队甚至曾在技术社区发布过著名的《钉钉文档Slate连载》系列文章,详细拆解了他们如何改造 Slate.js 的指令系统(Operation)和插件体系来实现企业级协同 ,
。虽然如今他们已演进到自研的“仓颉”架构,但早期的数据模型设计和交互逻辑仍留有 Slate.js 的影子。
3. 为什么你会觉得它像某个开源项目?
钉钉多维表格的富文本交互(如:块级拖拽、/ 斜杠命令、悬浮工具栏)非常现代化,这导致很多开发者误以为它使用了某款流行的开源 Block 编辑器。如果你是想在自己的项目中复刻这种体验,目前开源社区中有以下几个最佳替代方案:
Tiptap (基于 ProseMirror):这是目前社区中最接近钉钉/飞书多维表格体验的开源方案。例如,有一个名为 pxcharts-vue 的开源多维表格项目,其设计风格完全对标钉钉和飞书,其富文本部分正是基于 Tiptap 构建的 。另一款开源协同编辑器 isle-editor 也是基于 ProseMirror 和 Tiptap 开发的 。
Lexical:Meta(Facebook)开源的下一代富文本框架,同样采用了类似于钉钉文档的无头(Headless)和节点化设计,非常适合做复杂的块级编辑。
Textbus:这是一款国产开源富文本框架,其官方明确宣传“你可以在 Textbus 中轻松创建出类似钉钉文档、石墨文档、飞书文档等完全自定义的编辑器” 。它在概念和数据驱动模型上与钉钉文档非常相似。
总结
你看到的这个富文本没有直接对应的开源代码,它是阿里钉钉自研的仓颉(we_word_editor)。但如果你是想寻找技术栈来实现类似的功能,建议调研 Tiptap 或 Slate.js。
参考,
仓颉,由钉钉文档自主研发的仓颉编辑器,提供开箱即用、所见即所得的富文本编辑器,帮你更快创建文档级应用(https://page.dingtalk.com/app/we-editor/site/index.html)
《我做编辑器这些年:钉钉文档编辑器的前世今生》,展新展新,知乎
《基于 prosemirror、tiptap 的开源富文本编辑器 isle-editor》,掘金
更新:2026-08-12 12:05:06