核心用法
Keychat 是为 OpenClaw 代理提供的端到端加密消息解决方案,集成 Signal 协议与 MLS(Messaging Layer Security)协议,通过 Nostr 去中心化中继网络传输。
安装流程:
- 执行
openclaw plugins install @keychat-io/keychat安装插件 - 重启网关后自动生成 Nostr 身份(
npub1...) - 首次启动后,代理会主动向用户发送 Keychat ID、联系人链接及二维码
连接方式:
1. 用户在 Keychat App 中点击「Add Contact」
2. 扫描二维码或粘贴代理的 npub
3. 代理自动接受请求并建立加密会话
用户可随时通过「what's my Keychat ID」指令获取身份信息。
显著优点
1. 协议级安全保障:采用 Signal Protocol(Double Ratchet)与 MLS 双协议加密,提供前向安全与后向安全
2. 去中心化架构:基于 Nostr 中继网络,无单一服务器故障或审查风险
3. 身份自主可控:用户完全拥有 Nostr 私钥,mnemonic 存储于系统密钥链(macOS Keychain / Linux libsecret)
4. 零配置体验:插件自动下载 Rust 桥接二进制文件,无需手动编译
5. 跨平台支持:覆盖 macOS(ARM/x64)与 Linux(x64/ARM64)
潜在缺点与局限性
1. Node.js 桥接依赖:核心加密逻辑以 Rust 实现,需通过 bridge-client.ts 桥接到 Node.js 运行时,增加攻击面
2. 平台限制:暂不支持 Windows 系统
3. Nostr 网络依赖:消息可达性受中继节点稳定性影响
4. 密钥管理风险:虽然 mnemonic 存入系统密钥链,但 keychain.ts 模块的权限请求可能引发用户疑虑
5. 升级需重启:每次更新需执行 openclaw gateway restart,影响在线会话
适合人群
- 对通信隐私有极高要求的开发者与高级用户
- 需要与 AI 代理进行敏感数据交换的企业场景
- 去中心化技术(Nostr/Signal)爱好者
- 已熟悉 Keychat 移动端生态的现有用户
常规风险
| 风险类别 | 具体说明 | 缓解建议 |
|---------|---------|---------|
| 供应链安全 | 插件自动下载 Rust 二进制文件,需验证签名 | 检查 `@keychat-io/keychat` 包的完整性校验 |
| 密钥泄露 | 系统密钥链被攻破可能导致身份失窃 | 启用系统全盘加密,限制物理访问 |
| 中继审查 | 恶意 Nostr 中继可能拒绝路由消息 | 配置多个中继节点,保持冗余 |
| 协议实现缺陷 | Signal/MLS 的 Rust 实现可能存在未知漏洞 | 关注上游安全公告,及时升级 |
安全扫描备注
官方文档提示安装时会出现两项预期警告:
bridge-client.ts:Rust 侧载进程的正常行为keychain.ts:系统密钥链访问的合理请求
用户应在理解上述机制后确认安装。