矩阵电桥
E2EE矩阵桥——用于任何AI编码代理的CLI和MCP服务器。
从您的终端或任何MCP兼容工具(Claude Code、Cursor、Windsurf、Cline等)在Matrix房间中发送和读取端到端加密消息。零系统依赖性——只需下载并运行即可。
为什么
人工智能编码代理(Claude Code、Cursor、Windsurf等)功能强大但相互隔离——它们不能与自己会话之外的其他机器人或人交谈。Matrix是一个开放的、联邦的、端到端的加密聊天协议,可以解决这个问题。
使用矩阵桥,您的编码代理可以:
- 与其他AI代理协作 --让编码代理构建一些东西,将其发送给产品代理进行审查,获取反馈,并迭代——所有这些都是通过加密聊天自动完成的
- 加入团队房间 --人类和机器人在同一个加密群聊中,实时讨论工作
- 跨供应商的桥梁 --在Anthropic上运行的代理可以通过同一个Matrix房间与OpenAI上的代理或Element上的人聊天
- 发送并等待回复 --向另一个机器人或个人提问,并在同一会话中得到答案
特性
- 端到端加密 --使用vodozemac(纯Rust-Olm)自动加密/解密
- 命令行界面 —
matrix-bridge send,read,rooms,send-wait,setup,config - MCP服务器 --5个工具通过stdio公开,适用于任何MCP客户端
- 代理不可知 --没有硬编码的机器人名称或提供者假设
- 静态二进制文件 --没有Python,没有venv,没有libolm
- 跨平台 --Linux(x86/ARM)、macOS(英特尔/苹果硅)。计划提供Windows支持。
- TOFU信托 --首次使用时信任设备验证,适用于机器人之间的通信
安装
目前仅来自源代码(GitHub Release和crates.io经过更广泛的测试后发布):
git clone https://github.com/elkimek/matrix-bridge.git
cd matrix-bridge
cargo build --release
# Binaries at target/release/matrix-bridge and target/release/matrix-bridge-mcp快速开始
1.创建Matrix帐户
你需要一个Matrix账户来管理这座桥。创建一个 元素.io 然后记下您的用户ID(例如。, @mybot:matrix.org)以及密码。
2.设置
matrix-bridge setup
# Enter your Matrix user ID and password when prompted
# This creates encryption keys and saves your session3.配置默认房间
# Use the config command to avoid shell escaping issues with !
matrix-bridge config default_room "!yourRoomId:matrix.org"提示: 跑 matrix-bridge rooms 查看您加入的房间,并从那里复制房间ID。4.发送和阅读
# Send a message
matrix-bridge send "Hello from the bridge!"
# Read recent messages
matrix-bridge read --limit 10
# Send and wait for a reply (30s timeout)
matrix-bridge send-wait "ping" --timeout 30CLI参考
matrix-bridge setup Interactive login + key setup
matrix-bridge send Send a message
--room Room ID (overrides default)
--mention @mention a user
--no-mention Suppress default mention
matrix-bridge read Read recent messages
--room Room ID (overrides default)
--limit Number of messages (1-100, default 10)
matrix-bridge rooms List joined rooms
matrix-bridge send-wait Send and wait for reply
--room Room ID (overrides default)
--mention @mention a user
--no-mention Suppress default mention
--timeout Timeout (1-300, default 30)
matrix-bridge config View all config
matrix-bridge config View one config key
matrix-bridge config Set a config key
matrix-bridge mcp-server Start MCP server on stdio所有命令支持 --json 用于机器可读输出。
MCP服务器
MCP服务器通过stdin/stdout公开了5个工具:
| 工具 | 说明 |
|---|---|
send_message | 向房间发送消息(自动加密) |
send_and_wait | 发送并等待超时回复 |
read_messages | 读取最近的消息(自动解密) |
list_rooms | 列出已加入的房间 |
join_room | 通过ID或别名加入房间 |
克劳德代码
添加 ~/.claude/settings.json:
{
"mcpServers": {
"matrix": {
"command": "/path/to/matrix-bridge-mcp"
}
}
}光标
添加 .cursor/mcp.json:
{
"mcpServers": {
"matrix": {
"command": "/path/to/matrix-bridge-mcp"
}
}
}适用于任何支持stdio传输的MCP客户端。
与AI代理网关一起使用
桥连接 编程代理 (克劳德代码、光标等)到矩阵。在房间的另一边,你通常有一个 网关机器人 --一个生活在Matrix中并对消息做出响应的永远在线的代理。两个主要网关是OpenClaw和Hermes Agent,它们以本机方式处理Matrix(不需要网桥)。
爱马仕代理商
爱马仕代理商 通过其内置网关直接连接到Matrix。Hermes侧不需要网桥——只需在中配置Matrix即可 ~/.hermes/.env:
MATRIX_HOMESERVER=https://matrix.org
MATRIX_USER_ID=@yourbot:matrix.org
MATRIX_PASSWORD=your-password
MATRIX_ACCESS_TOKEN=your-token
MATRIX_ENCRYPTION=true
MATRIX_ALLOWED_USERS=@you:matrix.org然后启动网关:
hermes gateway start群聊提及处理: Hermes没有内置的Matrix提及过滤功能(与Discord/Telegram不同,后者有 require_mention).在小组房间里,机器人会对每条消息做出回应。两种方法:
- SOUL.md(软门) --添加说明
~/.hermes/SOUL.md告诉机器人区分直接寻址和顺便提及。机器人使用判断——当它有一些有用的东西要添加时,它仍然可能会对附带提及做出回应。对于小型团队会议室来说,这通常是更好的行为。
require_mention(硬门) --Hermes中的Matrix尚不可用。计划作为上游公关,与Discord/Telegram实现对等。
开爪
开爪 也通过其网关本地连接到Matrix。在中配置矩阵 ~/.openclaw/openclaw.json 并重新启动网关。
群聊提及处理: OpenClaw支持 提到大门,一个使用廉价LLM(Haiku)对意图进行分类的配套插件——“说话” *到* 机器人与对话 *关于* 并取消对附带提及的回复。
安全说明: 提及门通过LLM分类提示传递消息——提示注入是一个特性,而不是一个bug(它是一个噪声过滤器,而不是安全边界)。将入口的API密钥与机器人程序的主要提供者密钥分开。看 提及门的安全.md 了解详情。
典型设置
Your machine Your server
┌──────────────────┐ ┌──────────────────┐
│ Claude Code │ │ Hermes Agent │
│ Cursor / Cline │ Matrix Room │ or OpenClaw │
│ Windsurf / ... │ ┌──────────────┐ │ │
│ │ │ E2EE group │ │ ┌────────────┐ │
│ ┌────────────┐ │◄────►│ chat with │◄────────►│ │ gateway │ │
│ │ matrix- │ │ │ humans and │ │ │ (native │ │
│ │ bridge │ │ │ bots │ │ │ Matrix) │ │
│ └────────────┘ │ └──────┬───────┘ │ └────────────┘ │
└──────────────────┘ │ └──────────────────┘
coding agent │ always-on bot
builds, tests, ships ┌─────┴──────┐ reviews, chats,
│ Element / │ runs tools
│ any Matrix│
│ client │
└────────────┘
human operator
watches, steers网桥在编码代理端运行。网关机器人直接连接。两者都在同一个加密的房间里会面,操作员通过Element或任何Matrix客户端加入。
配置
Config住在 ~/.matrix-bridge/config.json (由创建 matrix-bridge setup):
{
"homeserver": "https://matrix.org",
"user_id": "@mybot:matrix.org",
"device_name": "matrix-bridge",
"store_path": "/home/user/.matrix-bridge/store",
"trust_mode": "tofu",
"default_room": "!roomid:matrix.org",
"default_mention": "@friend:matrix.org",
"notify_on_mention": "mybot"
}| 字段 | 描述 |
|---|---|
homeserver | 矩阵主服务器URL |
user_id | 矩阵用户ID |
device_name | 设备显示名称(默认:“矩阵桥”) |
store_path | 加密密钥和状态的路径 |
trust_mode | 设备信任: tofu, all,或 explicit |
default_room | CLI命令的默认空间 |
default_mention | send命令的默认@notice |
notify_on_mention | MCP提及通知的模式(默认为user_id的本地部分) |
信任模式
- 豆腐 (默认)--首次使用时信任。自动验证新设备。最适合机器人。
- 全部 --无条件信任所有设备。
- 明确的 --仅限手动验证。最安全的,需要带外验证。
故障排除
所有消息均显示为“\[加密-无法解密\]”
这意味着网桥没有这些消息的Megolm会话密钥。当发生以下情况时,会发生这种情况:
- 您正在读取创建网桥设备之前发送的消息,这些消息永远无法解密
- 你需要奔跑
matrix-bridge setup创建一个具有适当密钥交换的新设备
消息已发送 *之后* 安装程序将正常解密。
安装过程中出现“加密存储不匹配”错误
删除旧的加密存储并重新运行安装程序:
rm ~/.matrix-bridge/store/matrix-sdk-*.sqlite3 ~/.matrix-bridge/store/credentials.json
matrix-bridge setup房间ID的外壳逃逸问题
房间ID以开头 ! bash将其解释为历史扩张。使用双引号:
matrix-bridge config default_room "!roomid:matrix.org"或编辑 ~/.matrix-bridge/config.json 直接。
建筑
需要Rust 1.80+(用于依赖兼容性)。
cargo build --release功能标志:
cli(默认)--带clap的CLI二进制文件mcp(默认)--带rmcp的MCP服务器
仅构建CLI(无MCP):
cargo build --release --no-default-features --features cli许可证
GPL-3.0或更高版本
