From wechat
Set up the WeChat channel — scan QR to login, check connection status, clear token. Use when the user asks to configure WeChat, check channel status, re-login, switch accounts, or troubleshoot connection issues.
npx claudepluginhub tttpeng/claude-channel-wechat --plugin wechatThis skill is limited to using the following tools:
Manages WeChat iLink login and orients the user on connection status.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Manages WeChat iLink login and orients the user on connection status.
Token is stored at ~/.claude/channels/wechat/token.json.
Arguments passed: $ARGUMENTS
Read the token file and give the user a complete picture:
Token — check ~/.claude/channels/wechat/token.json.
:), created time, and test connection:
bun -e "
const fs = require('fs');
const p = require('os').homedir() + '/.config/claude-channel-wechat/token.json';
if (!fs.existsSync(p)) { console.log('Status: NOT LOGGED IN'); process.exit(0); }
const t = JSON.parse(fs.readFileSync(p, 'utf-8'));
console.log('Bot ID:', t.bot_token.split(':')[0]);
console.log('Created:', new Date(t.created_at).toLocaleString());
const c = new AbortController(); setTimeout(() => c.abort(), 5000);
fetch('https://ilinkai.weixin.qq.com/ilink/bot/getupdates', {
method: 'POST', signal: c.signal,
headers: { 'Content-Type': 'application/json', 'AuthorizationType': 'ilink_bot_token', 'X-WECHAT-UIN': btoa(String(Math.floor(Math.random()*0xffffffff))), 'Authorization': 'Bearer ' + t.bot_token },
body: JSON.stringify({ get_updates_buf: '', base_info: { channel_version: '1.0.2' } }),
}).then(r => console.log('Connection: OK')).catch(e => {
console.log(e.name === 'AbortError' ? 'Connection: OK' : 'Connection: FAILED - ' + e.message);
});
"
What next — based on state give a concrete next step:
/wechat:wechat-configure login to scan QR code and pair your WeChat account."claude --dangerously-load-development-channels plugin:wechat@claude-channel-wechat/wechat:wechat-configure login to re-authenticate."Supported features — list briefly:
login — scan QR to authenticateDo NOT run the login script inside this session. QR scanning requires an interactive terminal and takes too long for the Bash tool.
Instead, tell the user to open a separate terminal and run:
bun ~/.claude/plugins/cache/claude-channel-wechat/wechat/*/src/setup-login.ts
Or if installed manually:
cd <project-dir> && bun src/setup-login.ts
Explain:
claude --dangerously-load-development-channels plugin:wechat@claude-channel-wechat
clear — remove saved tokenrm -f ~/.claude/channels/wechat/token.json
/wechat:wechat-configure login to re-authenticate with a new account."~/.claude/channels/wechat/sync_buf.txt preserves message position across restarts — don't delete it unless troubleshooting.