SimpleX Chat
SimpleX Chat 是一个私密、去中心化的消息平台,用户拥有自己的联系人和群组。与其他平台不同,SimpleX 不分配持久的用户 ID——每个联系人在连接时由一个不透明的内部 ID 标识,这使其成为最私密的即时通讯工具之一。
前提条件
- simplex-chat CLI 已安装并以守护进程模式运行
- Python 包 websockets(
pip install websockets)
安装 simplex-chat
从 simplex-chat GitHub releases 页面下载最新版本,或通过 Docker:
# Linux / macOS 二进制
curl -L https://github.com/simplex-chat/simplex-chat/releases/latest/download/simplex-chat-ubuntu-22_04-x86-64 -o simplex-chat
chmod +x simplex-chat
# 或 Docker
docker run -p 5225:5225 simplexchat/simplex-chat -p 5225启动守护进程
simplex-chat -p 5225守护进程默认在 ws://127.0.0.1:5225 的 WebSocket 上监听。
配置 Hermes
通过设置向导
hermes setup gateway选择 SimpleX Chat 并按照提示操作。
通过环境变量
将这些添加到 ~/.hermes/.env:
SIMPLEX_WS_URL=ws://127.0.0.1:5225
SIMPLEX_ALLOWED_USERS=<contact-id-1>,<contact-id-2>
SIMPLEX_HOME_CHANNEL=<contact-id>
| 变量 | 必填 | 描述 |
|---|---|---|
SIMPLEX_WS_URL | 是 | simplex-chat 守护进程的 WebSocket URL |
SIMPLEX_ALLOWED_USERS | 推荐 | 逗号分隔的允许使用代理的联系人 ID |
SIMPLEX_ALLOW_ALL_USERS | 可选 | 设置为 true 以允许所有联系人(谨慎使用) |
SIMPLEX_HOME_CHANNEL | 可选 | 定时任务投递的默认联系人 ID |
SIMPLEX_HOME_CHANNEL_NAME | 可选 | 家聊的人类可读标签 |
查找您的联系人 ID
启动守护进程后,与您的代理联系人打开一个对话。联系人 ID 会出现在会话日志中,或通过 hermes send_message action=list 查看。
授权
默认情况下所有联系人均被拒绝。您必须:
- 将
SIMPLEX_ALLOWED_USERS设置为逗号分隔的联系人 ID 列表,或 - 使用 DM 配对 — 向机器人发送任何消息,它会回复一个配对码。通过
hermes gateway pair输入该代码。
将 SimpleX 与定时任务配合使用
cronjob(
action="create",
schedule="every 1h",
deliver="simplex", # 使用 SIMPLEX_HOME_CHANNEL
prompt="检查告警并总结。"
)或定位到特定联系人:
send_message(target="simplex:<contact-id>", message="完成!")隐私说明
- SimpleX 从不泄露电话号码或邮箱地址——联系人使用不透明 ID
- Hermes 与守护进程之间的连接是本地 WebSocket(
ws://127.0.0.1:5225)——数据不会离开您的机器 - 消息在到达守护进程之前由 SimpleX 协议进行端到端加密
故障排查
“无法访问守护进程” — 确保 simplex-chat -p 5225 正在运行且端口与 SIMPLEX_WS_URL 匹配。
“未安装 websockets” — 运行 pip install websockets。
“消息未收到” — 检查联系人的 ID 是否在 SIMPLEX_ALLOWED_USERS 中,或通过 DM 配对批准他们。