Skip to main content

SimpleX 聊天

SimpleX Chat 是一个私密的去中心化消息平台,用户完全拥有自己的联系人和群组。与其它平台不同,SimpleX 不分配持久的用户 ID —— 每个联系人由连接时生成的不透明内部 ID 识别,使其成为目前最私密的消息工具之一。

前提条件

  • 已安装并以守护进程(daemon)模式运行的 simplex-chat CLI
  • Python 包 websockets (pip install websockets)

安装 simplex-chat

simplex-chat GitHub 发布页面 下载最新版本,或通过 Docker 安装:

# Linux / macOS binary
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

# Or Docker
docker run -p 5225:5225 simplexchat/simplex-chat -p 5225

启动守护进程

simplex-chat -p 5225

默认情况下,守护进程通过 WebSocket 在 ws://127.0.0.1:5225 上监听。

配置 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_URLsimplex-chat 守护进程的 WebSocket 地址
SIMPLEX_ALLOWED_USERS推荐允许使用该代理的联系人 ID 列表(逗号分隔)
SIMPLEX_ALLOW_ALL_USERS可选设置 true 以允许所有联系人(请谨慎使用)
SIMPLEX_HOME_CHANNEL可选定时任务发送的默认联系人 ID
SIMPLEX_HOME_CHANNEL_NAME可选主频道的人类标签

查找你的联系人 ID

启动守护进程后,打开与你的代理联系人的对话。联系人 ID 将出现在会话日志中,或通过 hermes send_message action=list 查询。

授权机制

默认情况下,所有联系人均被拒绝。您必须满足以下任一条件:

  1. SIMPLEX_ALLOWED_USERS 设置为逗号分隔的联系人 ID 列表,或
  2. 使用 私信配对 —— 向机器人发送任意消息,它将回复一个配对码。通过 hermes gateway pair 输入该代码完成授权。

使用 SimpleX 与定时任务(cron)

cronjob(
action="create",
schedule="every 1h",
deliver="simplex", # uses SIMPLEX_HOME_CHANNEL
prompt="Check for alerts and summarise."
)

或指定特定联系人:

send_message(target="simplex:<contact-id>", message="Done!")

隐私说明

  • 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 中,或通过私信配对方式批准该联系人。