f1630ebb03
- Docker container with auto-restart - systemd webhook receiver on :5804 - Full send/receive loop: WeChat ↔ Docker ↔ Hermes - Fixed login token for persistence - Firewall rules for container-host communication
57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
# MoWeChat — 莫荷微信 Bot (Docker 版)
|
|
|
|
2026-06-24 凌晨 1:58 部署完成。
|
|
|
|
## 技术方案
|
|
|
|
**抛弃了 GDB Hook 和 /proc/PID/mem,改用 docker-wechatbot-webhook**
|
|
|
|
```
|
|
微信手机 → WeChat服务器 → Docker Bot → Webhook(:5804) → Hermes Gateway
|
|
↓
|
|
微信手机 ← WeChat服务器 ← Docker Bot ← Webhook(:5804) ← Hermes回复
|
|
```
|
|
|
|
## 部署组件
|
|
|
|
### 1. Docker 容器
|
|
- 镜像: `dannicool/docker-wechatbot-webhook` (2174 stars)
|
|
- 容器名: `wxBotWebhook`
|
|
- 端口: 3001 (Web 管理 + API)
|
|
- 自动重启: `--restart unless-stopped`
|
|
- 固定 token: `LOCAL_LOGIN_API_TOKEN=mowechat_fixed_token_001`
|
|
- Webhook: `RECVD_MSG_API=http://172.17.0.1:5804/`
|
|
|
|
### 2. Webhook 接收器 (systemd 服务)
|
|
- 服务名: `wechat-webhook.service`
|
|
- 端口: 5804
|
|
- 脚本: `/home/hmo/projects/AgentsMeeting/gateway/linux/wechat_webhook.py`
|
|
- 日志: `/home/hmo/projects/AgentsMeeting/gateway/linux/logs/webhook_service.log`
|
|
|
|
工作流程:
|
|
1. 收到消息 → 解析 multipart/form-data → 提取发送者和内容
|
|
2. 异步转发到 Hermes Gateway (绕过代理)
|
|
3. 获取 Hermes 回复 → 通过 WeChat API 发回给用户
|
|
|
|
### 3. 联系信息
|
|
- 老爸 (莫语不语): `wxid_c0a6izmwd78y22`
|
|
- 莫荷: `wxid_7onnerpx2s2l22` (微信昵称: 莫小荷)
|
|
|
|
## 发送消息 API
|
|
|
|
```bash
|
|
curl -X POST "http://localhost:3001/webhook/msg/v2?token=mowechat_fixed_token_001" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"to": "莫语不语", "data": {"content": "消息内容"}}'
|
|
```
|
|
|
|
## 登录
|
|
|
|
容器重启后需要重新扫码登录:
|
|
http://192.168.1.246:3001/login?token=mowechat_fixed_token_001
|
|
|
|
## 已知问题
|
|
- Web 协议大约两天掉一次线,Docker 自动重启后需要重新扫码
|
|
- 发图片/文件尚未实现(需要扩展 webhook 处理)
|
|
- 群消息尚未测试
|