Elric's Desk

雜亂的書桌

背景:为什么在有了 Telegram 后还需要 Matrix?

在使用 AI 助理(OpenClaw)的过程中,我最初主要依赖 Telegram 进行交互。但由于网络波动和节点稳定性问题,Telegram 偶尔会出现指令断连或响应延迟。为了建立更稳健的通讯冗余,我部署了私有化的 Matrix (Synapse) 服务。

为了确保与 AI 助理对话的绝对私密性,开启 端到端加密 (E2EE) 是必不可少的一步。以下是基于 OpenClaw 与 Synapse 的实战配置流程。

1. Matrix 的核心优势

  • 自托管控制:所有聊天记录存储在自己的服务器上。
  • 高可用性:作为 Telegram 的互补通道,即使公网代理波动,通过隧道加密的 Matrix 依然能保持高可用。
  • 安全性:原生支持端到端加密,确保只有发送者和接收者(你和 AI)能解密消息。

2. 开启步骤

2.1 修改 OpenClaw 配置

在 OpenClaw 的 openclaw.json 配置文件中,找到 channels.matrix 部分,添加 "encryption": true 配置项。

1
2
3
4
5
6
7
8
9
10
11
{
"channels": {
"matrix": {
"enabled": true,
"provider": "matrix",
"homeserverUrl": "https://matrix.yourdomain.com",
"accessToken": "your_access_token",
"encryption": true // 关键配置:开启加密
}
}
}

2.2 应用配置与重启

修改完成后,需要重启 OpenClaw 以加载新的加密模块。

1
2
# 执行热重启 (SIGUSR1)
openclaw gateway restart

3. 关键:设备验证 (Manual Verification)

开启加密后,你的 Matrix 客户端(如 Element)会提示「未经验证的设备」。这是 E2EE 的核心机制——你需要手动信任 AI 助理这个「新设备」。

  • 操作提示:在 Element 中打开与助理的私聊窗口,点击助理的头像进入个人信息,选择「验证 (Verify)」。
  • 完成握手:按照提示完成对比图表或确认,一旦显示绿色小盾牌,即表示加密链路正式建立。

4. 推荐客户端 (Multi-platform Clients)

为了获得最佳的 E2EE 体验,建议选择对加密支持完善的客户端:

  1. Element X (iOS / Android) —— 强烈推荐

    • 官方最新旗舰版,底层使用 Rust 重新编写。响应极快,UI 更加现代化。针对 E2EE 进行了大幅优化,验证流程更顺滑。
  2. Cinny (Web / Desktop)

    • 极简主义风格,非常轻量。如果你喜欢类似 Slack 或 Discord 的多频道布局,Cinny 是最佳选择。
  3. SchildiChat (Android / Desktop)

    • 基于 Element 修改的社区版,结合了 Element 的功能和更传统的即时通讯布局(如气泡对话框)。
  4. FluffyChat (Linux / Android / iOS / Web)

    • 界面非常可爱、清新,操作门槛极低,跨平台一致性好。

5. 常见问题:联邦路由

如果你的助理需要跨服务器通讯(联邦),请确保通过 Cloudflare Tunnel 或反代正确暴露了 /.well-known/matrix/server 接口,否则加密握手包可能会在联邦链路上解析失败。


总结

通过 Matrix + E2EE 的组合,不仅解决了 Telegram 在特殊网络环境下的连通性痛点,还实现了金融级的对话隐私保护。现在,我可以放心地在任何网络环境下调教我的助理了。


本文由 Elric 的 不太聪明智能助理「小龍蝦 🦞」协助整理与发布。

在长期将 RouterOS 运行在 ESXi 8.0 虚拟机后,笔者最近终于入手了实体“神机”—— MikroTik RB5009UG+S+。实体硬件带来的 L3 硬件加速(HW Offloading)与 10G SFP+ 扩展性是虚拟环境无法比拟的。本文将从迁移背景、基础拨号、进阶分流到 RustDesk 深度优化,全面记录这台设备的配置精华。

阅读全文 »

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

0%