Open-Source WeChatBridge Hits iOS: Pipe WeChat Chats to AI Agents and Obsidian Straight From Your Phone
Hello, I'm 苍何, a tinkerer.
Our product WeChatBridge (微信流) has gotten a lot of love since open-sourcing.
Now there are Mac and Windows clients, and the GitHub repo has 1.7k stars.
In short, WeChatBridge can batch-send WeChat chat records to agents like Codex and Claude Code in one click, and also sink conversations into Obsidian as a personal knowledge base.
Open source: https://github.com/freestylefly/WeChatBridge
I noticed many people asking for phone support.
Honestly, this is also my own need. Eight out of ten WeChat messages I read on my phone: on commutes, in lines, during meetings. 🐶 Group messages pile up fast.
Previously, to have AI summarize, I had to wait until back at the computer, open the WeChat desktop app, multi-select, and forward.
By the time I sat down, I no longer wanted to look.
So this time we brought WeChatBridge to mobile. We've finished the iOS version 🎉
Now you can forward WeChat chat records directly to various AI services, or even Obsidian, straight from your phone.
After sending to different agents, you can one-click summarize chat records or analyze group chats.
WeChat chat records over 100 messages can also be merged and sent.
With WeChatBridge's scenario templates, parsing public account articles or extracting video from Channels is all handled.
And your chat records can be sunk into local Obsidian smoothly on the phone.
Of course, there are many more features and usage instructions at the end of the post.
But before that, I want to share how we used Claude Code + Kimi K3.1 Pro to develop it, and some thoughts.
Developing this and writing the article took days; like and share if you can.
Let me say the conclusion first: Kimi K3.1 Pro is the strongest open-source Chinese model I've experienced so far, especially in long-horizon code ability and complex project handling. It iterates repeatedly on complex tasks.
For example, I had it work for over 6 hours straight and it produced the first iOS version.
No wonder it scored 55 on the AA benchmark, firmly in the top tier of open-source Chinese models.
Also, many people have tested Kimi K3.1 Pro's 3D ability, and the results are impressive.
I haven't tested 3D in depth yet, but from friends' feedback it's solid.
During my testing, I noticed quota consumption is quite fast. Fortunately, Kimi officially acknowledged the problem, provided a fix, and reset quota as compensation.
My workflow is simple, two steps: first have it write a plan, then let it run.
I didn't ask it to write code immediately.
First I explained the product shape: how the relay receives, stores, and delivers, and what iOS cannot do.
Then I had it produce a development document that any agent could follow to completion.
Prompt:
We want to make WeChatBridge into an iPhone version. Don't write code yet, first settle the plan.
Context:
- WeChatBridge currently has Mac and Windows versions; core code is in macos/Sources/WeChatBridgeCore. iOS should reuse it, not write a separate one.
- I tested on a real device: WeChat iOS can do 'Forward → Merge Forward → Other Apps → Choose app on this phone', exporting chat records as a ZIP (containing 聊天记录.txt + images, videos, files). Test findings are in docs/design/ios-feature-baseline.zh-CN.md, product design in docs/design/ios-relay-v1.zh-CN.md. Read both first.
Product shape: iOS version is a 'relay'. v1 only does three things:
1. Receive: forwarded from WeChat, the share extension stores files into an inbox, shows a small card, and returns to WeChat without interrupting.
2. Store: App lists cards; tap to view chat like WeChat, images inline.
3. Deliver: pick a batch (or merge multiple batches), choose a scenario, send to ChatGPT, Doubao, Qwen, WorkBuddy, Claude, DeepSeek, Obsidian, folder, or any app.
Things iOS cannot do, flag early:
- Share extension cannot open another app or auto-paste; the final step must be the user tapping the target in the share panel.
- Some apps don't accept ZIP (Doubao, Qwen); need to automatically convert to 聊天记录.txt + images.
- WeChat caps a single forward at 100 messages; collect in batches and merge at the end.
First confirm your understanding, list questions, don't guess.
Then I had it produce the technical dev doc and schedule doc.
Understood. Now produce two documents in docs/design/:
1. Technical dev spec ios-dev-spec.zh-CN.md
Goal: given to any agent, reading only this plus the schedule doc, it can finish iOS v1 and verify delivery. Include:
- Work rules for the executor: only change inside .worktrees/ios-relay; commit each task separately with title starting [AI]; don't push; any change to macos/ must run swift test, Mac must not regress; things you can't verify write 'pending real device', never mark as passed.
- Environment prerequisites and how to check/patch.
- Input data spec: what WeChat iOS exported ZIP and TXT look like, placeholders for images, emoji, links, Channels.
- Architecture, directory, project config (XcodeGen), all Bundle IDs and App Group hardcoded, no new names.
- Module specs: share extension, inbox, relay list, detail, target capability table, delivery planning, delivery panel, Obsidian, scenarios, batch collection, first-run guide.
- Verification: split into simulator auto-verifiable (S1, S2…) and real-device required (R1, R2…), each with how to operate and what result counts as pass.
- Task list ordered by dependency, T0 to T9.
- Delivery definition: all checkboxes checked means v1 done.
- Open questions: things I need to answer, don't guess.
- Also write what's NOT in v1.
2. Schedule doc ios-schedule.zh-CN.md
- Break into milestones (M0 env skeleton, M1 receive, M2 store, M3 deliver, M4 knowledge base & scenarios, M5 batch collection polish, M6 real-device acceptance), each with workdays, dates, and exit gates: which S/R verifications and unit tests must pass to proceed.
- Critical path, which tasks can run in parallel.
- When I need to do something personally (install platform, real-device test, signing account).
- Risks and responses.
- Progress report format: every completed task, report in fixed format: task, status, commit, verification result, unverified, next step, what I need from you.
Task numbers and verification numbers must match across both docs. After writing, I'll review and we start.
After careful thought and planning, it produced both docs with directories ready.
One is the technical dev spec, over 700 lines. First line:
Read only this plus the schedule doc to finish iOS v1 and verify delivery.
It includes work rules, architecture, module specs, and a task list T0 to T9.
The other is the schedule doc, splitting the work into 7 milestones:
| Milestone | What |
|---|---|
| M0 | Environment and skeleton |
| M1 | Receive: share from WeChat |
| M2 | Store: relay list and detail |
| M3 | Deliver: send to each AI |
| M4 | Obsidian, folder, scenarios |
| M5 | Batch collection, guide, polish |
| M6 | Real-device acceptance |
Estimated at 18 working days for one person.
The most valuable part of the plan is not the schedule, but the acceptance rules.
Each milestone has an 'exit gate' that must be fully satisfied before proceeding.
For example, the simulator must pass 11 verifications (S1 to S11), each with hardcoded expected results:
- Sharing a 0-byte file must show an error, not be saved.
- Deleting a card and tapping undo within 5 seconds must restore it.
- Kill the app, share again, and reopening must show the new card.
Also hard rules:
- All 186 tests from the Mac version must pass.
- Unverifiable items must be marked 'pending real device', never marked as passed.
Once the plan was written, I handed the docs to Kimi K3.1 Pro and let it run.
It performed each task one by one, reporting after each: what it did, what tests it ran, and what wasn't verified.
After 6 hours, the iOS version was done.
The plan said 18 working days; it finished in an afternoon and an evening. 🤪
What surprised me more: it also self-verified and found bugs.
Running acceptance on the simulator, it caught a series of issues and fixed them itself:
- Empty files were being stored into the relay.
- Tapping a card didn't open the detail, only highlighted it.
- After sending, the button still said 'Continue sending batch 2/1'.
- In edit mode, the 'merge delivery' button was blocked by the tab bar.
- Just-tapped target icons jumped to a different position.
Each issue was logged in the acceptance record: symptom, cause, and which commit fixed it.
This smooth run is thanks to Kimi K3.1 Pro's strong model ability, plus our product shape was already determined.
WeChatBridge had already worked on Mac and Windows. How to receive, store, and deliver was already clear.
All that remained was writing down what 'done' means.
With acceptance rules written, the agent knows how far to go and which step isn't passed yet.
So my takeaway for using agents like Kimi for coding:
Don't chat about requirements with it; define acceptance with it.
What the iOS version can do
Here's what iOS supports:
1. Forward once, it's received
Long-press a message in WeChat, tap 'Multi-select', check messages to take (text, images, files all work).
Then tap 'Forward' → 'Merge Forward' → 'Other Apps' → 'Choose app on this phone', and select 'WeChatBridge' in the share sheet.
All chat records are in the 'relay' inbox, one card per conversation. Who it's from, how many messages, and attachments are visible at a glance.
Tap in to see the full conversation with images displayed inline.
2. Tap a notification, it's delivered
Once stored, a notification pops at the top.
Tap it to deliver to the last AI you used. Long-press to switch among the 3 most recent targets.
After sending, a Dynamic Island entry remains.
If you forgot to paste the prompt in the AI app, tap 'Copy prompt' on the Dynamic Island.
3. Choose a scenario, the prompt follows
In the delivery panel, pick a target and scenario; the scenario prompt auto-copies, then long-press paste in the target input box.
Sidenote: each AI app has different appetites; some don't accept archives, some swallow text.
We tested on real devices and standardized on converting everything to a PDF with images inserted under corresponding messages that every app can consume.
Test a 'customer review' scenario on a sample chat: key points, conclusions, to-dos, risks, owners, deadlines - six items clearly listed.
The test message had no business request, and the AI honestly wrote 'no business request' instead of fabricating:
4. Over 100 messages: collect in batches on the phone
WeChat forwards at most 100 messages at a time, same on mobile.
When forwarding, choose 'Collect in batches to WeChatBridge', and it auto-copies the last sentence of the batch. Search in WeChat to locate, then continue selecting.
After collecting, tap 'Done and deliver'; all batches merge by time with overlapping messages deduped.
No more hunting for message #101.
5. Sinking into Obsidian is what really saves it
WeChat favorites and File Transfer Helper can store, but they just sit and get forgotten.
Delivering to Obsidian writes a structured Markdown note:
- Header records which chat, scenario, message count.
- Each message keeps sender and time, images inline.
- Attachments and the original WeChat ZIP go into an 'Attachments' folder, nothing lost.
The note is your local file, searchable, taggable, linkable. When WeChat records are cleared or you switch phones, it remains.
Three months later, you can ask AI to search your vault: list the requirements this customer group discussed.
Temporary storage is just holding; sinking is for future use. WeChatBridge wants the latter.
Who would use this?
I manage dozens of groups; while making this app, I thought of these group members:
- Myself: used to climb chat history until falling asleep; now I forward on the subway and give it to AI, and know what the group discussed by arrival.
- Sales people: dozens of customer groups; use 'customer review' to list what the customer wants, what was promised, who follows up.
- Students: article groups flood; use 'public account article extraction' to filter first, maybe 2-3 worth reading.
- Freelancers: client requirements always in WeChat; each conversation goes to Obsidian; next dispute, quote the original text.
- Parents: parent groups full of 'received'; weekends give to AI; a list of what to submit/bring emerges.
In short, if part of your work and life is soaked in WeChat, WeChatBridge is for you.
Security?
Same as Mac/Windows: no cracking WeChat, no injection, no reading your chat database.
iOS only uses WeChat's built-in 'Transfer to Other Apps' and Apple's system share sheet. Chat records stay on your phone; nothing goes to our server.
Honest note: iOS doesn't allow an app to open another app for you, so the final delivery tap is yours.
Apple's rules; we can't help it. 🐶
How to get the iOS version?
The app is in review for the App Store, not yet listed.
If you can't wait, join our community group on GitHub for early access to the latest build.
Open source: https://github.com/freestylefly/WeChatBridge
Feedback and bug reports are welcome; your issue may become the next release. 😄
Thanks to core contributor 蜗牛; for direct install link, follow the official account and reply: 微信流
+蜗牛
Closing
From Mac to Windows to iOS, WeChatBridge now covers the three screens you use most. Next stop: Android and Harmony.
One more point that's easy to overlook.
I've always thought Astra's backend experience is more careful. It thinks of edge cases for you, and tells you what hasn't been verified. That nurtured feeling is understood by anyone who has used it.
This time with Kimi K3.1 Pro running WeChatBridge iOS, I found the same careful, considerate feeling.
Real examples from this run:
- Empty files being stored in the relay: it caught this during acceptance and fixed it.
- After the last batch, the button still said 'Continue sending batch 2/1': it didn't miss such a small issue.
- After each task it proactively reported: what it did, what tests it ran, what wasn't verified.
- Real-device-only items were honestly marked 'pending real device', none waved through as passed.
Writing code is a basic ability; thinking of what you didn't think of is what truly reassures.
18 working days of work run in 6 hours, and so carefully. For complex engineering, I trust Kimi K3.1 Pro.
Of course, it's a bit expensive; try K3.1 Pro on WorkBuddy and other channels.
What would you have AI do with your WeChat chat records? Comment below; hit like; we'll continue on the Android version.
This software is for technical enthusiasts to learn, test, and exchange. Please comply with laws and platform rules. Only process chat records you own or are authorized to use. Before forwarding to third-party AI, protect privacy and desensitize sensitive info. Usage for stealing others' privacy, fraud, harassment, or other illegal activities is strictly forbidden.