WeChatBot开放平台
首页
管理系统企业框架
首页
管理系统企业框架
  1. 对接ClaudeCode
  • 开发者指南
    • 开发前必读
    • 获取Token说明
    • 二次弹框登录说明
    • 接入排查参考
    • 常见问题解答
    • 快速开发基础框架
  • API接口请求
    • 登录模块
      • 刷新手机登录状态
      • 获取登录二维码
      • 二次弹框登录
    • 消息模块
      • 下载
        • 下载语音(方式1)
        • 下载语音(方式2)
        • 下载文件
        • 下载图片
        • 下载视频
        • 下载EMOJI
        • cdn下载
      • 发送语音消息
      • 发送文本消息
      • 发送视频消息
      • 发送文件消息
      • 发送图片消息
      • 发送链接消息
      • 发送名片消息
      • 发送emoji消息
      • 发送appmsg消息
      • 发送小程序消息
      • 发送位置消息
      • 转发文件
      • 转发图片
      • 转发视频
      • 转发链接
      • 转发小程序
      • 撤回消息
    • 群模块
      • 创建微信群
      • 修改群名称
      • 修改群备注
      • 修改我在群内的昵称
      • 邀请/添加 进群
      • 移出群成员
      • 退出群聊
      • 解散群聊
      • 获取群信息
      • 获取群成员列表
      • 获取群成员详情
      • 获取群公告
      • 设置群公告
      • 同意进群
      • 添加群成员为好友
      • 获取群二维码
      • 群保存到通讯录
      • 管理员操作
      • 聊天置顶
      • 设置消息免打扰
      • 扫码进群
      • 确认进群申请
    • 联系人模块
      • 获取微信通讯录列表
      • 获取微信通讯录列表缓存
      • 获取群/好友简要信息
      • 获取群/好友详细信息
      • 搜索好友
      • 添加联系人/同意添加好友
      • 删除好友
      • 设置好友仅聊天
      • 设置好友备注
      • 获取手机通讯录
      • 上传手机通讯录
      • 搜索企微
      • 添加企微好友
      • 同步企微好友
      • 获取企微好友详情
      • 检测好友关系
    • 朋友圈模块
      • 我的朋友圈列表
      • 点赞/取消点赞
      • 删除朋友圈
      • 设置朋友圈可见范围
      • 是否允许陌生人查看朋友圈
      • 设置某条朋友圈为隐私/公开
      • 下载朋友圈视频
      • 发送文字朋友圈
      • 发送图片朋友圈
      • 上传朋友圈图片
      • 发送视频朋友圈
      • 上传朋友圈视频
      • 发送链接朋友圈
      • 转发朋友圈
      • 指定好友的朋友圈列表
      • 某条朋友圈详情
      • 评论/删除评论
    • 标签模块
      • 添加标签
      • 标签列表
      • 删除标签
      • 修改好友标签
    • 个人模块
      • 获取个人资料
      • 获取自己的二维码
      • 获取使用设备记录
      • 隐私设置
      • 修改个人信息
      • 修改头像
    • 收藏夹模块
      • 同步收藏夹
      • 获取收藏夹内容
      • 删除收藏夹
    • 视频号模块
      • 创建视频号
      • 获取我的视频号信息
      • 搜索视频号
      • 关注
      • 评论
      • 浏览
      • 发布视频-新
      • 用户主页
      • 关注列表
      • 消息列表
      • 评论列表
      • 获取赞与收藏的视频列表
      • 同步私信消息
      • 根据id点赞
      • 根据id点小红心
      • 修改我的视频号信息
      • 发送视频号消息
      • 发送视频号朋友圈
      • 获取私信人信息
      • 发私信文本消息
      • 发私信图片消息
      • 扫码关注
      • 搜索并关注
      • 扫码浏览
      • 扫码评论
      • 扫码点赞
      • 扫码点小红心
      • 延迟点赞、小红心
      • 扫码登录视频号助手
      • 扫码获取视频详情
      • 我的视频号二维码
      • 上传CDN视频
      • 发布CDN视频
    • 账号模块
      • 账号密码登录
      • 检查是否在线
      • 断线重连
      • 提出微信
  • 监听回调事件
    • 文本消息
    • 语音消息
    • 图片消息
    • 视频消息
    • emoji表情
    • 公众号链接
    • 文件消息(发送文件的通知)
    • 文件消息(文件发送完成)
    • 名片消息
    • 好友添加请求通知
    • 好友通过验证及好友资料变更的通知消息
    • 小程序消息
    • 引用消息
    • 转账消息
    • 红包消息
    • 视频号消息
    • 撤回消息
    • 拍一拍消息
    • 地理位置
    • 群聊邀请
    • 被移除群聊通知
    • 踢出群聊通知
    • 解散群聊通知
    • 修改群名称
    • 更换群主通知
    • 群信息变更通知
    • 发布群公告
    • 群待办
    • 删除好友通知
    • 退出群聊
    • 掉线通知
  • OSS对象操作
    • 创建Bucket(天翼云为例)
    • 查询Bucket(天翼云为例)
    • put方式推送文件(一次性上传)
    • multipart方式推送文件(分块上传)
    • get文件到本地(一次性下载)
  • 了解更多信息
    • 规范养号
    • 账号风险
    • 账号解封
  • 敏感词审核机制
    • 敏感词审核
  • 对接OpenClaw
    • 对接OpenClaw通道插件安装方法
  • 对接ClaudeCode
    • 基于Anthropic官方ClaudeCode源码魔改 — Claude Code微信集成版(CyberClaude)
  1. 对接ClaudeCode

基于Anthropic官方ClaudeCode源码魔改 — Claude Code微信集成版(CyberClaude)

CyberClaude项目仓库:https://github.com/oocsoo/CyberClaude#


基于 Anthropic Claude Code 源码重建,并深度集成微信消息桥,使微信用户可直接与 Claude 对话,Claude 也可主动向微信用户发送文字、图片和文件。(版权归Anthropic官方)

目录#

架构概览
环境要求
快速开始
微信配置
启动方式
消息类型支持
Claude 主动发送能力
文件存储(天翼云 OSS)
模型配置
目录结构
工作原理

架构概览#

微信用户
   │  发送消息(文字/语音/图片)
   ▼
微信服务(WebSocket + HTTP API)
   │
   ▼
interactive-bridge.ts          ← 后台静默运行
   │  文字直接注入
   │  语音 → 腾讯云 ASR → 文字
   │  图片 → 阿里云 Qwen3 → 描述文字
   ▼
Claude Code REPL(交互式终端)
   │  Claude 处理,可调用所有工具
   │  新加入工具: WechatSendImage / WechatSendFile
   │  如果star数超过1000,我再把语音回复功能加上!   
   ▼
回复文本 → 微信用户

环境要求#

依赖版本
Bun≥ 1.3.5
Node.js≥ 24.0.0
微信saas服务WebSocket + HTTP API
环境变量(必填):

快速开始#

启动后终端进入交互模式,同时后台自动连接微信 Hook 服务,微信消息会直接注入 CyberClaude

微信配置#

编辑项目根目录的 wechat-config.json:
{
  "robotId": "wxid_xxxxxxxxxxxxxxxx",
  "authorization": "wx_xxxxxxxxxxxxxxxx",
  "serverIp": "your.websocket.server.ip",
  "serverPort": 5555,
  "apiHost": "your.api.server.host",
  "allowFrom": [],
  "name": "Claude 助手",
  "aliyunApiKey": "sk-xxxxxxxxxxxxxxxx"
}
字段必填说明
robotId✅微信机器人的 wxid(如 wxid_abc123)
authorization✅API 鉴权 Token
serverIp✅Websocket服务器 IP
serverPortWebSocket 服务器 端口,默认 5555
apiHost✅微信 HTTP API 服务器地址(ip:port 或域名)
allowFrom白名单 wxid 列表,空数组表示接受所有人消息
name机器人名称(仅用于日志显示)
aliyunApiKey阿里云 DashScope Key,用于图片识别;留空则跳过图片消息

启动方式#

交互式模式(推荐)#

进入 Claude Code 交互终端
项目目录存在 wechat-config.json 时,自动在后台启动微信桥
微信消息注入终端,Claude 回复后同步发回微信

仅 Claude Code(不启动微信桥)#

不带 --dangerously-skip-permissions 时,不会自动启动微信桥。

消息类型支持#

微信消息类型MsgType处理方式
文字1直接注入 Claude
图片3阿里云 Qwen3 图像理解 → 描述文字注入 Claude
语音34腾讯云 ASR 语音识别 → 文字注入 Claude
其他(文件、链接等)其他忽略
语音识别(腾讯云 ASR):
格式:SILK(微信原生格式)
语言:16k 中文普通话
识别失败时向用户回复错误提示
图片识别(阿里云 Qwen3 Omni):
通过阿里云 DashScope 实时 WebSocket API
输出:详细的图片内容描述,作为 Claude 的输入上下文
未配置 aliyunApiKey 时回复提示信息

Claude 主动发送能力#

微信桥启动后,Claude 可主动调用以下工具向微信用户发送内容:

WechatSendImage — 发送图片#

参数:
  source  图片来源,支持:
          - 本地绝对路径(自动上传 OSS 后发送)
          - 公网 HTTP/HTTPS URL(直接发送)
示例场景:用户说"截图发我一下"→ Claude 截图保存本地 → 调用此工具自动上传并发送。

WechatSendFile — 发送文件#

参数:
  source    文件来源,支持本地路径或公网 URL
  fileName  (可选) 微信端显示的文件名,省略时自动从路径提取
支持任意格式:PDF、Word、Excel、ZIP、代码文件等。
这两个工具仅在微信桥连接后对 Claude 可见,不影响普通 Claude Code 会话。

模型配置#

优先级顺序#

模型选择遵循以下优先级(从高到低):
1. /model 命令(会话中动态切换)        ← 最高优先级
2. --model CLI 启动参数
3. ANTHROPIC_MODEL 环境变量
4. settings.json 中的 model 字段
5. 订阅等级默认值                       ← 最低优先级

模型别名#

启动或切换模型时可使用简短别名,无需记忆完整模型 ID:
别名对应模型说明
opusclaude-opus-4-6最强模型
sonnetclaude-sonnet-4-6均衡模型(默认)
haikuclaude-haiku-4-5-20251001最快/最省
bestclaude-opus-4-6永远指向最强模型
opus[1m]claude-opus-4-6 + 100 万 token 上下文需付费订阅
sonnet[1m]claude-sonnet-4-6 + 100 万 token 上下文需付费订阅
opusplan计划模式 → Opus,普通模式 → Sonnet自动切换
[1m] 后缀可附加在任意别名后,启用 100 万 token 扩展上下文(仅限付费订阅,不支持第三方 API)。

环境变量#

模型选择#

API 连接#

AWS Bedrock#

Google Cloud Vertex AI#

Azure AI Foundry#

功能开关#


CLI 参数#


会话中切换模型(/model 命令)#


settings.json 模型字段#

位置:~/.claude/settings.json
{
  "model": "sonnet",

  "availableModels": [
    "opus",
    "sonnet",
    "haiku",
    "claude-sonnet-4-6"
  ],

  "modelOverrides": {
    "claude-opus-4-6":   "us.anthropic.claude-opus-4-6-v1:0",
    "claude-sonnet-4-6": "anthropic.claude-sonnet-4-6:0"
  }
}
字段说明
model默认模型,支持别名或完整 ID
availableModels企业白名单,限制可用模型范围;未设置则不限制
modelOverridesAnthropic ID → 云厂商 ID 映射(主要用于 Bedrock ARN)

各 API 提供商的 Bedrock 模型 ID 参考#

Anthropic 模型AWS Bedrock ID
claude-opus-4-6us.anthropic.claude-opus-4-6-v1:0
claude-sonnet-4-6us.anthropic.claude-sonnet-4-6-v1:0
claude-haiku-4-5-20251001us.anthropic.claude-haiku-4-5-v1:0

OpenAI 兼容模式#

Claude Code 内置 OpenAI 格式适配层,可对接任何兼容 POST /v1/chat/completions 接口的服务,包括 OpenRouter、Azure OpenAI、本地 Ollama、各类中转代理等。

工作原理#

启用后,Claude Code 会在发请求前自动:
1.
将 Anthropic 格式的请求(/v1/messages)转换为 OpenAI 格式(/v1/chat/completions)
2.
将 OpenAI SSE 流的响应转换回 Anthropic 格式
3.
工具调用、多轮对话全程透明转换,Claude 无感知

方式一:环境变量(推荐)#

方式二:配置文件持久化#

写入 ~/.claude/config.json(全局配置文件):
{
  "customApiEndpoint": {
    "provider": "openai",
    "baseURL": "https://openrouter.ai/api",
    "apiKey": "sk-or-v1-xxxxxxxx",
    "model": "anthropic/claude-3-5-sonnet",
    "savedModels": [
      "anthropic/claude-3-5-sonnet",
      "gpt-4o",
      "deepseek/deepseek-r1"
    ]
  }
}

方式三:会话中动态切换#

在交互终端中使用斜杠命令:

常见服务配置示例#

OpenRouter(支持数百个模型):
Azure OpenAI:
Ollama(本地模型):
CLAUDE中转代理:

注意事项#

项目说明
请求路径兼容模式发送到 baseURL/v1/chat/completions,原生模式发送到 baseURL/v1/messages
模型名称必须填写目标服务识别的模型名,不能用 Claude Code 的别名(如 opus)
工具调用自动在 Anthropic tool_use ↔ OpenAI tool_calls 之间转换
思维模式OpenAI 兼容模式不支持扩展思维(--thinking),此参数会被忽略
1M 上下文[1m] 后缀不适用于第三方模型
优先级配置文件中的 provider 字段优先于 CLAUDE_CODE_COMPATIBLE_API_PROVIDER 环境变量

快速模式(Fast Mode)
支持 Opus 4.6 / Sonnet 4.6 / Haiku 4.5
切换到不支持的模型时自动关闭
需要付费订阅,免费账号不可用
计划模式自动升级
使用 haiku 时进入计划模式,自动升级到 Sonnet
使用 opusplan 别名:计划模式用 Opus,普通模式用 Sonnet
旧版模型 ID 重映射
claude-opus-4、claude-opus-4-0、claude-opus-4-1 自动重映射到当前 Opus 版本
仅限第一方 API;Bedrock/Vertex/Foundry 原样传递
设置 CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP=true 可禁用此行为

目录结构#

Claude-Code/
├── src/
│   ├── wechat-mode/
│   │   ├── interactive-bridge.ts   # 交互式微信桥(核心)
│   │   │                             WebSocket 接收、ASR/图片识别、
│   │   │                             天翼云 OSS 上传、REPL 消息注入
│   │   └── index.ts                # 独立无头模式(备用)
│   │
│   ├── tools/
│   │   ├── WechatSendImageTool/    # 发图片工具
│   │   └── WechatSendFileTool/     # 发文件工具
│   │
│   ├── utils/
│   │   ├── wechatHook.ts           # 桥接钩子(零依赖单例)
│   │   └── messageQueueManager.ts  # REPL 消息注入队列
│   │
│   ├── entrypoints/
│   │   └── cli.tsx                 # 启动入口,自动挂载微信桥
│   │
│   ├── main.tsx                    # onTurnComplete 回调注册
│   └── screens/REPL.tsx            # 交互式终端(React + Ink)
│
├── wechat-config.json              # 微信配置(不提交到 git)
├── wechat-config.json.example      # 配置模板
└── package.json

工作原理#

消息接收链路#

1.
cli.tsx 检测到 --dangerously-skip-permissions + wechat-config.json 存在,调用 startWechatInteractiveBridge()
2.
interactive-bridge.ts 建立 WebSocket 连接到微信 Hook 服务
3.
收到消息后:
文字:直接进入步骤 4
语音:下载 SILK 文件 → 腾讯云 ASR → 文字
图片:下载图片 → 阿里云 Qwen3 → 描述文字
4.
发送方的 wxid 入队(pendingWechatSenders),文字内容通过 enqueue() 注入 REPL
5.
REPL 将文字作为用户输入提交给 Claude

回复发送链路#

1.
Claude 完成回复,REPL.tsx 触发 onTurnComplete(messages)
2.
main.tsx 调用 notifyWechatTurnComplete(messages)
3.
interactive-bridge.ts 的回调从 messages 中提取最后一条助手文本
4.
从队列取出对应 wxid,调用微信 API 发送回复
5.
若 Claude 调用了 WechatSendImage/WechatSendFile,文件先上传 OSS 再发送

权限机制#

微信桥下 Claude 拥有完整工具权限(bypassPermissions),无需逐条确认,可直接执行 Bash 命令、读写文件、调用所有工具。
修改于 2026-04-06 04:25:43
上一页
对接OpenClaw通道插件安装方法
Built with