跪拜 Guibai
← Back to the summary

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.

image-01

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.

Kimi 3.1 wrote an execution plan document. Dark interface, header Chatbot Code v1.3.208, centered on the plan for developing WeChatBridge iOS. Includes tasks, rules, from T0 to T9.

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.

Two documents: execution plan requiring only this plus schedule to finish iOS v1, containing work rules, architecture, task list T0-T9; second part 'Thought for 2s' with background, error detection, etc.

After careful thought and planning, it produced both docs with directories ready.

WeChatBridge iOS v1 technical spec. Left: document outline with work rules, architecture, task list. Right: '1. Technical spec' section showing worktree path, etc.

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.

Schedule doc outline and task table with milestone, task ID, workdays, dates. Delivery 2026-11-18, 18 workdays + 2 buffer.

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:

Also hard rules:

Acceptance result table with test dates, device iOS, app version, results. Most passed; last two 'passed (after fix)'.

Once the plan was written, I handed the docs to Kimi K3.1 Pro and let it run.

Kimi executing tasks, reporting per task ID.

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. 🤪

Kimi running code, showing test counts and pass/fail.

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:

Each issue was logged in the acceptance record: symptom, cause, and which commit fixed it.

Table of S1-S11 on iPhone 17 Simulator / iOS 26.5, app v1.0.0, all passed, with evidence.

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).

image-12-avatar-edited

Then tap 'Forward' → 'Merge Forward' → 'Other Apps' → 'Choose app on this phone', and select 'WeChatBridge' in the share sheet.

image-14

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.

image-16

Tap in to see the full conversation with images displayed inline.

image

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.

image-18

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.

image-21

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.

image-23

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:

image-26

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.

image-30

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:

image-37

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:

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:

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.