Signal 接入——注重隐私的聊天
Hermes 消息平台接入第6篇:Signal。端到端加密聊天里用 AI。
Signal 接入——注重隱私的聊天
如果你對隱私有執念,Signal 大概是主流聊天軟體裡最「硬核」的一個——端到端加密預設開啟、協定開源、收集的元資料極少。把 Hermes 接進 Signal,等於給你的 AI 助手也穿上了一件隱私盔甲。而且好訊息是:不需要裝任何新的 Python 套件,Hermes 直接用現成的 httpx 就能跟 Signal 通訊。
準備工作
你只需要三樣東西:
- signal-cli——一個基於 Java 的 Signal 用戶端(GitHub 倉庫)
- Java 17+ 執行環境
- 一個裝了 Signal 的手機號碼(用來把 Hermes 綁定為「輔助裝置」)
安裝 signal-cli 也很簡單:
# macOS
brew install signal-cli
# Linux(直接從 GitHub 下載最新版)
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/
⚠️ 注意:signal-cli 不在 apt 或 snap 倉庫裡,Linux 使用者得從 GitHub Releases 手動下載。
第一步:關聯你的 Signal 帳號
signal-cli 的工作方式跟「WhatsApp Web」類似——你的手機是主裝置,Hermes 作為輔助裝置登入。
# 產生一個關聯連結(會顯示 QR Code 或連結)
signal-cli link -n "HermesAgent"
然後在手機上:設定 → 已關聯裝置 → 關聯新裝置,掃一下 QR Code 就行。
第二步:啟動 signal-cli 守護程序
# 把 +1234567890 換成你的 Signal 手機號碼(E.164 格式)
signal-cli --account +1234567890 daemon --http 127.0.0.1:8080
建議用 systemd、tmux 或 screen 讓它一直在背景跑著。驗證一下是否啟動成功:
curl http://127.0.0.1:8080/api/v1/check
# 應該回傳類似 {"versions":{"signal-cli":...}} 的內容
第三步:設定 Hermes
最省事的方式是直接跑精靈:
hermes gateway setup
選 Signal,然後按提示填 HTTP 位址(預設 http://127.0.0.1:8080)、手機號碼、允許的使用者清單就行。
想手動設?編輯 ~/.hermes/.env:
# 必填
SIGNAL_HTTP_URL=http://127.0.0.1:8080
SIGNAL_ACCOUNT=+1234567890
# 安全推薦
SIGNAL_ALLOWED_USERS=+1234567890,+0987654321
# 選填
SIGNAL_GROUP_ALLOWED_USERS=groupId1,groupId2 # 留空則忽略所有群組訊息,* 表示所有群組
SIGNAL_HOME_CHANNEL=+1234567890 # 定時任務的預設傳送目標
然後啟動:
hermes gateway # 前景執行
hermes gateway install # 安裝為使用者服務
權限控制
私聊的規則跟其他平台一致:設定了 SIGNAL_ALLOWED_USERS 就只允許這些人傳訊息;沒設定的話,陌生人會收到一個配對碼,你用 hermes pairing approve signal CODE 批准即可。
群聊則由 SIGNAL_GROUP_ALLOWED_USERS 控制:
| 設定 | 行為 |
|---|---|
| 不設定(預設) | 忽略所有群組訊息,只回私聊 |
| 填群組 ID | 只監控列出的群組 |
* |
在所有加入的群組裡都回應 |
特色功能
附件收發雙向都支援:圖片(PNG/JPEG/GIF/WebP)、音訊(MP3/OGG/WAV/M4A,配了 Whisper 還能轉文字)、文件(PDF/ZIP 等)。上限 100MB。傳多張圖片時會自動按 32 張一批、限速上傳,避免被 Signal 伺服器限流。
原生排版是一大亮點——Hermes 會把 markdown(粗體、斜體、程式碼、刪除線、||劇透||)轉換成 Signal 的 bodyRanges,對方看到的是真正的富文字樣式,而不是一堆 ** 符號。回覆訊息時也會自動帶上引用原文的「回覆」效果,跟手動點回覆一模一樣。
接入 Signal 後,你的 Hermes 就成了一名注重隱私的 AI 助手——加密聊天、不收集元資料、還能收發檔案,安全感直接拉滿。
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/signal