Nimbalyst 同步与安全架构解析:CollabV3 端到端加密与零知识同步机制
【免费下载链接】nimbalystNimbalyst - The open-source visual workspace for Claude Code, Codex, and OpenCode. Run multiple coding agents in parallel, edit their work visually in markdown, mockups, and diagrams, and track tasks. Free, MIT-licensed desktop app for macOS, Windows, Linux, with mobile companion for iOS and Android.项目地址https://gitcode.com/gh_mirrors/ni/nimbalyst点击查看免费下载Nimbalyst是一款开源的可视化 AI 编码工作区支持并行运行 Claude Code、Codex、OpenCode 等多个编码代理。它的CollabV3 同步系统使用端到端加密AES-256-GCM与零知识架构让桌面端、iOS、Android 设备实时协作而服务器永远只能看到一堆天书般的密文——看不到你的一字一句。这篇文章用大白话拆解这套同步与安全架构的运作原理。图Nimbalyst 多代理会话工作区左侧是同步过来的 AI 会话列表中间是代理的代码修改为什么需要零知识同步想象一下你在公司电脑上让 AI 修 bug回到家想用 iPad 继续查看进度或者出门在外用手机给桌面端排一条待办指令。这就要求会话数据能在多台设备间实时同步。但同步意味着数据要经过服务器。如果服务器能直接读到你的代码和对话就等于把家钥匙交给了快递员。Nimbalyst 的解法是加密只在你的设备上发生服务器只是一个加密信封搬运工。这套系统由文档 SYNC_ARCHITECTURE.md 和 SECURITY_REVIEW.md 完整描述核心就两句话端到端加密消息内容在发出去之前就加密只有持有密钥的设备能解密️零知识服务器不持有你的根密钥数据库里全是密文理论上服务器零知情整体架构一个哑巴中转站Nimbalyst 的同步链路长这样┌─────────────┐ ┌─────────────────┐ ┌─────────────┐ │ 桌面端 │◄──────►│ CollabV3 服务器 │◄──────►│ 移动端 │ │ (Electron) │ WSS │ (Cloudflare │ WSS │ (iOS/Android)│ └─────────────┘ │ Durable Objects)│ └─────────────┘ │ └─────────────────┘ ▼ ┌─────────────┐ │ 本地 SQLite │ ← 本地数据库永远是数据权威来源 │ (PGLite) │ └─────────────┘几个关键设计传输协议WebSocketWSS长连接实现毫秒级实时推送服务器形态Cloudflare Durable Objects SQLite只存加密数据块本地优先桌面端用内嵌数据库 PGLite 存储断网时自动降级为纯本地模式重连后补齐缺失消息绝不丢数据图同步到各设备的 AI 会话列表——桌面端的每一条会话都能在手机上看到CollabV3 协议两类房间与追加式消息CollabV3 是一个追加式append-only消息协议对话像日志一样只增不改天然适合 AI 会话这种线性对话场景。客户端与服务器之间有两类 WebSocket 连接房间用途连接时机会话房间Session Room同步单条会话的消息打开某会话时按需连接索引房间Index Room同步会话列表、项目列表、待执行指令开启同步后保持常连典型消息类型包括append_message把一条加密后的消息追加到会话message_broadcast服务器把其他设备的消息实时广播过来index_update/index_broadcast会话列表的增改与推送device_announce设备报到让其他设备知道你的手机也在线了一个很实用的场景手机上打字 → 排入待办队列 → 桌面端收到推送 → 自动替你发送给 AI → 结果再同步回手机。整个指令流转全程走加密通道。端到端加密的四个关键环节这是全文的精华。Nimbalyst 用业界标准的四步流程保证只有你自己能读1️⃣ 密钥种子只出生在你的设备上首次开启同步时设备本地随机生成32 字节256 位的加密密钥种子encryptionKeySeed。它是整条加密体系的根密码通过操作系统钥匙串macOS Keychain / Windows DPAPI / iOS Keychain / Android Keystore加密存储永不上传服务器——只有认证令牌authToken会发给服务器用于身份验证移动端配对时通过二维码本地扫描传递绝不经过网络相关实现见 CredentialService.ts。2️⃣ 密钥派生PBKDF2 磨出 AES 密钥密钥种子不能直接当密钥用需要加工。Nimbalyst 使用PBKDF2密钥派生函数参数值作用算法PBKDF2行业标准密钥派生盐值Saltnimbalyst:{userId}每用户唯一防彩虹表攻击迭代次数100,000 次大幅增加暴力破解成本哈希SHA-256安全哈希函数输出256 位 AES-GCM 密钥用于所有消息加解密这段逻辑放在共享运行时 encryptionKey.ts确保 Electron 桌面端、Node 无头宿主、原生 iOS 客户端用 CryptoKit 独立实现同一套参数派生出逐比特一致的密钥——否则解密就会得到一堆乱码。3️⃣ 消息加密每条消息独立加锁每条消息用AES-256-GCM单独加密且每次都用全新的随机 12 字节 IV初始化向量。GCM 模式还自带完整性校验标签——谁要是篡改了密文解密端立刻能发现。加密了什么消息正文、工具调用名、附件信息、隐藏标记、会话标题、排队指令。没加密什么时间戳、消息方向用户/AI、消息序号——这些结构元数据仅用于排序和路由。加密入口在 CollabV3Sync.ts密钥初始化流程在 SyncManager.ts。4️⃣ 防重复稳定同步 ID同一条消息在多次同步中不能被存两遍。Nimbalyst 用会话ID 时间戳 方向 内容前100字符做 SHA-256 哈希取前 16 字节作为稳定消息 ID天然去重。零知识到底意味着什么我们把服务器能看到与看不到的边界列清楚数据服务器可见说明消息正文 / 工具调用 / 附件❌AES-256-GCM 密文会话标题、排队指令❌安全审计后已补齐加密曾是明文已修复团队成员的文档内容与编辑操作❌文档级密钥 CRDT 加密用户 ID✅JWT 解析用于房间路由时间戳、消息方向、序号✅仅用于同步排序数据大小、活跃时间✅可推断你在何时干活 零知识 ≠ 绝对隐身。服务器看不到你说了什么但能看到你什么时候说了多少条。这是端到端加密的通用边界Nimbalyst 在其 SECURITY_REVIEW.md 中对此有诚实的审计记录包括会话标题与排队指令从明文升级为端到端加密的修复过程。身份层面服务器用Stytch B2BJWT JWKS 签名验证确认你是谁而密钥种子层面确认只有你能解密——认证与授权分离且 Stytch 的 secret key 只存在于服务器端客户端永远拿不到。手机配对密钥过二维码不过网络给新设备解锁数据的过程是零知识架构最优雅的体现桌面端生成二维码内含 userId、认证令牌与加密密钥种子手机扫码密钥直接面对面写入手机的安全存储两台设备从此共享同一根密钥各自本地派生出相同的 AES 密钥之后所有消息用同一把钥匙加解密图同步看板视图——所有设备的会话状态实时汇聚看板状态也由索引房间同步注意二维码有效期只有15 分钟且传输走的是相机本地扫码密钥从不经过网络传输。团队模式ECDH 密钥信封 Yjs 无冲突合并个人同步用的是一把钥匙开到底团队协作则更进一步。根据 Collaboration/README.mdECDH P-256 密钥交换每位成员持有一对身份密钥公钥注册在服务器。组织加密密钥通过**密钥信封key envelope**机制用成员公钥包裹分发——服务器只看到一堆信封不知道里面是什么Yjs CRDT多人同时编辑 Markdown 文档时编辑操作是加密的但 Yjs 冲突无自由数据结构保证离线各自改、上线自动合并、永不冲突信任复核门远端成员的编辑实时可见但在你明确接受之前不会写入磁盘——加密防服务器复核门防不怀好意的协作者详见 realtime-document-collaboration.md 的完整威胁模型分析。本地数据断网也照常工作同步是完全可选的功能。桌面端的数据权威永远在本地 PGLite 数据库未开启同步应用照常使用同步失败自动退回本地模式断网期间操作排队重连后批量补齐启动时增量同步Delta Sync只拉取本地缺失的消息分批限流绝不全量重传图本地 PGLite 数据库的表结构——ai_sessions、ai_agent_messages 等表是同步的数据基础结构与 nimbalyst-schema.prisma 对应安全设计速查清单 ✅把整套Nimbalyst 同步与安全架构浓缩成一张清单设计点实现端到端加密AES-256-GCM每消息独立随机 IV密钥派生PBKDF2 SHA-25610 万次迭代用户级盐值密钥存储OS 钥匙串Keychain/DPAPI/Keystore非明文文件密钥分发二维码本地扫码15 分钟过期不经网络身份认证Stytch B2B JWTJWKS 签名验证短时效令牌密钥隔离根密钥种子永不出设备secret key 只在服务器完整性GCM 认证标签 稳定消息 ID 去重防重放优雅降级断网转本地、操作排队、重连自动补齐给普通用户的一句话总结你开启同步的那一刻Nimbalyst 就在你的设备上造了一把只属于你的钥匙此后服务器经手的只是上锁的箱子开箱权自始至终在你手里。这正是零知识同步的精髓。 延伸阅读同步架构设计文档、同步与安全审计报告、团队协作架构、移动端同步本地测试指南赞分享【免费下载链接】nimbalystNimbalyst - The open-source visual workspace for Claude Code, Codex, and OpenCode. Run multiple coding agents in parallel, edit their work visually in markdown, mockups, and diagrams, and track tasks. Free, MIT-licensed desktop app for macOS, Windows, Linux, with mobile companion for iOS and Android.项目地址https://gitcode.com/gh_mirrors/ni/nimbalyst点击查看免费下载相关推荐Happy Server 自托管部署指南零知识端到端加密同步后端的架构与实践Happy Server 自托管部署指南零知识端到端加密同步后端的架构与实践 Happy Server 是 happy 项目中面向开源端到端加密 Claude人工智能AI AgentAI 应用移动开发CLI后端Notesnook 同步机制深度解析端到端加密、实时同步与合并冲突处理Notesnook 同步机制深度解析端到端加密、实时同步与合并冲突处理 Notesnook 是一款完全开源、端到端加密的笔记应用仓库根目录 README.m前端移动开发桌面应用应用安全Seafile 同步客户端守护进程架构解析文件同步、增量传输与加密机制Seafile 同步客户端守护进程架构解析文件同步、增量传输与加密机制 导读 Seafile 是一款开源云存储系统本仓库承载的是其 同步客户端守护进程sy存储数据同步创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

LBM流动模拟入门:D2Q9原理、Python实现与微流控应用

LBM流动模拟入门:D2Q9原理、Python实现与微流控应用

简介:本资源是一套基于格子Boltzmann方法(LBM)的流体流动数值模拟开源实现,面向计算流体力学初学者、高校科研人员及C科学计算实践者,用于学习LBM核心原理与工程化建模流程。压缩包为tgz格式,大小1.79MB&am…

2026/10/11 20:29:16 阅读更多 →
用Stitch SDK + Google ADK打造AI设计师Agent:stitchAdkTools()完整实战教程

用Stitch SDK + Google ADK打造AI设计师Agent:stitchAdkTools()完整实战教程

【免费下载链接】stitch-sdk Generate UI screens from text prompts and extract their HTML and screenshots programmatically. 项目地址: https://gitcode.com/gh_mirrors/st/stitch-sdk 点击查看 免费下载 想用一个 AI Agent 自动创建项目、生成 UI 界面并提取…

2026/10/11 20:29:16 阅读更多 →
Flutter断言语义化:用shouldly风格提升鸿蒙单元测试可读性

Flutter断言语义化:用shouldly风格提升鸿蒙单元测试可读性

1. 为什么要在 Flutter 中用 shouldly:断言语义化的价值1.1 原生 expect 断言之痛我在做 Flutter 单元测试时,最常写的断言就是expect(actual, equals(expected))。写多了以后,问题会集中在测试跑失败那一刻暴露出来:Expected: 42…

2026/10/11 20:28:15 阅读更多 →

最新新闻

iOS TableView 异步加载图片:从原理到实践,告别列表卡顿

iOS TableView 异步加载图片:从原理到实践,告别列表卡顿

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
对称边界如何让模态分析生成‘春节快乐’字形

对称边界如何让模态分析生成‘春节快乐’字形

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
纯软件STM32入门:无需开发板,仿真环境跑通核心外设

纯软件STM32入门:无需开发板,仿真环境跑通核心外设

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
UDS车载诊断实战指南:服务格式、时序与否定响应码解析

UDS车载诊断实战指南:服务格式、时序与否定响应码解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
HTML表单交互与DOM操作实战:从零构建可调试的网络编程训练

HTML表单交互与DOM操作实战:从零构建可调试的网络编程训练

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 1:03:48 阅读更多 →
LightGBM因子筛选与BiLSTM时序建模:量化投资策略实战

LightGBM因子筛选与BiLSTM时序建模:量化投资策略实战

简介:这份资源面向计算机相关专业学生、高校教师及量化投资初学者,提供一套将LightGBM与BiLSTM结合进行因子组合选取并构建量化投资策略的完整实践项目,可直接用于毕业设计、课程设计、实训实验或公司项目二次开发。压缩包共1408个文件&#…

2026/10/13 1:02:48 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →