wechat-channel
25
总安装量
2
周安装量
#14595
全站排名
安装命令
npx skills add https://github.com/aaaaqwq/claude-code-skills --skill wechat-channel
Agent 安装分布
openclaw
2
mcpjam
1
openhands
1
junie
1
windsurf
1
zencoder
1
Skill 文档
微信 Channel éæ
å°å¾®ä¿¡æ¥å ¥ 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%ï¼è¯·æ£æ¥ï¼'
});
æ éææ¥
ç»å½é®é¢
é®é¢: æ«ç åæ æ³ç»å½ è§£å³:
- æ£æ¥ PadLocal Token æ¯å¦ææ
- ç¡®è®¤å¾®ä¿¡è´¦å·æªè¢«éå¶
- å°è¯éæ°è·å Token
æ¶æ¯æ¶åé®é¢
é®é¢: æ¶æ¯åé失败 è§£å³:
- æ£æ¥ç½ç»è¿æ¥
- ç¡®è®¤ç®æ ç¨æ·/ç¾¤ç» ID æ£ç¡®
- æ¥çæ¥å¿ä¸çé误信æ¯
è¿æ¥æå¼
é®é¢: æå¡è¿è¡ä¸æ®µæ¶é´åæå¼ è§£å³:
- ä½¿ç¨ PM2 管çè¿ç¨ï¼èªå¨éå¯
- æ£æ¥ PadLocal æå¡ç¶æ
- å®ç°å¿è·³æ£æµåéè¿æºå¶
éå¶è¯´æ
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 æ¥æ¶
- æµè¯ç§èæ¶æ¯æ¶å
- æµè¯ç¾¤è @æå
- é ç½®å®å ¨çç¥
- é¨ç½²ä¸ºç³»ç»æå¡
- å®ç°æçº¿éè¿
- æ·»å æ¶æ¯éåï¼é«å¹¶ååºæ¯ï¼