Wechatian:把微信变成 AI Agent 与 Obsidian 知识库的双向通道
如果 AI Agent 只在终端或聊天窗口里工作,长任务一多,人的注意力就会被“它现在做到哪了”绑住:任务可能还在运行,也可能早已停在一个等待确认的问题上。另一方面,微信里经常会遇到值得保存的文章、图片和文件,但把内容转发给第三方剪藏服务,又会带来隐私和数据留存上的顾虑。
本文总结公众号“风雪之隅”作者 laruence 介绍的 Wechatian 项目。它的核心想法很直接:把微信变成 AI Agent 与本地 Obsidian 知识库之间的双向通道。
来源:Wechatian:让 AI 有事就来微信找你
项目地址:github.com/laruence/wechatian
一句话理解 Wechatian
Wechatian 是一个 Obsidian 插件,负责连接微信官方的 ilinkAI 机器人网关与本地 Vault:
微信 ←→ 腾讯 ilinkAI 网关 ←→ Wechatian ←→ Obsidian 知识库
它同时处理两类动作:
- 收:从微信发送文字、图片、文件或文章链接,内容自动进入本地知识库。
- 发:AI Agent 或其他本地程序向一个发件箱目录写入文件,Wechatian 定时把内容发送到微信。
因此,微信不再只是人工聊天工具,也可以成为 Agent 的通知出口、远程控制入口,以及个人知识库的移动采集端。
它解决了两个实际问题
1. 长任务不用一直守在屏幕前
Agent 处理编程、资料整理、批量转换或构建任务时,耗时可能从几分钟延长到半小时甚至更久。传统做法是不断切回终端查看进度,或者离开后担心 Agent 是否报错、是否停在了需要人工回答的分叉点。
Wechatian 提供了一条更自然的通知路径:
- 给 Agent 设定规则,例如“任务完成或遇到问题时微信通知我”。
- Agent 把状态消息写入 Wechatian 的发件箱目录。
- 插件轮询发件箱并把消息送到微信。
- 人在手机上看到结果,再决定是否继续派发任务。
这样,Agent 可以在任务结束、失败或等待决策时主动联系你,而不是让你一直盯着运行窗口。
2. 微信文章可以直接进入本地知识库
很多剪藏工具的流程是:把微信文章转发给一个小程序或云服务,由第三方服务器解析正文、下载图片,再返回一份结果。这个方案虽然方便,但文章内容需要先经过中转服务,数据如何处理、保存多久、是否会被访问,使用者很难完全控制。
Wechatian 的思路是把解析结果直接写入自己的 Obsidian Vault:
- 文章正文保存为 Markdown;
- 文内图片下载到本地;
- 图片、文件、视频和语音保存到附件目录;
- 对话笔记中保留标题和链接,便于回溯来源。
核心差异不在于“能不能剪藏”,而在于知识库入口是否必须经过第三方。
设计上的几个关键决定
使用官方机器人网关,而不是非官方协议
项目选择通过腾讯 ilinkAI 机器人网关与微信通信,插件在本地使用长轮询获取消息。这样不需要自己搭建一个公网中继服务器,也不需要依赖模拟登录或非官方微信协议。
这并不代表所有风险自动消失。实际使用时仍然要关注网关的能力范围、账号绑定方式、消息保留策略和平台限流,但系统链路相对清楚:
微信官方网关 + 本地 Obsidian
收到的内容写入自己的 Vault
文字、图片和文章正文最终都落在本地文件系统中。对希望长期维护个人知识库的人来说,这种方式有两个好处:
- 内容可以用 Markdown、普通文件和目录结构长期保存;
- 内容不需要绑定某个云端剪藏服务,迁移和备份更容易。
发送侧采用“文件发件箱”
Wechatian 不要求 Agent 集成一套专用 SDK。想发文本时,往 <wechatian>/outbox/ 写一个 Markdown 文件;想发图片、视频或文档,则把文件放进发件箱。插件会定时轮询目录,读取文件、加密并通过微信发送。
这个接口很朴素,但扩展性很好:凡是能够写文件的程序都可以成为发送方,包括:
- Shell 脚本;
- Python 或 Node.js 程序;
- 定时任务;
- 本地 AI Agent;
- 构建、测试和部署脚本。
项目原文提到,附件发送支持不超过 100 MB 的文件。正式使用前仍应以仓库当前版本和微信网关的实际限制为准。
用 Agent.md 描述协议
插件会在收件目录维护一份 Agent.md,说明目录结构、收发规则和可用操作。Agent 只需要读取这份文件,就能理解:
- 微信收到的消息在哪里;
- 如何读取每日对话记录;
- 如何向发件箱写入文本;
- 如何发送文件;
- 哪些目录适合保存附件。
这是一种“自描述协议”:把集成说明放在 Agent 能直接读取的文件里,减少额外的工具注册和 SDK 配置。
扫码绑定并限制消息来源
安装后通过二维码绑定微信账号。插件只接受绑定账号发送的消息,即使机器人标识意外泄露,也不会让任意用户直接把内容写进你的 Vault。
这属于最低限度的访问控制。使用时仍然应该把 Vault 权限、附件目录和机器人账号当作敏感资源来管理。
最值得关注的三个使用场景
场景一:文章剪藏
在微信里看到一篇文章,复制链接发给机器人。Wechatian 下载文章正文和图片,在 Vault 中生成一篇本地 Markdown 笔记。适合建立阅读库、研究资料库或项目参考库。
场景二:用微信远程指挥 Agent
人在外面时,可以直接给机器人发送任务,例如让本地 Agent 检查代码、执行脚本或整理文件。Agent 读取微信消息后开始工作,完成结果再通过发件箱回传。
这让微信成为 Agent 的轻量遥控器:不需要把完整开发环境搬到手机上,只需要传递任务和结果。
场景三:长任务完成或卡住时通知
对于构建、测试、批处理和资料抓取等耗时任务,可以提前告诉 Agent:
如果任务完成,或者遇到需要我决定的问题,请微信通知我。
当任务成功、失败或停在人工确认点时,Agent 都可以主动发消息。人可以放心离开电脑,不必靠频繁刷新终端确认状态。
安装与首次使用
最省事的方式,是把安装意图交给自己的 AI 助手,让它按照项目仓库说明完成安装。也可以手动操作。
方式一:通过 Obsidian 社区插件安装
- 打开 Obsidian 设置。
- 进入“第三方插件”或社区插件市场。
- 搜索
Wechatian。 - 安装并启用插件。
方式二:手动安装 Release 文件
从 Wechatian GitHub 仓库下载最新 Release,将下面三个文件放入:
<你的 Vault>/.obsidian/plugins/wechatian/
需要放入的文件通常包括:
main.js
manifest.json
styles.css
然后回到 Obsidian 的第三方插件设置中启用 Wechatian。
完成微信绑定
- 打开 Wechatian 设置页。
- 使用微信扫描绑定二维码。
- 用绑定的微信给机器人发送一条消息。
- 在插件设置中运行测试发送。
- 确认微信能够收到测试消息。
先由绑定账号给机器人发过消息很重要。根据原文提到的网关规则,机器人需要在收到绑定账号的第一条消息后,才能获得后续发送所需的凭据。
让 AI Agent 接入
完成插件绑定后,把 <wechatian> 目录中的 Agent.md 指给你的 Agent。之后可以使用接近自然语言的规则:
任务完成后微信通知我。
如果发现需要人工确认的问题,把问题发到微信。
把刚才生成的报告发送到微信。
Agent 的实现不需要直接调用微信 API,只需要遵守文件协议:读取收件目录、写入发件箱、根据 Agent.md 处理附件和状态。
如果你的 Agent 使用了工作目录隔离或沙箱,需要额外确认它是否有权限读取和写入 Wechatian 目录。否则,插件本身在线,但 Agent 仍然无法发出通知。
使用前需要知道的限制
根据原文,当前方案有几条明确边界:
- 主要面向桌面端 Obsidian 1.13.0 及以上版本,移动端暂不支持长轮询机制;
- 微信机器人不一定支持像普通联系人一样直接转发内容,文章通常需要复制链接后发送;
- 图片和文件需要位于本地,或者通过文件发送渠道进入发件箱;
- 同一个微信账号建议只保持一台设备在线,避免多端轮询争抢消息;
- 网关对主动发送存在限流,适合通知、确认和任务结果,不适合当作高频聊天机器人使用;
- 项目本质上仍然是个人自动化工具,正式使用前应审查仓库代码、权限范围和升级变化。
如何评价这个方案
Wechatian 的价值不只是“把微信接入 Obsidian”,而是选了一种非常低耦合的自动化接口:
微信负责触达
Obsidian 负责保存
Agent 负责执行
文件系统负责连接三者
它没有试图把微信做成完整的 Agent 平台,也没有要求每个调用方都接入一套复杂 SDK,而是利用手机上已经高频使用的微信、本地已有的 Obsidian Vault,以及 Agent 最擅长的文件读写,组成一个足够实用的工作流。
如果你正在使用 Obsidian、Claude Code 或其他本地 Agent,最值得先试的不是复杂自动化,而是两个最小闭环:
- 微信发一篇文章,确认它能进入本地知识库;
- Agent 完成一个耗时任务,确认它能主动通知你。
这两个闭环跑通后,再逐步扩展到远程派工、附件回传和项目级通知。
总结
Wechatian 可以被理解为一个本地优先的微信桥接器:
- 向内,把微信里的文字、文章和附件沉淀到 Obsidian;
- 向外,让 AI Agent 通过文件发件箱主动联系你;
- 在中间,用官方网关和本地文件协议减少额外中转服务;
- 在使用层,用
Agent.md让不同的自动化程序理解同一套收发约定。
它适合需要处理长任务、重视本地知识库、又希望通过手机接收 Agent 状态的人。模型能力、网关限制、插件版本和微信侧规则都可能变化,安装和投入生产前,应以 项目仓库 的最新说明为准。
सम्बन्धित गाइड
工具集成指南