通过微信远程控制 Claude Code。扫码登录后,直接在微信里给 Claude 发任务、审批操作、中断执行、接收完成通知。
- 微信对话:直接在微信里给 Claude 发消息,Claude 在本地执行后把结果发回微信
- 图片 / 文件传输:发图片给 Claude 让它分析,Claude 生成的文件也能回传微信
- 语音消息:自动提取转写文字后转发给 Claude
开启后,Claude 每次执行 Bash 命令、写文件、编辑文件前,会先发微信问你是否允许:
⚠️ Claude 请求执行操作
工具: Bash
命令: rm -rf dist/
回复 y 允许,n 拒绝
(ID: a1b2c3d4)
回复 y 放行,回复 n 拒绝。默认关闭,需手动开启。
为常见操作设置自动允许/拒绝规则,无需每次手动确认:
/allow Bash:npm* # 自动允许所有 npm 开头的命令
/deny Bash:rm -rf* # 自动拒绝危险命令
/whitelist # 查看所有规则
Claude 完成任务后自动推送微信通知,无需盯着终端等。
任务执行超过 30 秒,每隔 30 秒推送一次心跳消息,告知当前已用时。
在微信发 /stop,立即中断 Claude 正在执行的任务。
管理多个代码仓库,随时切换:
/project add myapp ~/code/myapp # 添加项目
/projects # 列出所有项目
/switch myapp # 切换到 myapp 项目
查看最近 20 条任务记录,支持重发:
/history # 查看历史
/retry # 重发最新任务
/redo 3 # 重发第 3 条历史
定时或周期性执行任务:
/schedule 09:00 "检查并推送今日代码" # 每天 9 点执行
/schedule 2026-04-01 10:00 "部署生产环境" # 指定日期执行
/cron "0 9 * * 1" "周报生成" # Cron 表达式
/jobs # 查看所有任务
/cancel abc123 # 取消任务
/usage # 查看今日消息数和 Token 估算
控制哪些微信账号可以操控 Claude(默认所有人均可):
/trust <微信ID> <备注> # 添加信任用户
/untrust <微信ID> # 移除
/users # 查看列表
从服务器获取文件内容:
/get ~/code/myapp/src/index.ts # 获取文件(小文本直接显示,大文件作附件发送)
- Claude Code v2.1.80+
- Node.js >= 22
- 微信(iOS / Android / macOS / Windows)
git clone https://github.com/Conn-Ho/wechat-claude-code.git
cd wechat-claude-code无需编译,dist/ 已包含在仓库中。
node dist/cli.js install终端会显示二维码,用微信扫码登录。登录成功后账号信息保存在 ~/.claude/channels/wechat/。
Claude Code 默认关闭 Channels 功能,需要打补丁启用:
node dist/cli.js patch恢复原始版本:
node dist/cli.js unpatch/opt/homebrew/bin/claude --dangerously-load-development-channels server:wechat-channel启动后在微信给登录的账号发消息,即可开始使用。
| 命令 | 说明 |
|---|---|
y |
允许最新的待审批操作 |
n |
拒绝最新的待审批操作 |
y <id> |
允许指定 ID 的操作(如 y a1b2c3d4) |
n <id> |
拒绝指定 ID 的操作 |
/stop |
中断 Claude 当前任务 |
/status |
查看运行状态和待审批列表 |
/allow <工具>:<模式> |
添加自动允许规则 |
/deny <工具>:<模式> |
添加自动拒绝规则 |
/whitelist |
查看审批白名单 |
/whitelist remove <id> |
删除规则 |
/project add <名> <路径> |
添加项目 |
/projects |
列出所有项目 |
/switch <名> |
切换当前项目 |
/history |
查看任务历史 |
/retry |
重发最新任务 |
/redo <n> |
重发第 n 条历史 |
/schedule <时间> "<任务>" |
添加定时任务 |
/cron "<表达式>" "<任务>" |
添加周期任务 |
/jobs |
查看定时任务 |
/cancel <id> |
取消定时任务 |
/usage |
用量统计 |
/trust <ID> |
添加信任用户 |
/untrust <ID> |
移除信任用户 |
/users |
查看用户列表 |
/get <路径> |
请求文件内容 |
/help |
显示帮助 |
其他任何消息都会直接发给 Claude 执行。
第一步:安装 hooks
node dist/cli.js install-hooks这会在 ~/.claude/settings.json 里注册 PreToolUse 和 Stop 两个 hook。
第二步:开启审批模式
touch ~/.claude/channels/wechat/approval-mode开启后,Claude 执行 Bash / Write / Edit / MultiEdit 前都会发微信等待审批。
关闭审批模式(恢复无拦截):
rm ~/.claude/channels/wechat/approval-mode审批超时(2分钟)后自动放行,不会卡死。
移除 hooks:
node dist/cli.js remove-hooksnode dist/cli.js install # 注册 MCP server + 扫码登录
node dist/cli.js login # 重新扫码登录(session 过期时使用)
node dist/cli.js patch # 为 Claude Code 打补丁启用 Channels
node dist/cli.js unpatch # 恢复原始 Claude Code
node dist/cli.js install-hooks # 安装 hooks(审批拦截 + 完成通知)
node dist/cli.js remove-hooks # 移除已安装的 hooks
node dist/cli.js status # 查看当前登录状态
node dist/cli.js help # 显示帮助微信消息
→ 腾讯 iLink Bot API(云端长轮询)
→ 本地 MCP Server(接收消息)
→ Claude Code(执行任务)
→ MCP Server(调用 reply tool)
→ iLink API sendmessage
→ 微信
Claude 调用工具(Bash / Write / Edit)
→ PreToolUse hook 触发(仅 approval-mode 开启时)
→ 检查审批白名单 → 自动放行/拒绝(命中规则时)
→ 写入 /tmp/wcc-approval-{id}.pending
→ MCP Server 检测到文件 → 发微信审批请求
→ 用户回复 y/n
→ MCP Server 写入 /tmp/wcc-approval-{id}.result
→ hook 读取结果:exit 0(允许)/ exit 2(拒绝)
Stop hook 在 Claude 完成响应后触发,读取 ~/.claude/channels/wechat/last-user.json 中保存的用户上下文,调用 iLink API 发送通知。
/stop 命令触发后,MCP Server 执行 process.kill(process.ppid, 'SIGINT'),向父进程 Claude Code 发送中断信号。
MCP Server 内置调度循环,每分钟检查 ~/.claude/channels/wechat/jobs.json,到期任务通过 channel notification 转发给 Claude 执行。
- 单账号限制(iLink Bot API 限制)
- 用户需先发一条消息,Claude 才能回复(context_token 按消息签发)
- Session 会过期,过期后重新扫码:
node dist/cli.js login - patch 仅对 npm 全局安装的 Claude Code(cli.js)有效,原生二进制版本自动识别并跳转
Apache 2.0