A customer messaged me on WeChat at midnight asking for a quote — my avatar answered, and I never touched the computer
Back to ResourcesBlog

A customer messaged me on WeChat at midnight asking for a quote — my avatar answered, and I never touched the computer

October 14, 2026·8 min read

In the years I've spent doing export trade, what scares me most isn't a lack of orders — it's a customer messaging me on WeChat and me not seeing it in time. Our long-standing customers and agents are almost all on personal WeChat, scattered across one group after another, and WeChat simply doesn't offer an open API — writing your own bot to plug into it isn't an option. WhatsApp and LINE do have official business APIs, but those require company verification, template review, and per-message billing, which is useless when you're dealing with an old customer's personal account. I tried a third-party hosting platform once too — handed over the whole account and chat history — and within weeks it got flagged for "logging in from a new location" and nearly got the account banned for good.

The only option left was to watch it myself. But I can't watch several group chats across several apps at once, especially with customers scattered across time zones — an inquiry that comes in at midnight, I don't see until I wake up, and by then the order might already be gone to a competitor. That changed once we started using a Karma avatar — not the cloud-only kind that can't reach WeChat at all, but one actually installed on my own computer, running my own WeChat client. It doesn't use an API; it watches the screen, opens the thread, types, and sends, exactly the way I would. We ran it continuously for two days on a dedicated virtual machine, and I screenshotted and timestamped every step along the way — this post is what actually happened over those two days.

A real screenshot: why computer use — export customers live in chat apps, and those apps don't give out an API, with three cards covering no API, can't hand over the account, and a human can't watch everything, plus how Karma answers each one

It isn't a bot account — it's my own WeChat, just being watched for me

The first time I heard about this feature, I didn't believe it — I assumed it was just another webhook forwarding messages somewhere. Then I opened the device page and realized it was nothing like that. I had to prep a Mac first (we used a dedicated virtual machine), install WeChat, install Karma, and log into my account. What actually surprised me was the login step: inside the device page, I clicked WeChat Group Monitoring, chose View WeChat, and a QR code appeared right there in the Karma interface. I scanned it with my phone, and WeChat logged in on that virtual machine — exactly like scanning to log into desktop WeChat normally, no strange authorization popups.

Once it's logged in, the sidebar lists every conversation that WeChat window can recognize, and I checked off just the handful of old-customer groups and agent threads I wanted logged — everything else stays untouched, which matters to me since I don't want AI looking at every chat I have. For threads that need auto-reply, I flip that on separately; if I want to be more careful, I can choose draft-only, where the avatar writes the reply and leaves it there for me to click send myself. I never once opened a remote desktop through any of this — the whole thing happens inside the Karma interface.

A real screenshot: Device Page > WeChat Group Monitoring, showing the Mac set up for the avatar, WeChat logged in, three self-check items passed, and this round's conversation being logged

What it's actually doing: see, log, think, reply, guard — five steps, all on my own computer

I later had someone on our team walk me through what's actually happening underneath, and broken apart it's less mysterious than it sounds. Step one is see: it only screenshots that one WeChat window, running text recognition locally, no model calls, not a single token spent, and it recognizes disconnects, verification prompts, and layout changes when they happen. Step two is log: read-only, no typing, no sending — my chosen conversations get checked every 1 to 3 minutes, stitched screen by screen into that day's running record, nothing duplicated or missed, with images and voice notes logged as placeholders. Step three is think: it only wakes up when a real new message arrives, answers quotes, lead times, and MOQ questions from the product material I gave it, and flags anything it can't answer rather than making something up. Step four is reply: before opening a thread, it checks the name in the top bar is really that person, only then types and sends, and afterward finds that exact sent message back on screen to confirm it actually went out. Step five is guard: it only sends into conversations where I've turned on auto-reply — everything else, it can't touch.

A real screenshot: the whole see-log-think-reply-guard pipeline in five cards, all running on your own computer — screenshot and recognize, read-only logging, avatar plus your reference material, open-type-send, and the final gate

At 11pm, a customer sent "hi" — my avatar replied within 36 seconds

The one I remember most clearly happened on the night of October 12. The other side sent "hi" at 22:59, and I was already away from my computer by then. At 23:00:47, this cycle's screenshot caught that exact new message, logged it into the day's record, and judged that the other side had said something new. At 23:00:49, the avatar woke up, handling only this one conversation and touching nothing else. At 23:01:25, it sent back two lines: "It's Dai~ who's this?" and "Just saw your message, what's up." From waking up to sending, the whole thing took 36 seconds. When I checked the log the next morning, the other person clearly had no idea they were talking to AI — they just kept chatting in the same casual tone as always.

A real screenshot: from receipt to reply, no human touches it — the other side sends hi at 22:59, the system logs the new message at 23:00:47, wakes the avatar at 23:00:49, sends the reply at 23:01:25, a 36-second timeline, with the actual WeChat conversation window from the same virtual machine on the right

Later I deliberately tested whether it could figure out what to do on its own. I said one plain sentence in Karma: "check the group chat log — what did Lucas Dai say in WeChat today?" It pulled up the chat history itself and answered within 10 seconds, listed out item by item, and honestly flagged any gaps rather than making something up. Then I said: "reply to Lucas Dai in WeChat: the sample shipped today, tracking number comes tomorrow morning." It picked the sending tool itself, and within 20 seconds opened the thread, verified the other person's identity, typed, sent, and read the screen back to confirm — the status showed "confirmed," meaning it had found that exact message back on screen after sending, confirming it really went out, not just assumed it had. The whole exchange was two plain sentences from me, and it chose which tool to use on its own, which was smarter than I expected.

A real screenshot: it picks its own tool — reading the log or sending a message — the Karma dialogue showing two plain-language instructions, with the avatar deciding on its own which tool to call to get the job done

What I actually cared about most wasn't that it could send — it was that it knew when not to

Honestly, what worried me most at the start wasn't that it would be dumb — it was that it would be "too bold," accidentally sending to the wrong person, or sweeping up a draft I hadn't finished writing and sending that too. This is the part we tested most carefully. It can only send into conversations where I've turned on auto-reply — everything else gets refused outright, and it can't even get into a thread that isn't logged. Even with auto-reply on, if I've set a thread to draft-only, the execution layer won't send a single message — it's not relying on the avatar's restraint, it's genuinely blocked. Before every single send, it re-checks the name shown in the top bar, only sending if it confirms that's really the right person, and refusing to send at all if it can't make it out. After sending, it looks for that exact message back on screen, and if it can't find it, it honestly reports "unclear" rather than lying to me that it went out.

There's one detail I particularly appreciate: logging and sending are mutually exclusive. That means during the few seconds the avatar is actually operating the computer to send a message, that round of logging automatically steps aside rather than fighting over the same window. If there's already a draft sitting in the input box that I hadn't finished typing, it saves that draft first and clears the box separately, so it never gets swept up and sent along with the avatar's own message. If WeChat pops up an image verification code, the avatar doesn't click it for me either — the image shows up in Karma, and I'm the one who clicks it. We verified each of these refusal rules one by one on the real machine: sending into an unlogged conversation gets refused, sending into a logged-but-not-auto-reply conversation gets refused, and an account that isn't this computer's owner can neither read nor send. Knowing exactly when it will say no reassures me more than knowing when it will say yes.

A real screenshot: able to send, and knowing where not to — eight guardrail cards: only into the allow-list, draft-only mode, check before sending, read back after sending, no competing for the window, drafts never lost, verification left to a human, team access read-only, all marked as verified on real hardware

Not just WeChat: WhatsApp and LINE are getting the same treatment next

We do export trade, so of course our customers aren't only on WeChat. Buyers in Europe, the Middle East, Latin America, and Southeast Asia mostly use WhatsApp; customers in Japan, Thailand, and Taiwan tend to use LINE. The good news is the avatar runs on the same underlying computer-use capability — whatever the app can display, it can see; whatever you can click, it can click. The WeChat path is already live and verified on real hardware; WhatsApp and LINE are being integrated, and the team tells me there are still a few calibration details to nail down, like the conversation-list layout, how it reads the contact name in the top bar, and how the input box lines up with send confirmation — all of which take time to tune against real accounts. Once that's done, I should be able to hand all of our overseas customer groups over to the avatar, not just the WeChat ones.

A real screenshot: the three chat apps export businesses use, one computer-use engine calibrated app by app — WeChat live and verified on real hardware, WhatsApp and LINE being integrated, each mapped to a different region's buyers

The three-minute demo we now show customers

These days when the team meets a new customer, we bring this exact flow along and run it live — three minutes, five steps, and it lands far better than any slide deck would. We start by opening the device page's WeChat Group Monitoring, showing them it's already logged in, actively logging, auto-reply on, with one line of context: "this is the work WeChat I keep in a virtual machine." Then a colleague, playing a buyer from their own phone, sends a message to this WeChat: "what's the MOQ? Can you deliver in 30 days?" — and the customer just watches the actual WeChat window on the big screen. After roughly a minute or two, the avatar replies using the product material we'd set up ahead of time — "MOQ is 500 units, standard lead time is 25 days..." — and a new green bubble appears in the window. That's usually the moment a customer's expression changes. Then we go back to Karma and ask it what customers asked about in WeChat today — listed item by item within 10 seconds — and tell it to reply to someone: the sample shipped today, tracking number tomorrow morning — sent and confirmed within 20 seconds. What actually lands in that whole demo isn't any particular line of pitch, it's the customer watching, with their own eyes, a message they sent from their own phone get answered by the "person" on the other end.

A real screenshot: a day in the life of an export-factory owner with the avatar standing guard over WeChat, the three-minute live demo flow in five cards — opening, the customer asks, the avatar replies, asking it, and telling it to act

After a few days of actually using it, my biggest takeaway is this: I used to constantly switch between my phone and the computer, terrified of missing a message. Now the avatar stands guard over WeChat for me — it handles the clear-cut stuff from the material I've given it, and when something's ambiguous, it honestly tells me it can't answer and hands it back to me. It's not helping me cut corners, it's giving me back the hours I used to spend just staring at the screen.

Karma — your sovereign AI avatar. It uses your computer, watches over your customers, speaks in your voice; the account and the log both stay in your own hands. WeChat works today. WhatsApp and LINE are being integrated.

Related Articles

August 14, 2026

Build an AI avatar that actually gets work done, without writing a line of code

July 25, 2026

The one-person company, AI-native: when a single founder replaces a department

July 2, 2026

Betting everything on one model is one of the riskiest technical decisions you can make in 2026