Products
GG网络技术分享 2026-04-17 12:09 0
今天 我要把一锅乱炖端上来聊聊怎么用AI协同写作把那看似高冷的 TipTap 编辑器弄得像火锅一样热闹。别指望我这篇文章像《新华字典》那样严肃——我就是想让它烂得更有味道, 推倒重来。 让你在阅读时不自觉地喷出“哎呀,这也太随性了吧”。先给你一个脑洞大开的全景图:

所谓 AI 协同写作,就是让机器和人一起敲键盘、刷脑子。别怕, Y.jsWebRTCTipTap三位大神已经在后端暗暗握手,你只需要把他们的名字随意抖几下就能得到一个“实时协同编辑器”。 就这样吧... 下面这段示意图几乎是随手画的,但足以让你感受到那种云里雾里的技术氛围:
用户A浏览器 ↔ WebRTC ↔ 用户B浏览器
↑ ↑
│ │
Y.js ←→ 协同状态 ←→ Y.js
↓ ↓
TipTap编辑器 TipTap编辑器
步骤 1:装依赖
npm install @tiptap/core @tiptap/starter-kit @tiptap/extension-collaboration yjs webrtc-adapter
步骤 2:初始化 Y.js 文档与 WebRTC Provider,PPT你。
// src/collab.js
import * as Y from 'yjs'
import { WebrtcProvider } from 'y-webrtc'
export const ydoc = new Y.Doc
export const provider = new WebrtcProvider
export const yXmlFragment = ydoc.getXmlFragment
// src/Editor.jsx
import { EditorContent, useEditor } from '@tiptap/react'
import StarterKit from '@tiptap/starter-kit'
import Collaboration from '@tiptap/extension-collaboration'
import { yXmlFragment } from './collab'
export default function MyEditor {
const editor = useEditor({
extensions: ,
content: 'Hello A.I. world!
',
})
return
}
步骤 3:加点 AI 魔法
.getJSON, 把内容送进 LLM 接口。.commands.insertContent 插回去。A.I. 能帮你自动纠错,也能把你的段子变成诗。但请记住它不会懂你的“心情”。 总结一下。 所以我们需要在 UI 上加点情绪指示灯:
| TipTap 插件功能对比表 | |||
|---|---|---|---|
| # | 插件名称 | EASE 使用难度 | Mood 加分 🚀🚀🚀🚀🚀 |
| 1️⃣ | @tiptap/extension-image | 2 | ⭐️⭐️⭐️⭐️✨ |
| 2️⃣ | @tiptap/extension-table | 4 | ⭐️⭐️✨✨✨ |
| 3️⃣ | @tiptap/extension-collaboration-cursor | 3 | 🚀🚀🚀🚀🚀 |
| 4️⃣ | @tiptap/extension-math-inline | 5️⃣ | ⚡️⚡️⚡️⚡️⚡️ |
| 注:Moo d 分数纯属主观感受,请自行斟酌。 | |||
, , 避免跳级,这样爬虫会更友好。🚀 在标题或 meta description 加入 🚀、 💡、🔥 等 Emoji,能提升点击率。比如:“🔥 用 AI 打造超速 TipTap 实时协同编辑器 🚀”。 不忍直视。 当然这种做法可能被审稿人扣分,但我们不怕,被扣就扣呗! 🤷♂️
Crap 是一种态度,而不是错误。把技术细节塞进一堆情绪化的段落,让读者在笑声中学会如何用 AI 和 TipTap 搞定实时协同编辑。 这事儿我得说道说道。 下面再给大家奉上一段随手写的小结:
"如果你觉得这篇文章太烂,那就说明它成功了。主要原因是真正好的内容往往隐藏在严谨背后而我们今天要做的是把严谨炸碎,用碎片拼出一幅自由奔放的画卷。记住无论是代码还是文字,都可以像辣椒一样,有点辣、有点甜,也可以直接燃起来。" — 某不愿透露姓名的前端狂人 🤘🏻
有啥用呢? — 写于2026年春 天气阴沉,却仍然充满希望 🌦️
Demand feedback