← 返回
未分类

claude-wechat-bridge-with-files

让 OpenClaw / Claude Code 通过微信收发消息(含主动发送)的桥接配置 skill。基于微信官方 ClawBot 接口 + 第三方 npm 包 claude-wechat-channel(fengliu222 维护)。当用户说"把 Claude 连到微信" / "想用手机微信和 Claude...
让 OpenClaw/Claude Code 通过微信收发消息(含主动发送)的桥接配置技能。基于微信官方 ClawBot 接口和第三方 npm 包 claude-wechat-channel(fengliu222 维护)。
tinadu-ai tinadu-ai 来源
未分类 clawhub v1.2.1 2 版本 100000 Key: 无需
★ 0
Stars
📥 284
下载
💾 0
安装
2
版本
#latest

概述

OpenClaw / Claude Code ↔ 微信 桥接配置 Skill

这是干啥用的

让 OpenClaw / Claude Code(CLI)能:

  • :用户在手机微信「微信 ClawBot」对话发的消息,自动当成 prompt 进 Claude
  • :Claude 调 mcp__wechat__reply 工具回复用户消息(需先收到入站拿 user_id)
  • 主动发:Claude 用本 skill 自带的 wsend.js 主动推消息到用户微信,无需用户先发消息(v1.2.0 新增,见下文「主动发送」)

典型用例:

  • 让 AI 帮你跟踪一个长流程,过程中你不在电脑前但需要随时给输入
  • 把日常 todo / 知识库整理通过微信对话完成
  • 跑 ClawBot loop 类任务(如批量数据搜集,AI 发关键词、人搜后贴回)

前置条件(必须,缺一不可)

要求
------
Claude Code 版本≥ 2.1.80 (claude --version 查)
Node.js≥ 18 (node -v 查)
微信版本iOS ≥ 8.0.70 (设置→关于)
操作系统Mac/Win/Linux 都行(Mac 测过)
微信账号强烈建议专用账号,不要绑日常号

安装步骤

1. 在项目根目录创建 .mcp.json

{
  "mcpServers": {
    "wechat": {
      "command": "npx",
      "args": ["claude-wechat-channel"]
    }
  }
}

2. 在终端启动 Claude Code(必须用 CLI,desktop app 暂不支持 channel-type MCP)

cd <你的项目根目录>
claude --dangerously-load-development-channels server:wechat

注意:--dangerously-load-development-channels 是必需的,因为 claude-wechat-channel 是第三方

channel-type MCP,不在官方 allowlist 里。

3. 终端输出二维码 → 手机扫码

首次启动会生成二维码,用专用账号的手机微信扫码,确认绑定。绑定后凭证自动保存在

~/.npm/_npx//,下次启动无需再扫。

4. 验证

绑定成功后,手机微信里会出现「微信 ClawBot」对话入口。

测试通路:在 ClawBot 发一条 "hi" → Claude Code 终端应该出现以 `

sender="..." user_id="..."> 包装的消息 turn。Claude 用 mcp__wechat__reply` + 那个

user_id 回复就到你手机了。

5. (可选)图片文件补丁

原版 claude-wechat-channel 只透传文本。本 skill 自带一个补丁包,给 monitor.js 加上:

  • 收到图片 → 自动下载到 ~/.wechat-claude/media/,在消息里注入 [图片: <绝对路径>]
  • 收到文件(PDF / DOCX / etc.)→ 同上,注入 [文件: <绝对路径>]
  • 收到语音 → 注入 [语音文件: <绝对路径>]
  • 收到视频 → 注入 [视频: <绝对路径>]

Claude 拿到 [图片: ...] 后用 Read tool 直接读那个路径就行(多模态 LLM 看图,PDF 用 pypdf 抽文本)。

装补丁:

# 1. 先确保 npx claude-wechat-channel 至少跑过一次(让 npm 把包下载到 ~/.npm/_npx/)
# 2. 跑补丁脚本
bash ~/.claw/skills/claude-wechat-bridge/apply-media-patch.sh
# 3. 重启 bridge(杀掉旧进程,下次 monitor 自动启)
pkill -f claude-wechat-channel

脚本会找所有 ~/.npm/_npx/*/node_modules/claude-wechat-channel/dist/monitor.js、备份成

.orig、覆盖为 patched-monitor.js。已打过补丁的会跳过。npm 重新安装/升级包之后再跑一次即可。

已验证(2026-05-24):

  • ✓ 文字
  • ✓ 图片(jpg/png)
  • ✓ PDF(pypdf 抽文本;图片型 PDF 需要 brew install poppler 才能用 Read 直接看)

已知限制:

  • 入站方向(收图片/文件)已打通;主动发图片/文件暂未验证(媒体发送要走 getuploadurl,可能仍依赖入站 context_token)。主动发纯文本已验证可行,见下文「主动发送」
  • 文件名中如有特殊字符(中文括号等)落盘时会保留,path 传给工具需注意 quoting

主动发送(wsend.js)— v1.2.0 新增

解决的痛点: 官方 mcp__wechat__reply 工具只能「响应」——它在发送前会查 getContextToken(user_id)

而 contextToken 只在收到入站消息时才进内存。所以 Claude 没法主动发起对话(比如「长任务跑完了主动

通知你」「定时把结果推给你」),必须用户先发一条才能回。

突破口: 扒了 claude-wechat-channel 源码后发现,底层 ilink 接口 POST {baseUrl}/ilink/bot/sendmessage

接受不带 context_token 的纯文本消息——也就是 bot 可以主动发起。reply 的「必须先入站」是 npm 包 wrapper

自己加的保护,不是接口硬限制。wsend.js 直接复用账号凭证打这个接口,绕开 wrapper,实现真·主动发送。

已验证(2026-06-02): 不带 context、无任何入站,直接 node wsend.js → 用户手机微信实收

用法

# 发给凭证里的默认 userId(即扫码登录的那个号自己)
node ~/.claw/skills/claude-wechat-bridge/wsend.js "任务跑完了,结果在桌面 result.html"

# 长文 / 含特殊字符 → 走 stdin,免 shell 转义
node ~/.claw/skills/claude-wechat-bridge/wsend.js - < message.txt

# 指定接收人
node ~/.claw/skills/claude-wechat-bridge/wsend.js --to <userId> "文字"

超 4000 字自动分段。退出码:0 成功 / 1 用法或凭证错 / 2 发送失败(看 stderr 的 status + raw)。

它怎么找凭证 / 接收人

  • 凭证:自动读 ~/.wechat-claude/accounts/*.json,取第一个含 token + baseUrl 的(字段:token / baseUrl / userId / accountId
  • 默认接收人:凭证里的 userId(= 扫码绑定的那个微信号本人)。要发给别人用 --to
  • 可选 ~/.wechat-claude/last-context.json:若存在则带上 contextToken(更稳妥),没有也能发

典型用法:长任务主动汇报

跑批量活 → 中途/收尾节点 → node wsend.js "进度:X/Y 完成,卡在 Z" → 用户手机收到

这让「人不在电脑前,AI 主动找你」成立,而不只是「人先问、AI 才答」。

在 Claude 这边用 mcp__wechat__reply(响应已有对话)

mcp__wechat__reply(
  user_id="<从消息元数据里抽出来的 ID>",
  text="纯文本,不要 markdown。超 4000 字会自动分段。"
)

和 wsend.js 的分工:

  • 用户刚发了消息 → 用 mcp__wechat__reply(有现成 user_id,且自动 markdown→纯文本)
  • 用户没发消息、你要主动推 → 用 wsend.js(不需要入站)

reply 仍受「必须先收到入站拿 user_id」约束;要主动发起一律走 wsend.js

已知坑 + 解决

现象原因解决
---------
Desktop app 加 .mcp.json 没用channel-type MCP 需要 --dangerously-load-development-channels flag,desktop app 启动时不带用终端 CLI 启动;VSCode 内置终端也行
终端启动时弹出 Newline followed by # inside a quoted argument 等权限确认Claude Code 默认非 YOLO 模式,bash 命令含特殊字符会拦截终端按 1 确认 / 让 Claude 用 Write tool 写文件而不是 heredoc / 启动时加 --dangerously-skip-permissions(不推荐)
ClawBot 单实例限制一个微信账号同时只能绑一个 Claude Code 实例第二台机器扫码会顶掉前一台,正常现象
电脑必须常开微信只是遥控器,Claude 在你 Mac 上跑设系统不睡眠
想在 desktop app 用暂不支持 channel-type MCP等官方支持;或用 VSCode 内置终端体验近似

风险评估

风险等级说明
---------
第三方维护claude-wechat-channel 是 fengliu222 维护,不是 Tencent / Anthropic 官方。每次 npm update 检视 changelog
--dangerously-load-development-channels标志名带 "dangerously" 是 Claude Code 官方提醒:绕过 channel allowlist 校验
微信封号中-低用的是腾讯 ClawBot 官方接口(不是反代/iPad 协议),相对安全;但用专用账号避免日常号风险
聊天数据流内容路径:手机微信 → 腾讯服务器 → 此 npm 包(你 Mac)→ Anthropic API。三方都见明文,敏感内容慎发
凭证文件存在 ~/.npm/_npx//,Mac 被入侵则泄漏

强烈建议:

  1. 专门注册的新微信号,不绑主号
  2. 锁定 npm 版本:.mcp.json 里写 claude-wechat-channel@0.1.2(具体版本号)而不是 latest
  3. 任务结束就 pkill -f claude-wechat-channel 停服务,不长跑
  4. 默认不开 YOLO 模式

快速排查

# 看 channel 进程在不在
ps aux | grep claude-wechat-channel | grep -v grep

# 看绑定凭证
ls ~/.npm/_npx/*/node_modules/claude-wechat-channel/data/ 2>/dev/null

# 强制重新登录(用新二维码)
rm -rf ~/.npm/_npx/*/node_modules/claude-wechat-channel/data/
# 重启 claude --dangerously-load-development-channels server:wechat

# 验证主动发送(给自己发一条测试)
node ~/.claw/skills/claude-wechat-bridge/wsend.js "wsend 自测 ✅"

参考链接

  • npm 包:https://www.npmjs.com/package/claude-wechat-channel
  • 作者 GitHub:https://github.com/fengliu222/claude-wechat-channel
  • 微信 ClawBot 官方介绍(腾讯):https://cloud.tencent.com/developer/article/2644003

版本历史

共 2 个版本

  • v1.2.1 当前
    2026-06-04 13:40
  • v1.1.0
    2026-05-25 17:23 安全 安全

安全检测

腾讯云安全 (Keen)

队列中

腾讯云安全 (Sanbu)

队列中

🔗 相关推荐

dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 42,382
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 689 📥 332,590
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 200 📥 68,550