接收 Android 手机上 SmsForwarder 推送的短信,自动转发到 QQ 群/私聊,支持验证码提取和历史查询。
旧手机收到短信 → SmsForwarder App → Webhook POST → AstrBot 插件 → QQ 消息推送
将本插件目录放入 AstrBot 的 data/plugins/ 下,重启 AstrBot 即可。
访问 AstrBot WebUI → 插件管理 → 短信转发接码:
| 配置项 | 说明 | 示例 |
|---|---|---|
target_qq |
接收短信的 QQ 号(私聊)或群号 | 123456789 |
target_type |
发送类型:private(私聊)或 group(群聊) |
private |
webhook_token |
Webhook 鉴权密钥(可选,为空不鉴权) | my_secret_token |
- 在旧手机上安装 SmsForwarder
- 打开 App → 发送通道 → 添加 → 选择 Webhook
- 配置如下:
| 项目 | 值 |
|---|---|
| Webhook URL | http://你的服务器IP:5000/sms |
| 请求方式 | POST |
| Content-Type | application/json |
-
如果设置了
webhook_token,URL 改为:http://你的服务器IP:5000/sms?token=你的密钥 -
内容模板选择 自定义 JSON:
{"from":"[from]","content":"[org_content]","time":"[receive_time]","sim":"[card_slot]"} -
转发规则 → 添加规则 → 选择匹配所有短信(或按需过滤)
确保 AstrBot 容器映射了 5000 端口:
# 查看当前端口映射
docker port astrbot
# 如果没有 5000 端口,需要重建容器时加上:
# -p 5000:5000| 命令 | 说明 |
|---|---|
验证码 |
查看最近 5 条验证码 |
短信 |
查看最近 10 条短信 |
接码状态 |
查看插件运行状态 |
收到短信后,QQ 会收到如下消息:
📱 收到短信
发件人: 10086
时间: 2026-03-19 08:41:00
内容: 您的验证码是 123456,请在5分钟内完成验证。
🔑 验证码: 123456
curl http://你的服务器IP:5000/health返回:
{"status": "ok", "sms_count": 3, "target": "private:123456789"}curl -X POST http://你的服务器IP:5000/sms \
-H "Content-Type: application/json" \
-d '{"from":"10086","content":"验证码 654321","time":"2026-03-19 12:00:00","sim":"SIM1"}'- 插件在内存中保留最近 200 条短信记录,重启后清空
- 验证码支持 4-8 位数字自动提取
- 旧手机需保持 SmsForwarder 后台运行(建议关闭电池优化)
- 服务器防火墙需放行 5000 端口