WeChat NoteBuddy — 微信智能记事本 & 统计工具
把微信变成个人智能记事本:发条消息即可记录、搜索、看统计。基于 WorkBuddy 多 Agent 架构,五层分层设计,消息走官方通道(企业微信方案合规无封号风险)。
何时使用
- 从零搭建一个能与微信对话交互的记事本 + 统计工具
- 自动保存微信消息原文,按标签 / 时间 / 来源多维度管理
- 对记录的微信消息按日、标签、时段做统计
- 帮用户选择合适的微信接入方案(wxauto / Wechaty / 企业微信)
- 打造个人微信 AI Agent 助手
三种微信接入方案(按场景选)
| 方案 | 平台 | 原理 | 适合 |
|---|---|---|---|
| wxauto | Windows 个人号 | UI 自动化,不破解协议 | 个人自用快速起步 |
| Wechaty | 跨平台 | Puppet 协议(Node.js) | 跨平台 / 机器人形态 |
| 企业微信 | 全平台(推荐生产) | 官方 API,合规稳定 | 正式上线、无封号风险 |
默认推荐企业微信方案——本技能 assets/notebuddy/ 已内置一套经过测试、可直接运行的企业微信工程(消息加解密 + 主动发消息 + 存储 + 统计全链路跑通)。
> ⚠️ 稳定性与封号风险(务必先看)
> - 企业微信(默认/推荐):官方 API,合规、无封号风险,可长期稳定跑。本技能所有收发都走它,数据全在本机。
> - wxauto / Wechaty(个人号):模拟登录,违反微信个人号规范,有封号/限制登录风险,且依赖微信 PC 常驻、易掉线。仅适合用小号快速尝鲜,绝不要用主号、别用于生产。
> - 结论:长期稳定使用 → 选企业微信;想 5 分钟看效果 → 可用小号 wxauto 试,但别当真。
标准工作流
1. 脚手架:用内置工程起步(最推荐)
当目标是企业微信生产环境时,直接复制已验证的工程骨架,避免重复踩坑:
将 assets/notebuddy/ 整个目录复制到你的工作区(如 ./notebuddy/)
该目录包含:bot/enterprise_adapter.py(企业微信加解密 + API 客户端,核心)、core/(意图识别 / 路由 / 工具)、storage/(SQLite + Markdown)、llm/、main.py(FastAPI 回调入口)、config.yaml、requirements.txt、README.md、以及 smoketest.py / e2e_test.py 回归测试。
2. 配置凭证
编辑 config.yaml 填入企业微信后台拿到的 corpid / corpsecret / agentid,以及「接收消息」里的 Token / EncodingAESKey(详见 references/enterprise-wechat-setup.md)。
3. 安装依赖并启动
cd notebuddy
pip install -r requirements.txt
python main.py # 或 uvicorn main:app --host 0.0.0.0 --port 8080
4. 暴露公网回调
企业微信服务器需能 HTTPS POST 你的 /wecom/callback。用内网穿透(ngrok / cpolar / frp)或自有服务器反代,把地址填回企业微信后台「接收消息」完成 URL 验证。详细步骤见 references/enterprise-wechat-setup.md。
5. 回归测试(可选但建议)
python smoketest.py # 验证加解密往返 + 意图识别
python e2e_test.py # 验证 记录→统计→搜索→删除 全链路
> ⚠️ smoketest.py 不含任何硬编码密钥,默认运行时随机生成一次性测试 EncodingAESKey;
> 也可用环境变量 SMOKETEST_ENCODING_AES_KEY / SMOKETEST_TOKEN 注入。这些值仅限本地
> 测试,严禁用于生产——生产环境须在企业微信后台为应用独立生成专属密钥。
微信指令协议
用户给应用发消息,按意图自动处理:
| 用户指令 | 意图 | 动作 |
|---|---|---|
| 记一下:xxx | NOTE | 写入 SQLite(自动打标签) |
| 标签 工作 xxx | NOTE+tag | 带标签写入(首个词为标签) |
| 统计本周 | STATS | 按日聚合报告(markdown) |
| 标签分布 / 时段分布 | STATS | 标签 / 时段分布 |
| 找一下 xxx | SEARCH | 全文搜索历史 |
| 删除第 N 条 | DELETE | 软删除 |
| 帮助 | CHAT | 指令菜单 |
深入参考(按需加载)
references/architecture.md— 五层架构、SQLite 表结构、统计 SQL、FastAPI 接口设计、config 示例、开发路线图references/enterprise-wechat-setup.md— 企业微信注册、自建应用、接收消息回调配置、公网暴露的完整图文流程使用说明.md— 面向最终用户的使用指南
安全与风控
- 个人号自动化(wxauto / Wechaty)存在封号风险,务必用小号测试;生产环境切企业微信
- 所有数据本地 SQLite 存储,不上传任何第三方云服务
- 支持发送者白名单与单用户限频(见
config.yaml的security段) - 日志不记录消息原文,仅保留脱敏元数据