Help us improve
Share bugs, ideas, or general feedback.
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 wechatHow this skill is triggered — by the user, by Claude, or both
Slash command
/wechat:wechat-configureThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manages WeChat iLink login and orients the user on connection status.
Configures WeChat iLink bot channel: checks credentials/access status, generates QR code for login, polls scan confirmation, stores tokens.
Sets up WeChat iLink Bot login via QR code scanning and checks channel status. Guides through login flow, polls for scan result, and displays credential/access state.
Sets up WeChat channel connection via QR code login. Checks existing credentials, supports re-login, logout, and full reset.
Share bugs, ideas, or general feedback.
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.