Install the "add-wechat" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-wechat into .claude/skills/add-wechat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-wechat", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add nanocoai/nanoclaw --skill add-wechat -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "add-wechat" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-wechat into .agents/skills/add-wechat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-wechat", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add nanocoai/nanoclaw --skill add-wechat -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "add-wechat" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-wechat into .cursor/skills/add-wechat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-wechat", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add nanocoai/nanoclaw --skill add-wechat -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "add-wechat" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-wechat into .gemini/skills/add-wechat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-wechat", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
GitHub CLI
$ gh skill install nanocoai/nanoclaw add-wechat
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add nanocoai/nanoclaw --skill add-wechat -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "add-wechat" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-wechat into .github/skills/add-wechat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-wechat", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add nanocoai/nanoclaw --skill add-wechat -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "add-wechat" agent skill from https://github.com/nanocoai/nanoclaw/tree/main/.claude/skills/add-wechat into .opencode/skills/add-wechat/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "add-wechat", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
add-wechat
GitHub stars
31k
Token cost
~1.9k tokens
SKILL.md length
921 words
Files
3 (incl. scripts)
Skills in repo
59
Repo updated
First seen
Licence
MIT
At a glance
Adds a personal WeChat channel to a NanoClaw install through Tencent's iLink Bot API, with QR-code login and long polling instead of a public webhook.
Works in 9 steps: Copy the adapter and its registration test → Append the self-registration import → Install the library (pinned) → …
Connecting a NanoClaw agent to a personal WeChat account
SKILL.md covers Prerequisites, Install, Credentials and Wire your first DM, plus 3 more sections
Runs TypeScript scripts from its folder; calls pnpm, jq and bash
What it does
Through Tencent's first-party iLink Bot API, which is meant for personal WeChat accounts rather than WeCom or Official Accounts, the skill installs a WeChat adapter for NanoClaw. Login happens by scanning a QR code with your phone, so no API keys, paid tokens or public webhook address are needed, and the adapter polls for messages.
Installation copies src/channels/wechat.ts and a registration test from the channels branch, appends an import line to src/channels/index.ts, adds a pinned wechat-ilink-client dependency, then builds the project and runs the registration test, which must pass before you continue. After setting WECHAT_ENABLED=true in .env and restarting the service, you scan the QR code. A script named scripts/wire-dm.ts and a REMOVE.md file are included in the folder.
When your agent uses it
Connecting a NanoClaw agent to a personal WeChat account
Replacing an unofficial WeChat library with Tencent's official bot API
Adding a messaging channel without exposing a public webhook URL
Example prompts
“Add WeChat to my NanoClaw setup so I can message the agent from my phone.”
“Set up the iLink Bot WeChat channel and walk me through the QR login.”
Requirements
A NanoClaw project
A personal WeChat account with the mobile app
A phone to scan the login QR code
Node.js 20 or newer
Workflow steps
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 66f0823. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 1 file in scripts/ (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
pnpm
jq
bash
From the folder's file list and the shell code blocks in SKILL.md.
Network
No URLs in SKILL.md. Its commands use pnpm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Add WeChat Channel loads about 1.9k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 921 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~41
When it runs· the whole SKILL.md, loaded when a task matches
~1.9k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check: notes
The automated check noted patterns worth knowing about, such as sudo or a known installer.
NoteMentions a .env fileSKILL.md:70
Add to `.env`:
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/add-wechat/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
add-wechat
description
Add WeChat (personal) channel integration via Tencent's official iLink Bot API. Uses long-polling and QR scan — no webhook, no ToS risk, no paid token.
Add WeChat Channel
Adds WeChat support via iLink Bot API — the first-party Tencent API for personal WeChat bots (different from WeCom / Official Account).
Why this is different from wechaty/PadLocal:
Official Tencent API — no ToS violation, no ban risk
Free — no PadLocal token required
No public webhook URL needed — uses long-poll
Works with any personal WeChat account
Prerequisites
A personal WeChat account with the mobile app installed
A phone to scan the QR code for login
Node.js >= 20 (already required by NanoClaw)
Install
NanoClaw doesn't ship channels in trunk. This skill copies the WeChat adapter in from the channels branch.
1. Copy the adapter and its registration test
Fetch the channels branch from the configured remote that carries it, then
overwrite the skill-owned files with the canonical registry copies:
Append to src/channels/index.ts (skip if the line is already present):
ncappend
import './wechat.js';
3. Install the library (pinned)
ncdep
wechat-ilink-client@0.1.0
4. Build and validate
ncrun
pnpm run build
ncrun
pnpm exec vitest run src/channels/wechat-registration.test.ts
Both must be clean before proceeding. wechat-registration.test.ts is the one integration test: it imports the real channel barrel and asserts the registry contains wechat. It goes red if the import './wechat.js'; line is deleted or drifts, if the barrel fails to evaluate (so the channel genuinely would not register), or if wechat-ilink-client isn't installed (the import throws) — so it also implicitly verifies the dependency from step 4. Importing is safe: the adapter opens its long-poll connection only in setup() (at host startup), never at import.
End-to-end message delivery against a real WeChat account is verified manually once the service is running — see Credentials and Wire your first DM above.
Credentials
Unlike most channels, WeChat requires no pre-configured API keys. Auth happens via QR code scan from your phone.
1. Enable the channel
Add to .env:
bash
WECHAT_ENABLED=true
2. Start the service and scan the QR
Restart NanoClaw.
Run from your NanoClaw project root:
bash
source setup/lib/install-slug.sh
systemctl --user restart $(systemd_unit) # Linux
# or
launchctl kickstart -k gui/$(id -u)/$(launchd_label) # macOS
The adapter will print a QR URL to the logs and save it to data/wechat/qr.txt:
bash
tail -f logs/nanoclaw.log | grep WeChat
# or
cat data/wechat/qr.txt
Open the URL in a browser (it renders a QR code), then:
Open WeChat on your phone
Use its built-in QR scanner (top-right "+" → Scan)
Approve the authorization on your phone
Auth credentials are saved to data/wechat/auth.json — do not commit this file
The bot is now connected as your WeChat account.
Wire your first DM
A successful QR login alone isn't enough — the adapter still needs to be wired to an agent group before it can respond.
Prerequisite: the host service must be running. The wire script creates the wiring through ncl, which talks to the running host over a Unix socket — there is no offline mode.
1. Trigger the first inbound message
Have a different WeChat account send a message to the bot account. This auto-creates a messaging_groups row with the sender's platform_id and the unknown_sender_policy the WeChat adapter declares.
Interactive flow: the script lists all unwired WeChat messaging groups, asks which agent group to wire it to, and runs ncl wirings create — engage mode/pattern and priority come from the WeChat adapter's declared channel defaults, so a wiring created here matches one created by /manage-channels or the approval-card flow.
With request_approval as the sender policy, the next DM from a stranger fires an approval card to the admin — admin taps Approve/Deny, approved users are added as members and their queued message replays through the agent.
--platform-id <id> — wire a specific messaging group (default: most recent unwired)
--agent-group <id> — target agent group (default: prompt; auto-picked when only one exists)
--sender-policy public|strict|request_approval — override the messaging group's unknown_sender_policy (default: leave whatever the WeChat adapter declared when the row was auto-created)
--session-mode shared|per-thread — default shared
Equivalent raw ncl invocation (host must be running):
Have the sender message the bot again — the agent should respond.
Operational notes
Only one instance can use a given token at a time. Don't run multiple NanoClaw instances pointing to the same data/wechat/auth.json.
Re-login on session expiry: if you see WeChat: session expired in logs, delete data/wechat/auth.json and restart — you'll be asked to re-scan.
Sync cursor persistence:data/wechat/sync-buf.txt holds the long-poll cursor. Deleting it replays recent history on next start; don't delete it in normal operation.
Account safety: this uses the official Tencent API, so account bans for bot automation aren't a risk. That said, don't spam — normal rate limits still apply.
Next Steps
If you're in the middle of /setup, return to the setup flow now.
Otherwise, restart the service to pick up the new channel and wiring.
Channel Info
type: wechat
terminology: WeChat has "contacts" (DMs) and "group chats" (rooms). Each DM or group is a separate messaging group.
how-to-find-id: Send a message to the bot from the target account; the adapter auto-creates a messaging group and logs WeChat inbound platformId=wechat:<id>. Use wechat:<user_id> for DMs, wechat:<group_id> for rooms.
admin-user-id: The operator's WeChat user_id (for init-first-agent.ts --admin-user-id) is saved to data/wechat/auth.json as operatorUserId after the QR scan. Read it with cat data/wechat/auth.json | jq -r .operatorUserId and prefix with wechat: (i.e. wechat:<operatorUserId>).
supports-threads: no (WeChat has no reply threads)
typical-use: Long-poll — the adapter holds a persistent connection to Tencent's iLink API and receives messages in real time. No webhook URL needed.
default-isolation: shared session mode per messaging group (DM or room). Use strict sender policy if you want only specific users to reach the agent; public opens it to anyone who messages the bot.
post-install-wiring: Use the wire-dm.ts helper (see the "Wire your first DM" section above) if running this skill standalone. If running as part of bash nanoclaw.sh, init-first-agent.ts handles wiring — just pass the platform-id and admin-user-id captured above.
Add WeChat Channel next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
A skill your agent uses for Node.js backend AI via @cloudbase/node-sdk (=3.16.0) — cloud functions, CloudRun, Express/Koa/NestJS, serverless APIs, scheduled jobs, LLM proxies, agent orchestration.
A skill your agent uses when developing Node.js backend services or CloudBase cloud functions (Express/Koa/NestJS, serverless, backend APIs) that need AI capabilities.
CloudBase WeChat integration guide for Mini Program WeChat Pay, Mini Program virtual payment (虚拟支付, wx.requestVirtualPayment), Official Account JSAPI Pay, Native QR-code Pay, Official Account OAuth…
Installs or refreshes Iron Proxy and its Iron Control web console for NanoClaw, with a local Docker setup, database, credentials and a human approval bridge.
Drives a web browser from the shell with the agent-browser CLI: open pages, read an element snapshot, click and fill by reference, grab text and screenshots.
Guides a conversational migration from an OpenClaw install to NanoClaw v2, carrying over identity, channel credentials, scheduled tasks and workspace files.
Wires up an additional phone number onto an already-installed Dial channel, so one NanoClaw install answers SMS and AI voice calls on more than one line.
Adds a persistent wiki knowledge base to a NanoClaw group following Karpathy's LLM Wiki pattern, with folders, a tailored container skill and a CLAUDE.md section.
Adds a personal WeChat channel to a NanoClaw install through Tencent's iLink Bot API, with QR-code login and long polling instead of a public webhook. Through Tencent's first-party iLink Bot API, which is meant for personal WeChat accounts rather than WeCom or Official Accounts, the skill installs a WeChat adapter for NanoClaw. Login happens by scanning a QR code with your phone, so no API keys, paid tokens or public webhook address are needed, and the adapter polls for messages.
When should I use Add WeChat Channel?
Add WeChat Channel fits situations like: connecting a NanoClaw agent to a personal WeChat account; replacing an unofficial WeChat library with Tencent's official bot API; adding a messaging channel without exposing a public webhook URL.
How do I install Add WeChat Channel in Claude Code?
Run `npx skills add nanocoai/nanoclaw --skill add-wechat -a claude-code`. Or copy the skill folder (.claude/skills/add-wechat in nanocoai/nanoclaw) into .claude/skills/add-wechat in your project. Claude Code loads it when a task matches its description.
How do I install Add WeChat Channel in Codex?
Run `npx skills add nanocoai/nanoclaw --skill add-wechat -a codex`. Or copy the skill folder (.claude/skills/add-wechat in nanocoai/nanoclaw) into .agents/skills/add-wechat in your project. Codex loads it when a task matches its description.
Can I use Add WeChat Channel in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nanocoai/nanoclaw --skill add-wechat -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/add-wechat, .gemini/skills/add-wechat, .github/skills/add-wechat and .opencode/skills/add-wechat in your project.
What does Add WeChat Channel need to run?
Going by SKILL.md and its folder, Add WeChat Channel needs TypeScript for the scripts in its folder and the command-line tools its instructions call (pnpm, jq and bash). Our summary lists: A NanoClaw project; A personal WeChat account with the mobile app; A phone to scan the login QR code; Node.js 20 or newer.
Does Add WeChat Channel access the network?
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Is Add WeChat Channel safe to install?
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does Add WeChat Channel use?
Add WeChat Channel is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Add WeChat Channel use?
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
What are the alternatives to Add WeChat Channel?
Skills that share tags, products or a category with Add WeChat Channel: AI Model Nodejs (TencentCloudBase/CloudBase-AI-Toolkit, 1.1k stars), AI Model Wechat (TencentCloudBase/CloudBase-AI-Toolkit, 1.1k stars), AI Model Nodejs (majiayu000/claude-skill-registry, 666 stars) and AI Model Wechat (majiayu000/claude-skill-registry, 666 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Add WeChat Channel?
nanocoai (a GitHub organization) maintains it in nanocoai/nanoclaw, which has 30,897 GitHub stars. The repository holds 59 skills in this directory. The repository was last updated on October 6, 2026.
Source: nanocoai/nanoclaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.