cleanup: archive unused scripts, finalize docs
- Moved old GDB hook and memory monitor scripts to archive/ - Updated README with final Docker solution - Updated .env.example, .gitignore - Added final-note.md documenting deployment decision - All research scripts preserved in archive/ for reference
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
# 环境变量配置
|
||||
# MoWeChat 环境变量配置(2026-06-24 最终版)
|
||||
|
||||
# Hermes Gateway 地址
|
||||
# Docker Bot token
|
||||
WECHAT_BOT_TOKEN=your_fixed_token_here
|
||||
|
||||
# Hermes Gateway
|
||||
HERMES_API=http://192.168.1.246:8642/v1/chat/completions
|
||||
HERMES_KEY=hermes123
|
||||
|
||||
# SenseNova 图像生成
|
||||
SENSENOVA_KEY=sk-aRNj3UwKSLPsDfh15QNTPwbHxahblfaO
|
||||
|
||||
# Doubao OCR
|
||||
DOUBAO_KEY=b0359bed-09f2-49e2-a53c-32ba057412e3
|
||||
# Webhook 端口
|
||||
WEBHOOK_PORT=5804
|
||||
|
||||
+63
-16
@@ -1,24 +1,71 @@
|
||||
# MoWeChat — 莫荷微信 Bot (Linux 版)
|
||||
# MoWeChat — 莫荷微信 Bot
|
||||
|
||||
将莫荷的微信 bot 从 Windows(wxhelper DLL 注入)迁移到 Linux 原生运行。
|
||||
Linux 版微信 Bot,将莫荷的微信消息桥接到 Hermes Gateway。
|
||||
|
||||
**技术方案:官方 Linux 微信 AppImage + GDB Hook**
|
||||
## 技术方案
|
||||
|
||||
## 快速导航
|
||||
```
|
||||
手机微信 → WeChat服务器 → Docker Bot → Webhook(:5804) → Hermes Gateway
|
||||
↓
|
||||
手机微信 ← WeChat服务器 ← Docker Bot ← Webhook(:5804) ← Hermes 回复
|
||||
```
|
||||
|
||||
- **架构文档**:`docs/architecture.md`(所有方案评估、信息源、接入须知)
|
||||
- **GDB Hook 脚本**:`hooks/gdb_hook_messages.py`(待实现)
|
||||
- **微信安装包**:`WeChatLinux.AppImage`(已下载,276MB,最新版)
|
||||
- **Windows 原版**:`../scripts/wechat_agent.py`(保留不动)
|
||||
基于 [`docker-wechatbot-webhook`](https://github.com/danni-cool/wechatbot-webhook) (2174 star),走 Web 微信协议。
|
||||
|
||||
## 当前状态
|
||||
## 快速开始
|
||||
|
||||
✅ 项目结构 + 依赖安装 + 微信下载
|
||||
⏳ GDB Hook 脚本(待实现)→ 莫荷接手
|
||||
### 启动容器
|
||||
|
||||
## 注意事项
|
||||
```bash
|
||||
docker run -d --name wxBotWebhook --restart unless-stopped \
|
||||
-p 3001:3001 \
|
||||
-v ~/wxBot_logs:/app/log \
|
||||
-e RECVD_MSG_API="http://172.17.0.1:5804/" \
|
||||
-e ACCEPT_RECVD_MSG_MYSELF=false \
|
||||
-e LOCAL_LOGIN_API_TOKEN="your_fixed_token" \
|
||||
dannicool/docker-wechatbot-webhook
|
||||
```
|
||||
|
||||
- **不走 ClawBot/iLink** — 详见 `docs/architecture.md`
|
||||
- **不走 wine** — 3.9.x 微信登录已被腾讯封禁
|
||||
- **不走降版本工具** — 已损坏
|
||||
- 唯一可行路线:**Linux 原生微信 + GDB Hook**
|
||||
### 扫码登录
|
||||
|
||||
访问 http://192.168.1.246:3001/login?token=your_fixed_token
|
||||
|
||||
### Webhook 接收器(systemd)
|
||||
|
||||
```bash
|
||||
sudo systemctl start wechat-webhook
|
||||
sudo systemctl enable wechat-webhook
|
||||
```
|
||||
|
||||
### 发送消息
|
||||
|
||||
```bash
|
||||
curl -X POST "http://localhost:3001/webhook/msg/v2?token=your_fixed_token" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"to": "联系人名称", "data": {"content": "消息内容"}}'
|
||||
```
|
||||
|
||||
## 组件
|
||||
|
||||
| 组件 | 位置 | 说明 |
|
||||
|------|------|------|
|
||||
| Docker 容器 | `wxBotWebhook` | 微信 Bot 核心,收发消息 |
|
||||
| Webhook 接收 | `wechat_webhook.py` | 收到消息→转发 Hermes→回复 |
|
||||
| systemd 服务 | `wechat-webhook.service` | Webhook 开机自启 |
|
||||
| 日志 | `~/wxBot_logs/` + `logs/webhook_service.log` | |
|
||||
|
||||
## 研究历程
|
||||
|
||||
见 [`docs/architecture.md`](docs/architecture.md)(方案论证)和 [`archive/`](archive/)(废弃脚本)。
|
||||
|
||||
曾尝试过的方案:
|
||||
- GDB Hook(微信 4.1.7 crashpad 检测 ptrace,崩溃)
|
||||
- /proc/PID/mem 内存扫描(可行但噪声大,需精调)
|
||||
- LD_PRELOAD(需逆向工程)
|
||||
- **最终:docker-wechatbot-webhook ✅ 最稳定**
|
||||
|
||||
## 维护
|
||||
|
||||
- Web 协议约 2 天掉线一次,需重新扫码
|
||||
- 容器自动重启(`--restart unless-stopped`)
|
||||
- 登录 URL 不变(固定 token)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
## 最终方案(2026-06-24 部署)
|
||||
|
||||
经过实测,上述 GDB Hook 方案在微信 4.1.7 上因 crashpad 检测 ptrace 导致进程崩溃(无法稳定运行)。
|
||||
|
||||
**最终采用:`docker-wechatbot-webhook`**
|
||||
|
||||
- GitHub: https://github.com/danni-cool/wechatbot-webhook (2174 star)
|
||||
- Docker Hub: `dannicool/docker-wechatbot-webhook`
|
||||
- 通信协议:Web 微信(扫码登录,使用本人微信号)
|
||||
- 状态:生产可用
|
||||
|
||||
详情见 [`deployment.md`](deployment.md) 和 [`README.md`](../README.md)。
|
||||
Reference in New Issue
Block a user