news 2026/9/2 16:55:12

OpenPencil实时协作完全指南:P2P直连、公共中继、区域Hub与配对码加入详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenPencil实时协作完全指南:P2P直连、公共中继、区域Hub与配对码加入详解

OpenPencil实时协作完全指南:P2P直连、公共中继、区域Hub与配对码加入详解

【免费下载链接】openpencilThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.项目地址: https://gitcode.com/gh_mirrors/op/openpencil

OpenPencil 是一款开源 AI 原生的矢量设计工具,它的实时协作功能支持 P2P 直连、公共中继与区域 Hub 三种连接方式,只需一个 10 位配对码即可跨设备加入同一份设计稿,实时看到队友的远程光标。本文将用简单语言讲清楚每种方式适合什么场景、如何一步步加入协作,以及背后的安全机制。

🎯 为什么需要 OpenPencil 实时协作?

传统设计工具里,"多人一起画"往往意味着导出文件、来回传版本。OpenPencil 的协作让多人同时在同一张活画布上工作

  • 🖱️ 实时远程光标,能看到队友正在编辑哪个元素
  • ✍️ 跨账号协作,访客(Guest)与所有者(Owner)角色分明
  • ⚖️ 冲突面板:逐条展示每次编辑,还能回放被丢弃的改动
  • 🔑配对码加入——局域网场景下甚至不需要注册账号

相关能力由协作协议库 crates/op-collab/(开放的线格式、规范哈希与精确应用逻辑)和传输层 crates/op-collab-transport/(原生加密传输、局域网发现)实现。

📡 三种连接方式:一图看懂

OpenPencil 提供三条链路,网络环境越差,越适合往右走:

方式适用场景是否需要公网特点
P2P 直连同一局域网(办公室、家里)延迟最低,数据只在两人之间走
公共中继跨城市、跨 NAT中继只转发密文,看不到文档内容
区域 Hub国内 / 全球两套基础设施就近接入,稳定性更好

1️⃣ P2P 直连:局域网里的最快通道

在同一个局域网内,OpenPencil 通过 mDNS(Bonjour)自动发现彼此,也可以手动输入对方 IP 直连。文档字节直接在两台设备之间传输,第三方完全不参与。

  • 优点:延迟最低、不依赖任何服务器
  • 限制:只能覆盖局域网;mDNS 发现信息是"临时身份证",不含账号、文档标题等隐私字段
  • 局域网会话无需账号即可体验协作

2️⃣ 公共中继:跨 NAT 的兜底链路

不在同一局域网时,双方通过一条 WSS(加密 WebSocket)中继链路完成握手与数据转发。关键点:

  • 中继是一个盲转发服务——它只搬运加密字节流,永远收不到明文文档操作
  • 真正的加密在两端之间用 Noise XX(X25519 + ChaChaPoly + BLAKE2s)完成,即端到端加密
  • 生产模式下中继会执行签名票据、签名定位器、区域、所有者密钥与质询绑定证明的多重校验

部署细节可参考 deploy/collab-relay/README.md。

3️⃣ 区域 Hub:国内与全球双基础设施

OpenPencil 内置国内(CN)与全球(Global)两套区域 Hub,各自拥有独立的定位服务(Locator)与中继服务:

  • 所有者发起会话时会选定一个"主页区域",并写入邀请的签名信息中
  • 访客始终按邀请里签名的区域加入,物理位置不会改变区域归属
  • 即使海外用户加入 CN 区域会话,也会经由专用 L4 入口固定回传至同一套 CN 中继,而不是"就近改道"
  • 区域选择影响的是可达性与延迟,而不是信任关系——两套 Hub 服务的是同一份离线签名文档,用同一组内嵌信任根验证

这套设计的完整契约见 docs/security/p2p-collaboration-threat-model.md,其中公开说明了协议、信任边界与威胁模型。

🔑 用配对码加入:三步上手

生产会话唯一对外暴露的加入入口,就是一段10 字符的区域标记配对码

  1. 所有者发起协作会话,OpenPencil 生成 10 位配对码(第 1 位字符表示中继区域,其余 9 位为随机熵)
  2. 访客在 OpenPencil 中输入配对码,客户端据此从对应的区域控制面领取密封的完整邀请
  3. 双方完成加密握手后,访客会先看到经过验证的所有者身份确认页——确认无误,才会在本地应用任何文档数据

几个值得注意的设计:

  • 配对码的配对窗口最长 1 小时,过期即失效
  • 完整邀请是加密密封存储的,持有存储数据也反推不出配对码
  • 配对码只是"进入配对流程的能力",本身不等于准入——所有者仍需逐一审批每位访客
  • 中继模式下访客可看到自己走的连接路径,但不会拿到所有者的邀请码

🔒 安全机制速览:中继看不到你的设计

很多用户担心"数据过服务器会不会泄露"。OpenPencil 的答案是:

  • 中继只转发,不解密:隧道内是逐字节桥接的握手与加密记录,配对后的帧按不透明二进制转发
  • 票据防重放:协作票据绑定该连接实际观察到的 Noise 静态密钥,被盗票据只能配合绑定的私钥使用,且有效期最多 15 分钟
  • 拒绝即无副作用:畸形、超大、过期、重放的操作会被整体拒绝,不会留下半个改动的文档
  • 密钥不落地:设备静态密钥存放在 macOS 钥匙串 / Windows 凭据管理器 / Linux Secret Service,内存中零化清理

完整资产清单、威胁-控制矩阵与残余风险,都写在公开的 威胁模型文档 里——安全协议不依赖实现保密。

📚 相关源码与文档路径

  • 协作协议核心(线格式、哈希、精确应用):crates/op-collab/
  • 加密传输、局域网发现与连接限额:crates/op-collab-transport/
  • 票据验证与认证桥接:crates/op-auth-bridge/
  • 中继服务端与部署文档:deploy/collab-relay/
  • 定位服务(Locator)部署:deploy/collab-relay-locator/
  • 两进程认证协作冒烟测试:crates/op-collab-smoke/
  • P2P 协作威胁模型:docs/security/p2p-collaboration-threat-model.md

❓ 常见问题

问:局域网协作一定要登录账号吗?不需要。局域网会话可以无账号直接体验;中继与跨区域会话则需要登录以获取短期协作票据。

问:配对码给别人后,对方能直接看到我文档吗?不能。配对码只让对方进入配对流程,所有者审批 + 访客确认所有者身份两道人工关卡通过后,才开始同步文档。

问:我的设计稿会被中继服务器保存吗?不会。中继按契约不解密、不持久化文档帧;它只能观察到接入与路由层级的元数据。

问:跨大陆协作会卡吗?区域 Hub 的意义正在于此:访客按邀请签名区域接入对应 Hub,海外用户通过固定回传通道收敛到同一套区域服务,避免跨区混用端点带来的失败。

✅ 小结

OpenPencil 实时协作把"和谁在哪个网络环境里"抽象成三个选择:局域网就 P2P 直连,跨网络走公共中继,追求稳定就用区域 Hub——而无论走哪条路,加入方式都统一为一个 10 位配对码,文档内容始终受端到端加密保护。对于想在不牺牲设计稿隐私的前提下体验多人协同的设计团队,这是一套协议完全开源、可审查的协作方案。

【免费下载链接】openpencilThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.项目地址: https://gitcode.com/gh_mirrors/op/openpencil

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 11:06:46

Kitty 终端实战指南:GPU 渲染、分屏会话与 5 个必配命令

Kitty 终端实战指南:GPU 渲染、分屏会话与 5 个必配命令 【免费下载链接】kitty If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based. 项目地址: https://gitcode.com/GitHub_Trending/ki/kitty Kitty 是一…

作者头像 李华
网站建设 2026/9/1 11:03:29

C# WinForms六轴运动控制卡上位机开发实战

简介:本资源是一套基于C# WinForm开发的六轴运动控制卡上位机软件,面向自动化设备研发工程师、运动控制系统集成人员及高校机电/自动化专业学生,用于快速实现对六轴运动控制卡的参数配置、轨迹规划、实时监控与指令下发。压缩包共360个文件&a…

作者头像 李华
网站建设 2026/9/2 15:05:21

【基于 Vue3 + Spring Boot 的高校共享电动车电子围栏与校园绿色出行调度系统】基于 Vue3 + Spring Boot 的设计与实现(含PRD/三端高保真源码/大屏)

【基于 Vue3 Spring Boot 的高校共享电动车电子围栏与校园绿色出行调度系统】基于 Vue3 Spring Boot 的设计与实现(含PRD/三端高保真源码/大屏) 🤖 创作声明:本文部分系统架构设计与场景推演由 AI 辅助分析生成,所有…

作者头像 李华
网站建设 2026/9/1 11:02:00

AI绕过结构预测直接设计RNA:端到端生成范式与工程实践

如果一个算法工程师突然接到一个需求:给定一个希望的RNA功能,让AI直接给出候选RNA序列,而不是先预测它的3D结构、再判断结构能不能实现功能、最后反推序列,你大概率会觉得少了一个关键环节。长期以来,RNA设计的主流路径…

作者头像 李华
网站建设 2026/9/1 11:01:35

Vorssaint签名指南:ad-hoc、自签与Developer ID三种方式详解

Vorssaint签名指南:ad-hoc、自签与Developer ID三种方式详解 【免费下载链接】vorssaint-utils Free and open-source macOS menu bar toolkit. 项目地址: https://gitcode.com/GitHub_Trending/vo/vorssaint-utils Vorssaint 是一款免费开源的 macOS 菜单栏…

作者头像 李华
网站建设 2026/9/1 10:59:28

微信报名工具小程序怎么做?在微信里发一张扫码即填的报名表

微信报名工具小程序,就是在微信里打开、扫码即填的轻量报名应用,常用于活动招募、培训登记、社群入群。要做最省事,推荐用龙艺秀这类零代码工具——不用写代码、不用上架审核,几分钟搭出可分享的微信报名工具小程序。本文以龙艺秀…

作者头像 李华