在AI个人助理领域,OpenClaw(曾用clawdbot、moltbot)凭借其强大的功能、社区支持及高度可扩展的插件架构,成为了许多用户的首选。然而,消息通道的选择往往令人头疼,目前支持飞书,不支持直接微信、企业微信、钉钉等,主力使用的不支持,只好另辟蹊径。
自建平台首先看到nextcloud talk,一番尝试后,主动放弃。随后发现Matrix,眼前一亮,作为一种开源、去中心化的通信标准,完美解决了这一痛点。本文将带你从零开始安装 OpenClaw,部署 Matrix (Synapse) 服务端,并深度集成 Matrix 插件。
OpenClaw 环境安装
首先,在服务器上执行以下一键安装脚本。该命令会自动配置 OpenClaw 的运行环境:
curl -fsSL https://get.openclaw.io | sh
Matrix 服务端与反向代理
使用Docker方式部署,可将 Synapse (Matrix 服务端) 与 Caddy (反向代理) 整合在一个 docker-compose 文件中,实现一键拉起。
- 创建目录
~/matrix并编写docker-compose.yml:
version: '3.3'
services:
synapse:
image: matrixdotorg/synapse:latest
container_name: synapse
restart: always
volumes:
- ./data:/data
environment:
- SYNAPSE_SERVER_NAME=matrix.yourdomain.com
- SYNAPSE_REPORT_STATS=no
ports:
- "8008:8008"
caddy:
image: caddy:latest
container_name: caddy-proxy
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- Caddyfile 与初始化
在同级目录创建 Caddyfile 并填入域名,随后启动:
matrix.yourdomain.com {
reverse_proxy synapse:8008
}
- 启动
docker-compose run --rm synapse generate
docker-compose up -d
- 创建管理员
docker exec -it synapse register_new_matrix_user -u admin -p your_password --admin -c /data/homeserver.yaml
Matrix 插件集成与故障排除
在安装 @openclaw/matrix 插件时,由于其依赖高性能的加密库,极易出现安装失败。
安装插件
openclaw plugins install @openclaw/matrix
故障排查
安装 @matrix-org/matrix-sdk-crypto-nodejs 报错这是最常见的痛点。该插件依赖 Rust 编写的原生模块,如果系统缺少构建环境,安装会卡住或报错。
- 安装构建工具链** 在执行插件安装前,请确保服务器已安装 Rust 和基础编译环境:
# 以 Ubuntu/Debian 为例
sudo apt update && sudo apt install -y build-essential python3
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
- 解决“重复插件”或“安装残留”
如果提示 duplicate plugin 或安装进度异常,需要彻底清理全局节点模块中的残留文件。
请务必使用以下准确路径:
# 彻底删除冲突的插件目录
rm -rf ~/.npm-global/lib/node_modules/openclaw/extensions/matrix
# 进入目录重新手动补全依赖
cd ~/.npm-global/lib/node_modules/openclaw/extensions/matrix
npm install
- 不支持 Workspace 协议
部分开发者版本使用了 workspace:* 这种 Monorepo 语法,标准 NPM 环境可能解析失败。修改 package.json,将依赖锁定为稳定版本。
"devDependencies": {
"openclaw": "^2026.2.9"
}
修改后重新执行 npm i,
启用matrix插件
openclaw plugins enable matrix
openclaw plugins list
机器人配置与授权
获取 Bot Access Token
通过 API 为机器人生成一个永久令牌:
curl --request POST \
--url https://matrix.yourdomain.com/_matrix/client/v3/login \
--header 'Content-Type: application/json' \
--data '{
"type": "m.login.password",
"identifier": { "type": "m.id.user", "user": "bot" },
"password": "your_bot_password"
}'
OpenClaw连接Matrix
编辑 ~/.openclaw/config.json,确保插件已启用并填入 Token:
| 配置项 | 说明 |
|---|---|
| homeserver | 你的域名,如 https://matrix.yourdomain.com |
| userId | 完整的机器人 ID,如 @bot:matrix.yourdomain.com |
| accessToken | 上一步 API 返回的长字符串 |
对接与测试
最后,完成机器人与房间的配对:
- 配对审批:
openclaw pairing list matrix
openclaw pairing approve matrix <ID>
在 Matrix 客户端(如 Element)中邀请 Bot 加入房间,然后发送一条 @Bot 的消息。如果它回复了,恭喜,已搭建完成!
- 功能验证: 在 Matrix 房间中 @机器人 发送一条指令。如果机器人能正常回复,说明整套 Synapse + OpenClaw 体系已完美打通。
小结
- 安装报错:多半是因为缺少 Rust 环境导致原生加密库编译失败。
- 路径清理:当插件状态异常时,手动清理
~/.npm-global/lib/node_modules/openclaw/extensions/matrix是最有效的“重置”手段。 - 性能建议:自建 Matrix 比较吃内存,建议为 Synapse 容器配置
mem_limit,限制 Docker 容器的内存使用。
注: 如果服务器在国内,请确保域名已备案,否则可能无法直接访问。
最后修改于 2026-02-10