laruence450 downloadsWeChat messaging bridge: send and receive messages, attachments, and articles between WeChat and your vault
Your WeChat, inside your vault.
Wechatian is an Obsidian plugin that bridges WeChat and your vault through Tencent's official ilink bot gateway — no unofficial protocol hacks, no self-hosted relay. Messages you receive become searchable notes; your AI assistant can WeChat you by dropping a file into a folder.
Your most important conversations happen on WeChat — but they're trapped in the app: unsearchable, unlinkable, lost when you switch phones. Wechatian pulls them into your knowledge base:
<inbox>/YYYY-MM-DD.md, received + sent in one timeline); media decrypted into attachments/; links fetched in full as markdown article notes, grouped by official account.md (sent as text, markdown supported) or an image / video / document ≤100MB (sent as an attachment) into outbox/Agent.md in the inbox folder teaching any AI assistant the outbox protocol; see Agent.md in this repo for the full guideCommunity store (recommended): Obsidian → Settings → Community plugins, search Wechatian, install and enable.
From a release: copy main.js, manifest.json, styles.css from the latest release into <vault>/.obsidian/plugins/wechatian/ and enable (assets are CI-built and signed: gh attestation verify main.js --owner laruence).
From source:
git clone https://github.com/laruence/wechatian.git && cd wechatian
npm install
OBSIDIAN_PLUGIN_DIR=/path/to/vault/.obsidian/plugins/wechatian npm run build
Via AI agent: hand it this repo and say "Read the README and install Wechatian into my vault."
Five steps, about five minutes:
Open Obsidian → Settings → Wechatian. A QR code appears in the login section.

Desktop: the settings page opens with a QR code.
Scan it with WeChat and confirm — a bot contact appears in your contacts, and the plugin reports the login:

Phone: confirm the new connection.

Desktop: "logged in, receiving messages".
Try Send now and it fails — the gateway issues the send credential only after the bound account has messaged the bot:

Desktop: sending stays locked until you message the bot once.
So you send the bot a message from WeChat — "Hello".
The desktop receives it — and with that, the outbound direction unlocks:

Desktop: your "Hello" arrives — outbound unlocked.
Back in settings, hit Send — the desktop confirms the send, and the phone receives the bot's reply:

Desktop: bound, Test send ready.

Desktop: "Message sent" — the send went out.

Phone: the bot replies "Hello from wechatian".
When that message lands on your phone, you're done — the bridge is live in both directions.
Wechatian/ # inbox folder (all paths configurable)
├── Agent.md # instructions for AI agents (plugin-maintained)
├── 2026-08-17.md # daily conversation note (received + sent)
├── attachments/ # media
├── articles/ # full-text article notes, grouped by account
│ └── <account>/ # one folder per official account (optional)
│ ├── 2026-08-17 Some title.md
│ └── assets/ # the article's own images
└── outbox/ # write a file here to send it
All paths are configurable in settings.
attachments/ and embedded in the daily note.articles/, grouped into a subfolder per official account (toggleable). The article's own images go into an assets/ subfolder alongside the note; non-account links stay flat with images in articles/assets/.Write one file into outbox/. No API, no recipient — it's a one-to-one channel to your own bound WeChat:
Write into outbox/ |
Result |
|---|---|
notify.md |
content sent as a text message (markdown supported — headings, lists, bold, code blocks) |
chart.png, report.pdf … |
sent as an attachment (image / video / document, ≤100MB) |
A "Message sent" toast confirms delivery; the message is also recorded in the daily note.
The plugin picks files up on its next poll (~30–60 s). Judge the result by the file:
attachments/ and is linked).md gets a trailing <!-- Wechatian send failed: ... --> comment; media gets a <name>.wechatian-failed.md sidecar explaining whyThis is the half that makes Wechatian more than a backup tool: agents read the plugin-maintained <inbox>/Agent.md, learn the outbox protocol, and start notifying you — task done, question to settle, nothing more. See Agent.md for the full protocol (sending, result judging, reading replies, rate limits). Never call any API; the file channel is the whole interface.
What if my computer is offline? No problem. Messages sent to the bot while you're offline are held by the gateway, and Wechatian picks them up automatically the next time you open Obsidian. One caveat: how long the gateway keeps messages isn't documented — treat very old offline messages as best-effort.
Why can't it send messages right after I scan the QR? The gateway issues the send credential only after the bound account has sent the bot at least one message. Send any message to the bot from WeChat once (step 3 above) and sending unlocks.
Does it receive images, videos, and files?
Yes — media arrives decrypted in attachments/ and is embedded in the daily note. Links to articles are additionally fetched in full as markdown notes under articles/ (grouped by official account), with the article's images in an assets/ subfolder alongside the note.
Why didn't a forwarded article/file arrive? Known gateway limitation: the bot can't receive forwarded articles or files. Send the original link or the file itself instead.
Does it work on Obsidian mobile? The plugin runs on desktop only. But the notes it writes are plain Markdown — sync your vault (iCloud / Git / Obsidian Sync) and read the full history on your phone.
npm test # builds, then runs the node:test suite (scripts/unit-test.js)
Unit tests (tests/unit.ts) cover the crypto layer, import pipeline (fake in-memory vault), outbox flush paths, receipt-reply assembly, failure classification, and i18n dictionary parity. CI runs lint, typecheck, tests, and build.
微信 ↔ Obsidian 双向桥接插件:收消息自动入 vault,agent 往发件箱丢个文件就能给你发微信。走腾讯官方 ilink 机器人网关,数据只落本地。
Wechatian 把微信变成 vault 的双向通道:
attachments/;链接全文抓取成 markdown 文章笔记存 articles/(按公众号分子目录,可关闭),文章配图存各文章目录下的 assets/outbox/ 丢文件——.md 作为文本消息发送(支持 markdown),图片/视频/文档(≤100MB)作为附件发送Agent.md,AI 助手读完即学会发件协议——长任务跑完、需要拍板时主动给你发微信;完整指南见 Agent.md快速上手(约五分钟):
注意事项:网关对主动消息限流(通知/拍板渠道,不是聊天工具);同一账号只在一台设备运行插件(多设备长轮询会抢消息流);bot 收不到转发的文章和文件,请发原始链接或文件本身。电脑离线也没关系——离线期间发给 bot 的消息会在下次打开 Obsidian 时自动抓取(网关保留多久暂不明确)。
安装方式与英文版相同:社区市场搜索 Wechatian;或从 release 复制三个文件到 .obsidian/plugins/wechatian/;或 npm run build 从源码构建。