Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

weixin-claude-code

通过微信与 Claude Code 对话。扫码登录微信后,发送消息给 Bot 即可获得 Claude 的回复,形成 微信 → Claude Code → 微信 的完整闭环。

Claude Code 以 --dangerously-skip-permissions 模式运行,意味着 Claude 可以不经确认直接执行任意 shell 命令、读写文件等操作。请务必阅读下方的风险声明。

工作原理

微信用户发送消息
       ↓
守护进程 (daemon) 长轮询收到消息
       ↓
调用 claude -p "消息" --dangerously-skip-permissions
       ↓
Claude Code 处理(可读写文件、执行命令、编辑代码等)
       ↓
回复发送回微信
  • 守护进程 作为独立后台进程运行,不依赖任何 Claude Code 会话,关闭终端也不会中断
  • PID 文件锁 保证全局单例,不会重复启动
  • 多轮对话 每个微信用户维护独立的 Claude 会话上下文(--resume),支持连续对话
  • 自动恢复 微信 session 过期时守护进程自动退出,重新 login 即可

前置条件

  • Node.js >= 18
  • Claude Code CLI 已安装并登录(claude 命令可用)
  • 微信账号(用于扫码登录)

安装

git clone https://github.com/anthropics/weixin-claude-code.git  # 替换为实际仓库地址
cd weixin-claude-code
npm install

安装 Skills(可选)

将 skills 复制到 Claude Code 全局目录,即可在 Claude Code 中使用 /weixin-login 等斜杠命令:

cp -r skills/weixin-login  ~/.claude/skills/
cp -r skills/weixin-start   ~/.claude/skills/
cp -r skills/weixin-logout  ~/.claude/skills/

使用方式

方式一:Claude Code Skills(推荐)

在 Claude Code 中直接使用斜杠命令:

命令 说明
/weixin-login 扫码登录微信,登录后自动启动守护进程
/weixin-start 启动 / 停止 / 重启 / 查看守护进程状态
/weixin-logout 退出登录,停止守护进程并清除所有数据

方式二:命令行

# 扫码登录(会弹出二维码图片)+ 自动启动守护进程
npx tsx scripts/cli.ts login

# 手动控制守护进程
npx tsx scripts/cli.ts start     # 启动(如有旧进程会自动替换)
npx tsx scripts/cli.ts stop      # 停止
npx tsx scripts/cli.ts restart   # 重启
npx tsx scripts/cli.ts status    # 查看状态 + 最近日志
npx tsx scripts/cli.ts logout    # 退出登录,清除所有数据

项目结构

weixin-claude-code/
├── scripts/
│   ├── lib.ts          # 共享库(微信 API、持久化、PID 管理)
│   ├── cli.ts          # CLI 入口(login/start/stop/restart/status/logout)
│   └── daemon.ts       # 守护进程(长轮询 + 调用 Claude + 回复)
├── skills/
│   ├── weixin-login/   # /weixin-login skill
│   ├── weixin-start/   # /weixin-start skill
│   └── weixin-logout/  # /weixin-logout skill
└── package.json

# 运行时数据(自动创建)
~/.weixin-claude-code/
├── account.json        # 登录凭据
├── sync.json           # 长轮询同步游标
├── bot.pid             # 守护进程 PID(单例锁)
├── bot.log             # 运行日志(>5MB 自动轮转)
└── sessions/           # 每个微信用户的 Claude 会话 ID

风险声明

请在充分理解以下风险后再决定是否使用本项目。

1. 超级权限模式

本项目使用 claude --dangerously-skip-permissions 运行 Claude Code,这意味着:

  • Claude 可以不经任何确认直接执行 shell 命令(包括 rm -rf、curl、写入任意文件等)
  • Claude 可以读取和修改你机器上的任何文件
  • Claude 可以访问你的环境变量、SSH 密钥、各种 token 等敏感信息
  • 任何通过微信发来的消息都会被 Claude 当作指令执行

简单来说:任何能给你微信发消息的人,都相当于拥有了你电脑的 shell 访问权限。

2. 微信消息来源不可控

  • 你的微信好友、群聊中的任何人都可能触发 Claude 执行操作
  • 恶意构造的消息可能导致 Claude 执行危险命令
  • 本项目没有消息来源过滤或命令白名单机制

3. 建议的安全措施

如果你仍然决定使用,建议:

  • 仅在隔离环境中运行(虚拟机、容器、测试机器),不要在生产环境或存有重要数据的机器上使用
  • 限制微信联系人,确保只有你信任的人能给 bot 发消息
  • 定期检查日志 (~/.weixin-claude-code/bot.log),查看 Claude 执行了哪些操作
  • 不使用时及时停止 (/weixin-logout 或 npx tsx scripts/cli.ts stop)

4. 免责

本项目仅供学习和实验目的。使用本项目造成的任何数据丢失、安全事故或其他损失,作者不承担任何责任。

许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages