Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aaaaqwq avatar

Wechat Channel

  • 509 installs
  • 82 repo stars
  • Updated August 2, 2026
  • aaaaqwq/claude-code-skills

wechat-channel is an OpenClaw integration skill that creates a bidirectional WeChat messaging bridge via Wechaty and PadLocal for private chats, group chats, mentions, and file transfers.

About

wechat-channel is an integration skill in aaaaqwq/claude-code-skills that connects WeChat users to an OpenClaw AI agent gateway through a Wechaty bridge using the PadLocal protocol. The architecture routes private chats, group chats, @mention detection, and image or file transfers between WeChat clients and OpenClaw so users can chat with an AI assistant directly inside WeChat. Developers reach for wechat-channel when WeChat messages must trigger AI responses or when OpenClaw needs to send replies back into WeChat conversations. The skill requires Bash, Read, Write, and Edit tool access to configure and run the bridge components.

  • Bidirectional WeChat ↔ OpenClaw message channel
  • Supports private chat, group chat, @mentions, images and file transfer
  • Wechaty + PadLocal bridge with automatic message format conversion
  • HTTP webhook receiver and outbound send API for the agent
  • Runs as independent Node.js service that forwards WeChat events to your AI agent

Wechat Channel by the numbers

  • 509 all-time installs (skills.sh)
  • Ranked #1,742 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/aaaaqwq/claude-code-skills --skill wechat-channel

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs509
repo stars82
Last updatedAugust 2, 2026
Repositoryaaaaqwq/claude-code-skills

How do you connect WeChat messaging to an OpenClaw AI agent?

Create a bidirectional messaging bridge between WeChat and their AI agent so users can chat with the agent directly inside WeChat.

Who is it for?

Developers building OpenClaw agent deployments that must receive and send WeChat messages in private and group conversations.

Skip if: Projects without WeChat user requirements or teams unwilling to run Wechaty with PadLocal protocol dependencies.

When should I use this skill?

WeChat messages need to trigger OpenClaw AI responses or OpenClaw must send messages back into WeChat chats.

What you get

A bidirectional WeChat-to-OpenClaw messaging channel supporting text, mentions, images, and files.

  • WeChat messaging bridge
  • bidirectional agent channel

Files

SKILL.mdMarkdownGitHub ↗

微信 Channel 集成

  • Author: Daniel Li
  • Copyright © Daniel Li. All rights reserved.

将微信接入 OpenClaw,实现双向消息通道。

架构概述

┌─────────────┐     ┌──────────────────┐     ┌─────────────┐
│   微信用户   │ ←→  │  Wechaty Bridge  │ ←→  │  OpenClaw   │
│  (私聊/群聊) │     │  (PadLocal协议)   │     │   Gateway   │
└─────────────┘     └──────────────────┘     └─────────────┘
                           ↓
                    ┌──────────────────┐
                    │   消息格式转换    │
                    │   - 文本/图片/文件 │
                    │   - @提及检测     │
                    │   - 群聊/私聊路由  │
                    └──────────────────┘

核心组件

1. Wechaty Bridge (消息桥接服务)

独立运行的 Node.js 服务,负责:

  • 微信登录(扫码)
  • 消息收发
  • 联系人/群组管理
  • 与 OpenClaw Gateway 通信

2. OpenClaw Webhook 接收器

接收来自 Wechaty Bridge 的消息,转发给 AI Agent。

3. 消息发送 API

OpenClaw Agent 通过 HTTP API 发送消息到微信。

快速开始

前置条件

  • Node.js >= 18
  • PadLocal Token(付费服务,约 ¥200/月)
  • OpenClaw Gateway 运行中

1. 安装依赖

cd /home/aa/clawd/skills/wechat-channel
npm init -y
npm install wechaty wechaty-puppet-padlocal axios dotenv

2. 配置环境变量

cp .env.example .env
# 编辑 .env 填入配置

3. 启动服务

node scripts/wechat-bridge.js
# 扫描终端显示的二维码登录

配置说明

环境变量 (.env)

# PadLocal Token (必需)
# 获取方式: https://pad-local.com
PADLOCAL_TOKEN=YOUR_PADLOCAL_TOKEN

# OpenClaw Gateway 配置
OPENCLAW_GATEWAY_URL=http://127.0.0.1:18789
OPENCLAW_WEBHOOK_SECRET=your_webhook_secret

# 微信 Bot 配置
WECHAT_BOT_NAME=OpenClaw助手

# 安全配置
# 允许的用户微信ID (逗号分隔,留空允许所有)
ALLOWED_USERS=wxid_xxx,wxid_yyy
# 允许的群聊ID (逗号分隔,留空允许所有)
ALLOWED_GROUPS=xxx@chatroom,yyy@chatroom

# 群聊行为
# 是否需要@才响应群消息
REQUIRE_MENTION_IN_GROUP=true

# 日志级别
LOG_LEVEL=info

OpenClaw 配置 (openclaw.json)

{
  "channels": {
    "wechat": {
      "enabled": true,
      "webhookUrl": "http://localhost:3001/webhook",
      "webhookSecret": "your_webhook_secret",
      "dmPolicy": "allowlist",
      "allowFrom": ["wxid_xxx", "wxid_yyy"],
      "groups": {
        "xxx@chatroom": {
          "name": "工作群",
          "requireMention": true
        }
      }
    }
  }
}

消息格式

接收消息 (Webhook Payload)

{
  "type": "message",
  "channel": "wechat",
  "messageId": "msg_123456",
  "from": {
    "id": "wxid_sender",
    "name": "张三",
    "alias": "zhangsan"
  },
  "chat": {
    "id": "wxid_sender",
    "type": "private"
  },
  "text": "你好,帮我查一下天气",
  "timestamp": 1706745600000,
  "mentions": [],
  "replyTo": null
}

群聊消息

{
  "type": "message",
  "channel": "wechat",
  "messageId": "msg_789012",
  "from": {
    "id": "wxid_sender",
    "name": "张三"
  },
  "chat": {
    "id": "xxx@chatroom",
    "type": "group",
    "name": "工作群"
  },
  "text": "@OpenClaw助手 帮我总结一下今天的会议",
  "mentions": ["bot_wxid"],
  "isMentioned": true
}

发送消息 (API)

# 发送文本
curl -X POST http://localhost:3001/api/send \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SECRET" \
  -d '{
    "to": "wxid_receiver",
    "type": "text",
    "content": "收到,正在处理..."
  }'

# 发送图片
curl -X POST http://localhost:3001/api/send \
  -H "Content-Type: application/json" \
  -d '{
    "to": "wxid_receiver",
    "type": "image",
    "url": "https://example.com/image.png"
  }'

# 发送文件
curl -X POST http://localhost:3001/api/send \
  -d '{
    "to": "wxid_receiver",
    "type": "file",
    "path": "/path/to/file.pdf",
    "filename": "report.pdf"
  }'

安全策略

私聊策略 (dmPolicy)

策略说明
open允许所有人私聊(危险)
allowlist仅允许 allowFrom 列表中的用户
pairing需要配对审批

群聊策略

配置说明
requireMention: true必须@机器人才响应
allowFrom群内允许触发的用户列表

使用场景

1. 个人助手

用户: 帮我查一下明天北京的天气
Bot: 明天北京天气:晴,温度 -5°C ~ 5°C,建议穿羽绒服。

2. 群聊助手

用户: @OpenClaw助手 总结一下刚才的讨论
Bot: 刚才讨论的要点:
1. 项目进度需要加快
2. 下周三前完成设计稿
3. 周五进行代码评审

3. 自动化通知

// 从 OpenClaw Agent 发送通知
await sendWechatMessage({
  to: 'xxx@chatroom',
  text: '⚠️ 服务器 CPU 使用率超过 90%,请检查!'
});

故障排查

登录问题

问题: 扫码后无法登录 解决: 1. 检查 PadLocal Token 是否有效 2. 确认微信账号未被限制 3. 尝试重新获取 Token

消息收发问题

问题: 消息发送失败 解决: 1. 检查网络连接 2. 确认目标用户/群组 ID 正确 3. 查看日志中的错误信息

连接断开

问题: 服务运行一段时间后断开 解决: 1. 使用 PM2 管理进程,自动重启 2. 检查 PadLocal 服务状态 3. 实现心跳检测和重连机制

限制说明

PadLocal 限制

  • 需要付费 Token(约 ¥200/月)
  • 单 Token 只能登录一个微信号
  • 可能受微信风控影响

微信平台限制

  • 发送频率限制(建议间隔 1-2 秒)
  • 群聊人数限制
  • 文件大小限制(约 100MB)
  • 不支持小程序消息

功能限制

  • 不支持语音消息转文字(需额外集成)
  • 不支持视频号内容
  • 红包、转账等敏感功能不可用

相关文件

  • scripts/wechat-bridge.js - 主服务代码
  • scripts/message-handler.js - 消息处理逻辑
  • .env.example - 环境变量模板
  • references/wechaty-api.md - Wechaty API 参考

TODO

  • [ ] 获取 PadLocal Token
  • [ ] 配置 OpenClaw Webhook 接收
  • [ ] 测试私聊消息收发
  • [ ] 测试群聊 @提及
  • [ ] 配置安全策略
  • [ ] 部署为系统服务
  • [ ] 实现断线重连
  • [ ] 添加消息队列(高并发场景)

Related skills

How it compares

Pick wechat-channel when the agent channel must be WeChat specifically rather than Slack, Discord, or generic webhook integrations.

FAQ

What messaging modes does wechat-channel support?

wechat-channel supports WeChat private chats, group chats, @mention detection, and image or file transfers. Messages route through a Wechaty bridge using the PadLocal protocol to an OpenClaw gateway.

What stack does wechat-channel use for WeChat integration?

wechat-channel builds on Wechaty with the PadLocal protocol to connect WeChat users to OpenClaw. The bridge enables bidirectional message flow so inbound WeChat traffic triggers AI responses and OpenClaw can reply back.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.