Signal - 隐私优先通讯接入
Signal 是以隐私和安全著称的即时通讯应用,所有消息均采用 End-to-End Encryption(端到端加密)。OpenClaw 通过 signal-cli 工具实现与 Signal 的对接。
前置要求
- Java Runtime 17+ 环境
- 一个可用的手机号(或已有 Signal 账号)
- OpenClaw Gateway(网关)已安装并运行
安装 signal-cli
bash
wget https://github.com/AsamK/signal-cli/releases/latest/download/signal-cli-Linux.tar.gz
tar xf signal-cli-Linux.tar.gz -C /opt/
ln -s /opt/signal-cli-*/bin/signal-cli /usr/local/bin/bash
brew install signal-clibash
scoop install signal-cli验证:signal-cli --version
注册 Signal 账号
方式 A:关联已有账号(推荐)
将 signal-cli 作为 Linked Device(关联设备)连接:
bash
signal-cli link -n "OpenClaw Bot"终端显示 tsdevice:/ 链接后,在 Signal App 中操作:Settings > Linked Devices > Link New Device,扫描二维码完成关联。
生成二维码
bash
signal-cli link -n "OpenClaw Bot" | head -1 | qrencode -t ANSI方式 B:注册新号码
bash
signal-cli -a +1234567890 register
signal-cli -a +1234567890 verify 123-456注意
注册新号码会注销该号码的原 Signal 账号。如果号码已在使用中,请选择方式 A。
配置 OpenClaw
json5
{
channels: {
signal: {
enabled: true,
account: "+1234567890", // Signal 注册的手机号
cliPath: "signal-cli", // signal-cli 可执行文件路径
dmPolicy: "pairing" // DM Policy(私信策略)
}
}
}启动与验证
bash
openclaw gateway restart在 Signal App 中向机器人号码发送消息,然后批准配对:
bash
openclaw pairing approve signal <pairing-code>群组支持
json5
{
channels: {
signal: {
groups: {
allowAll: false,
allowGroups: ["group-id-xxx"], // 允许的群组 ID
requireMention: true
}
}
}
}获取群组 ID
群组 ID 在 Gateway 日志中显示,或通过命令查看:signal-cli -a +1234567890 listGroups
Daemon(守护进程)模式
建议以 Daemon 模式运行以获得更好性能:
bash
signal-cli -a +1234567890 daemon --socket /tmp/signal-cli.sock在 OpenClaw 配置中指定 Socket 路径:
json5
{
channels: {
signal: {
daemonSocket: "/tmp/signal-cli.sock"
}
}
}常见问题
Daemon 连接失败
- 确认 Daemon 进程正在运行:
ps aux | grep signal-cli - 检查 Socket 文件权限和路径是否与配置一致
版本兼容问题
更新 signal-cli 前备份数据目录 ~/.local/share/signal-cli/,更新后可能需要重新关联设备。
消息延迟
确认使用 Daemon 模式而非逐次调用模式,检查服务器网络和 Java 进程内存。
🇨🇳 中国用户须知
Signal 在中国大陆已被完全封锁,包括服务器和官网均无法直接访问。
不推荐在国内使用:注册、登录、收发消息全程需要代理,连接不稳定会导致消息丢失。
如需使用:必须为 signal-cli 配置代理:
bash
export HTTP_PROXY="http://your-proxy:port"
export HTTPS_PROXY="http://your-proxy:port"
signal-cli -a +1234567890 daemon --socket /tmp/signal-cli.sock替代方案:对隐私有较高要求时,可考虑自建 Matrix 服务器。
