在本地部署 DeepSeek Harness 智能體時,模型通常無法直接訪問手機短信。要解決這個問題,需要一個本地 HTTP 服務來接收短信轉發應用的數據,並將存儲暴露給模型查詢。huaxiren6/dsh-sms-webhook 正是這樣一款插件。
是什麼¶
這是 DeepSeek Harness 的短信轉發 Webhook 插件,由用戶 huaxiren6 維護。它接收手機端短信轉發 App(如 SMS Forwarder)發送的推送,將短信內容落盤存儲,並提供 sms_recent 和 sms_search 兩個工具,供模型調用。
核心功能¶
- 接收與存儲:接收短信並落盤存儲。
- 模型工具:提供
sms_recent工具查詢最近短信,提供sms_search工具全文搜索。 - 驗證碼提取:自動提取驗證碼(生成
otp字段)。 - 過濾機制:支持關鍵詞白名單過濾。
- 數據格式:JSONL 格式存儲,支持自動裁剪(上限 5000 條)。
安裝與啓用¶
使用官方命令安裝:
dsh plugin --profile web add dsh-sms-webhook
安裝完成後,插件會監聽本地端口,等待手機端發送的 POST 請求。
典型用法¶
手機端配置¶
使用任意支持「轉發短信到 HTTP」的 App,例如 SMS Forwarder、Tasker 或 iOS 快捷指令。轉發目標地址填:
POST http://<電腦IP>:8899/
Content-Type: application/json
發送的 JSON 數據支持常見別名:
{
"from": "10086",
"body": "您的驗證碼是 123456,5 分鐘內有效。",
"receivedAt": 1787180000000,
"device": "Pixel 8"
}
字段 from 可寫作 sender、number 或 phone,body 可寫作 text、message 或 content。若未提供時間戳,服務器會使用當前時間。
HTTP 接口¶
| 方法/路徑 | 用途 |
|---|---|
POST / |
接收短信(200=已存儲,202=被關鍵詞過濾) |
GET /?limit=20&q=驗證碼 |
查詢最近短信(q 可選過濾) |
GET /health |
存活探針 |
配置說明¶
插件支持以下配置項(通常在配置文件中設置):
| 鍵 | 默認值 | 含義 |
|---|---|---|
host |
0.0.0.0 |
監聽地址 |
port |
8899 |
監聽端口 |
store |
$DSH_HOME/data/dsh-sms-webhook/messages.jsonl |
存儲文件路徑 |
keywords |
[] |
非空時只收含這些詞的消息(如 ["驗證碼", "code"]) |
適用場景與注意¶
- 使用場景:適合需要在本地模型中讀取短信驗證碼或歷史短信內容的開發者。
- 安全注意:監聽地址
0.0.0.0意味着局域網內任何人都能發起 POST 請求。建議在手機 App 裏限制來源,或僅在可信網絡使用。 - 存儲限制:存儲文件上限爲 5000 條,超出後會自動裁剪舊數據。
該插件採用 MIT 許可證。
總結¶
該插件解決了本地智能體讀取短信的痛點,通過簡單的 Webhook 接口實現了短信的接收、存儲和查詢。對於需要處理驗證碼或短信信息的場景,這是一個直接可用的方案。