WeChat-Nanobot Bridge
微信与 nanobot AI 助手的桥接服务,基于 weixin-agent-sdk 开发。
项目概述
本项目实现一个 HTTP API 桥接层,将微信消息转发给 nanobot 处理,并将回复返回给微信用户。
架构设计
微信用户 → weixin-agent-sdk → HTTP API → nanobot-bridge → nanobot 核心
目录结构
weixin-nanobot-bridge/
├── src/
│ ├── server.py # Flask HTTP 服务
│ ├── nanobot_adapter.py # nanobot 调用适配器
│ ├── session_manager.py # 会话管理
│ └── security.py # 安全控制
├── config/
│ └── config.json # 配置文件
├── scripts/
│ ├── start.sh # 启动脚本
│ └── setup.sh # 安装脚本
├── logs/ # 运行日志
└── README.md
快速开始
1. 安装依赖
cd weixin-nanobot-bridge
pip install -r requirements.txt
2. 配置 nanobot
确保 nanobot 可以通过命令行调用:
which nanobot
# 或
nanobot --version
3. 启动桥接服务
./scripts/start.sh
服务将在 http://localhost:5000 启动。
4. 启动 weixin-agent-sdk
在另一个终端:
# 安装 weixin-agent-sdk
npm install -g weixin-agent-sdk
# 设置桥接地址
export NANOBOT_BRIDGE_URL=http://localhost:5000/chat
# 登录微信
weixin-agent-sdk login
# 启动
weixin-agent-sdk start
配置说明
编辑 config/config.json:
{
"server": {
"host": "0.0.0.0",
"port": 5000,
"debug": false
},
"nanobot": {
"command": "nanobot",
"timeout": 60,
"max_output_length": 4000
},
"security": {
"allowed_tools": ["read", "write", "edit", "exec"],
"blocked_commands": ["rm -rf", "dd", "mkfs", "shutdown"],
"max_requests_per_minute": 10
},
"session": {
"max_history": 10,
"expire_hours": 24
}
}
安全限制
⚠️ 重要: 由于微信是开放平台,必须限制 nanobot 的危险操作:
- ✅ 允许: 文件读写、代码编辑、命令执行(受限)
- ❌ 禁止: 删除系统文件、格式化磁盘、关机重启
- ❌ 禁止: 访问敏感配置文件(如 ~/.ssh)
开发计划
Phase 1: 基础版本(当前)
- HTTP API 服务
- 基础会话管理
- 安全控制
Phase 2: 增强功能
- 多模态支持(图片、文件)
- 长消息分段发送
- 消息队列和限流
- 用户白名单
Phase 3: 高级功能
- 群聊支持
- 技能选择器
- 管理员命令
- 使用统计
注意事项
- 微信封号风险: 非官方项目,建议用小号测试
- 隐私保护: 不要处理敏感个人信息
- 资源限制: 每个请求 60 秒超时
- 输出截断: 超过 4000 字符会自动截断
License
仅供学习交流使用,非微信官方项目。