微信消息入口
扫码登录后接收私聊、群聊、图片、链接和表情等 IM 消息。
AI Agent Workflow
把微信消息接入多模型 Agent,梳理真实 IM 场景里的触发、上下文、记忆和误回复边界。
Scenario
微信不是一个干净的输入框,而是一个高噪声、高上下文、强隐私的沟通场景。 私聊、群聊、引用、图片、链接和临时插话混在一起,Agent 如果只是“收到就回”,很容易误触发、误理解或暴露不该处理的信息。
这个项目关注的问题不是单纯把模型接进微信,而是把 IM 消息变成可控的 Agent 工作流: 哪些消息可以触发,哪些上下文可以读取,回复应该交给哪个模型,以及用户如何管理长期记忆。

System
项目可以拆成四个模块:接收微信消息,判断是否应该响应,构造上下文与记忆, 再把请求路由到指定模型或 Pi agent。核心不是“自动回复”,而是让回复发生在可控范围内。
扫码登录后接收私聊、群聊、图片、链接和表情等 IM 消息。
用联系人白名单、群聊白名单、@ 机器人、引用回复和前缀规则控制是否响应。
群聊历史写入 JSONL,并在需要回复时注入最近消息;长期记忆由用户显式管理。
通过 provider 机制切换 ChatGPT、DeepSeek、Ollama、Claude、Pi 等服务。
接入微信,监听聊天消息。
保存上下文、引用和历史。
判断触发条件,分发任务。
调用不同模型或服务。
把结果发回微信对话。
Evidence
下面两张样例展示了更复杂的输入形态:图片识别和文件理解。它们都来自真实聊天界面, 已经隐去群名、头像和具体用户身份。

群聊里直接发图并 @ bot,系统需要识别图片内容,同时保留引用关系和多人触发语境。

文档作为消息进入聊天后,Agent 可以提取任务要求,输出可读摘要,而不是只处理纯文本问答。
Boundaries
IM Agent 的风险来自真实社交环境:误回复、错读上下文、过度记忆和越权读取。 因此这个项目把白名单、触发条件和记忆管理作为核心设计对象。