跳到主要内容

Signal 设置

Hermes 通过以 HTTP 模式运行的 signal-cli 守护进程连接到 Signal。适配器通过 SSE(Server-Sent Events)实时流式传输消息,并通过 JSON-RPC 发送响应。

Signal 是最注重隐私的主流消息应用——默认端到端加密、开源协议、最少元数据收集。这使其成为安全敏感代理工作流的理想选择。

前置要求

  • signal-cli — 基于 Java 的 Signal 客户端
  • Java 17+ 运行时
  • 安装了 Signal 的电话号码

安装 signal-cli

# macOS
brew install signal-cli

# Linux
VERSION=$(curl -Ls -o /dev/null -w %{url_effective} \
https://github.com/AsamK/signal-cli/releases/latest | sed 's/^.*\/v//')
curl -L -O "https://github.com/AsamK/signal-cli/releases/download/v${VERSION}/signal-cli-${VERSION}.tar.gz"
sudo tar xf "signal-cli-${VERSION}.tar.gz" -C /opt
sudo ln -sf "/opt/signal-cli-${VERSION}/bin/signal-cli" /usr/local/bin/

步骤 1:链接你的 Signal 账户

signal-cli link -n "HermesAgent"
  1. 在手机上打开 Signal
  2. 进入 Settings → Linked Devices
  3. 点击 Link New Device
  4. 扫描 QR 码或输入 URI

步骤 2:启动 signal-cli 守护进程

signal-cli --account +1234567890 daemon --http 127.0.0.1:8080

验证运行:

curl http://127.0.0.1:8080/api/v1/check

步骤 3:配置 Hermes

hermes gateway setup  # 选择 Signal

或手动配置:

SIGNAL_HTTP_URL=http://127.0.0.1:8080
SIGNAL_ACCOUNT=+1234567890
SIGNAL_ALLOWED_USERS=+1234567890,+0987654321

访问控制

  • DM:遵循与其他 Hermes 平台相同的模式
  • 群组SIGNAL_GROUP_ALLOWED_USERS 控制

功能

  • 附件:支持图像、音频、文档
  • 语音消息:转录(如果配置了 Whisper)
  • 打字指示器:处理时显示
  • 电话号码编辑:日志中自动编辑

故障排除

问题解决方案
"Cannot reach signal-cli"确保守护进程正在运行
消息未接收检查 SIGNAL_ALLOWED_USERS 包含发送者号码
群组消息被忽略配置 SIGNAL_GROUP_ALLOWED_USERS

安全

注意

始终配置访问控制。机器人默认具有终端访问权限。