@jaxonchenjc/claude-wechat-channel
v1.0.2
Published
WeChat channel plugin for Claude Code — two-way messaging bridge via iLink Bot API
Maintainers
Readme
WeChat Channel for Claude Code
Two-way messaging bridge between WeChat and Claude Code via the iLink Bot API.
Background: Tencent released @tencent-weixin/openclaw-weixin — a WeChat channel for OpenClaw. This project brings the same capability to Claude Code, following the official Telegram and Discord channel plugin patterns.
Features
- QR code login — scan with WeChat to connect
- Text, image, voice, file, and video message support
- Voice messages auto-transcribed (WeChat server-side STT)
- Image/file/video CDN download with AES-128-ECB decryption
- File/image/video sending via CDN upload
- Typing indicator
- Long message auto-chunking
- Poll cursor persistence (no message replay on restart)
Prerequisites
- Claude Code v2.1.80+
- Bun runtime
- A WeChat account
Quick Start
1. Install (one-time)
claude --dangerously-skip-permissionsInside Claude Code:
/plugin marketplace add jaxxjj/claude-wechat-channel
/plugin install wechat@claude-wechat-channelExit Claude Code.
2. Login
claude --dangerously-skip-permissionsInside Claude Code:
/wechat:configure loginScan the QR code with WeChat. Credentials saved automatically. Exit Claude Code.
3. Start
claude --dangerously-skip-permissions --dangerously-load-development-channels plugin:wechat@claude-wechat-channelDone. WeChat messages now arrive in your Claude Code session.
How It Works
WeChat contact sends you a message
→ iLink Bot API (long-polling)
→ server.ts receives message
→ MCP notification to Claude Code
→ Claude processes, calls reply tool
→ server.ts sends via iLink API
→ Reply appears in WeChatAccess is gated by WeChat's QR code login — only contacts of the logged-in account can send messages.
Supported Message Types
| Type | Inbound | Outbound | |------|---------|----------| | Text | Direct | Auto-chunked | | Image | CDN download + AES decrypt | CDN upload + encrypt | | Voice | Server-side speech-to-text | — | | File (PDF, etc) | CDN download + AES decrypt | CDN upload + encrypt | | Video | CDN download + AES decrypt | CDN upload + encrypt |
Alternative Install Methods
npm
npx @jaxonchenjc/claude-wechat-channel install
claude --dangerously-skip-permissions --dangerously-load-development-channels server:wechatManual clone
git clone https://github.com/jaxxjj/claude-wechat-channel.git
cd claude-wechat-channel && bun installAdd to ~/.claude.json under mcpServers:
{
"wechat": {
"command": "bun",
"args": ["run", "--cwd", "/path/to/claude-wechat-channel", "--shell=bun", "--silent", "start"],
"type": "stdio"
}
}State Files
~/.claude/channels/wechat/
├── account.json # Login credentials (chmod 600)
├── poll_cursor # Long-poll cursor (prevents replay on restart)
└── inbox/ # Downloaded media filesLimitations
- Session expiry: WeChat sessions may expire; re-run
/wechat:configure login - Single session: Only one Claude Code session can poll at a time
- No message history: Real-time only
- Channels research preview: Requires
--dangerously-load-development-channelsflag
Credits
- WeChat iLink Bot API by Tencent
- Channel architecture inspired by claude-plugins-official
- CDN encryption protocol referenced from
@tencent-weixin/openclaw-weixin
License
MIT
