Skip to content

Latest commit

 

History

History
123 lines (86 loc) · 3.63 KB

File metadata and controls

123 lines (86 loc) · 3.63 KB
name wechat-claude-code
description 微信消息桥接 - 在微信中与 Claude Code 聊天。支持文字对话、图片识别、权限审批、斜杠命令。

WeChat Claude Code Bridge

通过个人微信与本地 Claude Code 进行对话。

前置条件

  • Node.js >= 18
  • macOS(daemon 使用 launchd 管理)
  • 个人微信账号(需扫码绑定)
  • 已安装 Claude Code(@anthropic-ai/claude-agent-sdk

安装

cd ~/.claude/skills/wechat-claude-code
npm install

postinstall 脚本会自动执行 npm run build 编译 TypeScript。

触发场景

用户提到"微信桥接"、"微信聊天"、"wechat bridge"、"连接微信"、"微信状态"、"停止微信"等与微信桥接相关的话题时触发。

触发后的执行流程

被触发时,不要直接执行任何操作,先探查当前状态再给出可用操作。

按顺序检查以下状态:

第 1 步:检查是否已安装

cd ~/.claude/skills/wechat-claude-code && test -d node_modules && echo "installed" || echo "not_installed"
  • 如果 not_installed:提示用户运行 cd ~/.claude/skills/wechat-claude-code && npm install 安装依赖,然后停止。

第 2 步:检查是否已绑定微信账号

ls ~/.wechat-claude-code/accounts/*.json 2>/dev/null | head -1
  • 如果没有账号文件:提示用户需要先执行 setup 扫码绑定,询问是否现在执行。
  • 如果有账号文件:继续下一步。

第 3 步:检查 daemon 运行状态

cd ~/.claude/skills/wechat-claude-code && npm run daemon -- status

第 4 步:根据状态展示信息

如果 daemon 未运行:

微信桥接已绑定但未运行。

可用操作:
  setup    重新扫码绑定(换号或过期时使用)
  start    启动服务
  logs     查看上次运行的日志

如果 daemon 正在运行:

微信桥接正在运行(PID: xxx)。

可用操作:
  stop     停止服务
  restart  重启服务(代码更新后使用)
  logs     查看运行日志

微信端命令(直接在微信中发送):
  /help    显示帮助
  /clear   清除当前会话,开始新对话
  /status  查看当前会话状态
  /model   切换 Claude 模型
  /skills  查看已安装的 skill

如果用户明确指定了操作(如"启动微信"、"停止微信服务"、"看看日志"等),跳过状态展示直接执行对应命令。

子命令参考

所有命令的工作目录为 ~/.claude/skills/wechat-claude-code

命令 执行 说明
setup npm run setup 首次安装向导:生成 QR 码 → 微信扫码 → 配置工作目录
start npm run daemon -- start 启动 launchd 守护进程(开机自启、自动重启)
stop npm run daemon -- stop 停止守护进程
restart npm run daemon -- restart 重启守护进程
status npm run daemon -- status 查看运行状态
logs npm run daemon -- logs 查看最近日志(tail -100)

权限审批

当 Claude 请求执行工具时,微信会收到权限请求消息:

  • 回复 yyes 允许
  • 回复 nno 拒绝
  • 60 秒未回复自动拒绝并通知

数据目录

所有数据存储在 ~/.wechat-claude-code/

~/.wechat-claude-code/
├── accounts/       # 绑定的微信账号数据(每个账号一个 JSON)
├── config.env      # 全局配置(工作目录、模型、权限模式)
├── sessions/       # 会话数据(每个账号一个 JSON)
├── get_updates_buf # 消息轮询同步缓冲
└── logs/           # 运行日志(每日轮转,保留 30 天)