Note
YOUR 24-7 Personal Assistant on WeChat
This project is a fork from vansin/claude-code-wechat-channel, which was originally for MacOS. The readme below will be in Chinese for better readbility in WeChat.
KEY FEATURES
- Claude Code API mode supported
- Heartbeat system done, automatically grabbing instructions from your WeChat chatbox
将微信消息桥接到 Claude Code 会话的 Channel 插件。本版本已适配 Windows 11。
基于微信官方 ClawBot ilink API(与 @tencent-weixin/openclaw-weixin 使用相同协议),让你在微信中直接与 Claude Code 对话。
微信 (iOS) → WeChat ClawBot → ilink API → [本插件] → Claude Code Session
↕
Claude Code ← MCP Channel Protocol ← wechat_reply tool
本 Windows 版做了以下适配:
| 变更项 | macOS 原版 | Windows 版 |
|---|---|---|
| 主目录路径 | process.env.HOME (~/) |
os.homedir() (%USERPROFILE%) |
| 文件权限 | fs.chmodSync(0o600) |
保留调用但 Windows 上为无害 no-op |
| Shell 脚本 | telegram-switch.sh (Bash) |
telegram-switch.ps1 (PowerShell) |
| 环境变量语法 | WECHAT_ACCOUNT=work claude ... |
$env:WECHAT_ACCOUNT='work'; claude ... |
| 安装命令 | curl -fsSL https://bun.sh/install | bash |
powershell -c "irm bun.sh/install.ps1 | iex" |
| 凭据路径 | ~/.claude/channels/wechat/ |
%USERPROFILE%\.claude\channels\wechat\ |
- Bun >= 1.0(见下方安装说明)
- Claude Code >= 2.1.80
- claude.ai 账号登录(不支持 API key)
- 微信 iOS 最新版(需支持 ClawBot 插件)
在 PowerShell 中运行:
# 官方安装脚本
powershell -c "irm bun.sh/install.ps1 | iex"
# 或者使用 npm 全局安装
npm install -g bun
# 或者使用 scoop
scoop install bun
# 或者使用 winget
winget install Oven-sh.Bun
# 验证安装
bun --version如果你的环境无法安装 Bun,也可以用
npx tsx替代bun来运行.ts文件,但性能会有差异。
把本目录交给 Claude Code,让它帮你完成全部配置:
cd ~\cc_wechat_channel_windows
claude进入 Claude Code 后直接说:
帮我配置微信 Channel,按照 README 的步骤来
Claude Code 会自动读取 README,帮你安装依赖、引导扫码登录、配置 MCP,全程不需要你手动操作。
cd ~\cc_wechat_channel_windows
bun installbun setup.ts # 默认账号终端会显示二维码,用微信扫描并确认。凭据保存到 %USERPROFILE%\.claude\channels\wechat\accounts\default.json。
Config the following paths first:
~\cc_wechat_channel_windows\.claude
then
claude --dangerously-load-development-channels server:wechat打开微信,找到 ClawBot 对话,发送消息。消息会出现在 Claude Code 终端中,Claude 的回复会自动发回微信。
支持同一台机器登录多个微信号,每个账号独立运行:
bun setup.ts # 默认账号(default)
bun setup.ts work # 工作号
bun setup.ts personal # 个人号每次扫码登录一个微信号,凭据分别保存到:
%USERPROFILE%\.claude\channels\wechat\accounts\default.json
%USERPROFILE%\.claude\channels\wechat\accounts\work.json
%USERPROFILE%\.claude\channels\wechat\accounts\personal.json
bun setup.ts --list# 默认账号(不需要环境变量)
claude --dangerously-load-development-channels server:wechat
# 指定账号(PowerShell 设置环境变量语法)
$env:WECHAT_ACCOUNT='work'; claude --dangerously-load-development-channels server:wechat在不同 PowerShell 窗口分别启动不同账号,每个账号的消息互不干扰:
# 终端 1:默认账号 → vincent 项目
cd C:\Users\you\vincent
claude --dangerously-load-development-channels server:wechat
# 终端 2:工作号 → intern-ai 项目
cd C:\Users\you\intern-ai
$env:WECHAT_ACCOUNT='work'; claude --dangerously-load-development-channels server:wechat
# 终端 3:个人号 → ai-insight 项目
cd C:\Users\you\ai-insight
$env:WECHAT_ACCOUNT='personal'; claude --dangerously-load-development-channels server:wechat每个账号独立维护:凭据、消息同步状态、图片缓存目录。
Claude Code 支持恢复之前的会话,让微信通道接入已有的对话上下文:
# 恢复指定 session(通过 session ID)
claude --dangerously-load-development-channels server:wechat --resume <session-id>
# 交互式选择要恢复的 session
claude --dangerously-load-development-channels server:wechat --resume在可信环境下(如个人电脑),可以跳过所有工具调用的权限确认弹窗,实现全自动化:
claude --dangerously-load-development-channels server:wechat --allow-dangerously-skip-permissions将微信通道作为 teammate 模式运行,与其他 Claude Code 进程协作:
claude --dangerously-load-development-channels server:wechat `
--allow-dangerously-skip-permissions `
--resume <session-id> `
--teammate-mode in-process注意: PowerShell 中多行命令使用反引号
`作为续行符(而非 bash 的\)。
# 完整示例:恢复会话 + 跳过权限 + 指定账号 + 指定项目目录
cd D:\my-project
$env:WECHAT_ACCOUNT='work'; claude --dangerously-load-development-channels server:wechat `
--allow-dangerously-skip-permissions `
--resume <session-id>| 参数 | 说明 |
|---|---|
--dangerously-load-development-channels server:wechat |
加载微信 Channel(必需) |
--resume <session-id> |
恢复指定会话的上下文 |
--allow-dangerously-skip-permissions |
跳过所有权限确认 |
--teammate-mode in-process |
Teammate 模式运行 |
--model <model> |
指定模型(如 opus、sonnet) |
--permission-mode bypassPermissions |
绕过权限模式 |
$env:WECHAT_ACCOUNT='<name>' |
PowerShell 环境变量,指定微信账号 |
Claude Code 官方提供了 Telegram Channel 插件,可以和微信 Channel 同时使用。
claude plugin install telegram@claude-plugins-official- 打开 Telegram,搜索 @BotFather
- 发送
/newbot,输入 bot 名称和用户名 - 获得 token(格式:
123456789:AAH...)
# 创建配置目录
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.claude\channels\telegram"
# 写入 token
Set-Content -Path "$env:USERPROFILE\.claude\channels\telegram\.env" -Value "TELEGRAM_BOT_TOKEN=你的token"claude --channels plugin:telegram@claude-plugins-official启动后给 bot 发一条消息获取配对码,在 Claude Code 中输入:
/telegram:access pair <配对码>
/telegram:access policy allowlist
每个 bot 一个独立目录,通过 TELEGRAM_STATE_DIR 环境变量指定:
%USERPROFILE%\.claude\channels\
├── telegram\ # 默认 bot
│ ├── .env # TELEGRAM_BOT_TOKEN=token1
│ └── access.json # {"dmPolicy":"allowlist","allowFrom":["你的用户ID"]}
├── telegram-project-a\ # 项目 A 的 bot
│ ├── .env # TELEGRAM_BOT_TOKEN=token2
│ └── access.json
└── telegram-project-b\ # 项目 B 的 bot
├── .env # TELEGRAM_BOT_TOKEN=token3
└── access.json
access.json 格式:
{
"dmPolicy": "allowlist",
"allowFrom": ["你的Telegram用户ID"],
"groups": {},
"pending": {}
}获取你的 Telegram 用户 ID:给 @userinfobot 发消息。
# 启动不同 bot 连接不同项目(各开一个 PowerShell 窗口)
# 终端 1:默认 bot
cd D:\project-a
claude --channels plugin:telegram@claude-plugins-official
# 终端 2:项目 B 的 bot
cd D:\project-b
$env:TELEGRAM_STATE_DIR="$env:USERPROFILE\.claude\channels\telegram-project-b"
claude --channels plugin:telegram@claude-plugins-official使用 telegram-switch.ps1 快速切换:
.\telegram-switch.ps1 intern-ai
.\telegram-switch.ps1 ai-insight# 终端 1:微信 Channel
claude --dangerously-load-development-channels server:wechat
# 终端 2:Telegram Channel
claude --channels plugin:telegram@claude-plugins-official两个通道可以连到同一个项目目录的不同 session,互不干扰。
| 文件 | 说明 |
|---|---|
wechat-channel.ts |
MCP Channel 服务器主文件 (Windows 适配) |
setup.ts |
独立的微信扫码登录工具 (Windows 适配) |
.mcp.json |
Claude Code MCP 服务器配置 |
telegram-switch.ps1 |
Telegram Bot 切换脚本 (PowerShell) |
- 消息接收: 通过
ilink/bot/getupdates长轮询获取微信消息 - 消息发送: 通过
ilink/bot/sendmessage发送回复 - 认证: 使用
ilink/bot/get_bot_qrcodeQR 码登录获取 Bearer Token - 协议: 基于 MCP (Model Context Protocol) 的 Channel 扩展
- 凭据存储在
%USERPROFILE%\.claude\channels\wechat\下(通常为C:\Users\<你的用户名>\.claude\channels\wechat\) - PowerShell 中设置环境变量使用
$env:VARIABLE='value'语法 - 多行命令使用反引号
`续行(非 bash 的反斜杠\) fs.chmodSync在 Windows 上不起作用,但不影响功能- 路径分隔符由
path.join/path.resolve自动处理,无需担心/vs\
- 当前为 research preview 阶段,需要使用
--dangerously-load-development-channels标志 - Claude Code 会话关闭后通道也会断开
- 微信 ClawBot 目前仅支持 iOS 最新版
- 每个 ClawBot 只能连接一个 agent 实例
MIT