II. 频道系统 - 5. Signal

📍 课程位置
阶段:II. 频道系统
课序:第 5 课
前置知识:II-4. Slack
后续课程:II-6. iMessage

🎯 本课核心问题(你不懂我就这样教你)

Signal 接入的典型困惑:

Signal 不是开放平台,我怎么接 Bot?
signal-cli 是什么?为什么要用它?
注册/绑定流程为什么这么“麻烦”?
怎么保证安全,不让任何人都能随便给我发命令?

一句话回答:
OpenClaw 的 Signal 通道一般依赖 signal-cli 作为“桥”,它代表一个 Signal 账号收发消息。

🧠 心智模型:Signal = “用命令行客户端模拟一个账号”

类比:

Telegram/Slack/Discord:官方给你 Bot 平台(token)
Signal:没有官方 bot 平台
所以我们用 signal-cli 让一台机器“登录一个 Signal 账号”,再由 OpenClaw 驱动它收发

这就像:
你没有 API,只能找一个“代聊手机”登录账号,然后让程序控制它。

✅ 验收标准

[ ] signal-cli 已安装并可运行
[ ] signal-cli 已注册并绑定到某个号码
[ ] OpenClaw Signal 通道能收消息
[ ] 能回消息
[ ] 配好 dmPolicy(pairing/allowlist)确保安全

🔧 第一步:准备 signal-cli

你需要先确保环境里有 signal-cli(具体安装方式以官方/平台文档为准)。

验证:
signal-cli --version

🔧 第二步:注册/绑定 Signal 账号(核心步骤)

Signal 的“机器人账号”本质上就是一个普通号码。

典型流程:

使用 signal-cli 注册(会发验证码)
输入验证码完成验证
绑定成功后,signal-cli 能代表这个号码收发消息

注意:注册过程会涉及短信/语音验证,可能需要你人工协助一次。

🔧 第三步:在 OpenClaw 配置启用 Signal

在 ~/.openclaw/openclaw.json:

{
channels: {
signal: {
enabled: true,

  // 这里通常需要告诉 OpenClaw signal-cli 在哪、用哪个号码
  // 字段名以官方文档为准(不同版本可能略有差异)
  number: "+86xxxxxxxxxxx",

  // 安全策略(最重要)
  dmPolicy: "pairing",        // pairing | allowlist | open | disabled
  allowFrom: ["sig:+86yyyyyyyyyyy"],
}

}
}

建议:如果你只给自己用,直接 allowlist 最稳。

🧩 安全建议:Signal 一定要做“最小入口”

因为 Signal 不是 bot 平台,而是“真实账号”,所以更要谨慎:

dmPolicy 推荐 pairingallowlist
不要 open
群聊场景更要谨慎(能不用群就别用群)

⚠️ 常见坑与排查

现象 常见原因 排查
收不到消息 signal-cli 未登录/未绑定 先用 signal-cli 自测
发不出去 账号被封/网络问题 检查 signal-cli 日志
注册失败 验证码/频控 换短信/语音;稍后重试
乱入风险 dmPolicy=open 改 pairing/allowlist

📝 学习心得

Signal 这章的关键不是“字段多”,而是:

它不是标准 bot 平台
你是在“运营一个账号”

因此我给的建议是:

先让 signal-cli 自测收发 OK
再接入 OpenClaw
安全优先:allowlist/pairing

✅ 本课总结(记住 5 句话)

Signal 通道通常依赖 signal-cli 来“模拟一个登录账号”。
先让 signal-cli 自测跑通,再接 OpenClaw。
Signal 的账号就是普通号码,注册/验证需要人工一次。
安全优先:dmPolicy 用 pairing/allowlist,不要 open。
排障先看 signal-cli 是否能独立收发,再看 OpenClaw 配置。

🔗 相关资源

官方文档:https://docs.openclaw.ai/channels/signal
配置参考:https://docs.openclaw.ai/gateway/configuration-reference
下一课:II-6. iMessage

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐