据 AlphaMoat 统计,截至 2026-09,WeChat Work OpenClaw Adapter 累计下载 1,446 次、获 0 个星标,在全部 5,078 个 AI 技能中排名第 4,802 位,在「商业运营」分类(297 个)中排名第 276 位。
| 平台 | 累计安装 | 累计下载 | 星标 | 评论 |
|---|---|---|---|---|
| ClawHub ↗ | 40 | 1,324 | - | - |
| SkillHub ↗ | 219 | 1,446 | - | — |
各平台的计数口径不同,统计时间不一致。
Node.js 适配器校验 msg_signature、解密消息,再异步调用 OpenClaw 和企业微信发送接口。回调须在 5 秒内响应,AI 回复另行发送。生产使用前需完成企业验证,并把服务器公网 IP 加入应用可信 IP 列表。
资料发布于 2026-10-26
以下是根据技能文档生成的示例,不代表实际运行结果。
依据技能文档中的声明整理,未经实际安装或运行验证。
APP_SECRET 与 AGENT_SECRET / EncodingAESKey 用途不同。2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。
| 月份 | 累计下载 | 环比 | 星标 |
|---|---|---|---|
| 2026-09 | 1,446 | — | - |
| 2026-08 | 1,268 | +5.1% | - |
| 2026-07 | 1,206 | — | - |
| 2026-05 | 968 | — | - |
| 2026-03 | 558 | — | - |
以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。
--- name: wecom-openclaw description: Integrate WeChat Work (Enterprise WeChat) with OpenClaw for intelligent messaging. Enables receiving messages from WeChat Work, processing them with Claude AI, and sending async replies. Handles msg_signature verification, AES-256-CBC encryption/decryption, and secure token-based authentication. Use when setting up bidirectional WeChat Work ↔ OpenClaw communication. --- # WeChat Work → OpenClaw Adapter ## Quick Start ```bash
# 1. Deploy
bash <skill_dir>/scripts/deploy.sh
# 2. Edit .env with your WeChat Work credentials
nano ~/wecom-adapter/.env
# 3. Start
cd ~/wecom-adapter && npm start
# 4. Expose publicly
cloudflared tunnel --url http://localhost:8090
# 5. Copy tunnel URL → WeChat Work admin → webhook URL
```
## Architecture
```
WeChat Work → HTTPS → Cloudflare Tunnel → Node.js Adapter (8090)
├─ Verify msg_signature (SHA1)
├─ Decrypt message (AES-256-CBC)
├─ Return "success" within 5s
└─ Async: call OpenClaw → send reply via WeCom API
```
**Key**: Adapter returns `success` immediately, then sends AI reply asynchronously via WeChat Work's `message/send` API. This avoids the 5-second timeout.
## ⚠️ Critical Gotchas (Learned the Hard Way)
### 1. Parameter name is `msg_signature`, NOT `signature`
WeChat Work sends `?msg_signature=xxx`, not `?signature=xxx`. Reading `req.query.signature` will always be `undefined`.
### 2. Signature must include echostr/encrypt
**GET verification**: `SHA1(sort([token, timestamp, nonce, echostr]))`
**POST messages**: `SHA1(sort([token, timestamp, nonce, encrypt]))`
NOT `SHA1(sort([token, timestamp, nonce]))` — the encrypted payload MUST participate in the signature.
### 3. echostr must be DECRYPTED before returning
WeChat Work sends an AES-encrypted echostr. You must:
1. Verify msg_signature
2. AES-256-CBC decrypt the echostr
3. Strip PKCS#7 padding
4. Extract message from format: `16-byte random + 4-byte length (BE) + message + CorpID`
5. Return the **decrypted message** (not the raw echostr)
### 4. APP_SECRET ≠ EncodingAESKey
- **APP_SECRET** (应用密钥): Used to get `access_token` for sending messages
- **AGENT_SECRET / EncodingAESKey**: Used for AES encryption/decryption
- These are TWO DIFFERENT keys from the WeChat Work console
### 5. Express body parser must accept multiple Content-Types
WeChat Work may send XML as `text/xml`, `application/xml`, or other types:
```javascript
app.use(express.text({ type: ['application/xml', 'text/xml', 'text/plain', '*/*'] }));
```
### 6. Async reply pattern is mandatory
WeChat Work requires response within 5 seconds. AI responses take 5-30s. Solution:
1. Return `res.status(200).send('success')` immediately
2. Call OpenClaw asynchronously
3. Send reply via `POST /cgi-bin/message/send?access_token=xxx`
### 7. IP whitelist required for sending messages
WeChat Work API (`qyapi.weixin.qq.com`) requires your server's public IP in the app's trusted IP list. Error `60020` means IP not whitelisted.
### 8. Enterprise verification required
⚠️ **Unverified enterprises risk account suspension.** WeChat may ban accounts that use API automation without proper enterprise verification. Complete verification before production use.
### 9. Cloudflare quick tunnels are unstable
Quick (account-less) tunnels generate new URLs on restart and may disconnect unexpectedly. For production, use Named Tunnels ($7/mo) or a static IP.
## Environment Variables
```env
CORP_ID=ww... # From WeChat Work admin
AGENT_ID=1000003 # Application agent ID
AGENT_SECRET=xxx # EncodingAESKey (43-char Base64, for encryption)
APP_SECRET=xxx # Application Secret (for access_token)
WEBHOOK_TOKEN=xxx # Token configured in webhook settings
OPENCLAW_TOKEN=xxx # OpenClaw gateway bearer token
OPENCLAW_BASE_URL=http://localhost:18789 # OpenClaw gateway URL
CLAUDE_MODEL=claude-haiku-4-5 # AI model
```
## Files
- `scripts/deploy.sh` — One-command deployment
- `scripts/index.js` — Production-ready adapter (all fixes applied)
- `references/setup-guide.md` — Step-by-step WeChat Work configuration
- `references/security-guide.md` — Security architecture and hardening
## Troubleshooting
| Symptom | Cause | Fix |
|---------|-------|-----|
| `signature=undefined` | Using `req.query.signature` | Use `req.query.msg_signature` |
| Signature mismatch | echostr/encrypt not in calculation | Include 4th element in sort array |
| `-30065` error | Returning encrypted echostr | Decrypt before returning |
| `bad decrypt` | Wrong key or `setAutoPadding(true)` | Use `setAutoPadding(false)` + manual PKCS#7 |
| `body长度=undefined` | Body parser doesn't match Content-Type | Accept `*/*` in express.text() |
| `60020` IP error | Server IP not whitelisted | Add public IP in WeChat Work console |
| Timeout | 5s limit exceeded | Use async pattern: return success, send via API |
| Account banned | Unverified + automated messages | Verify enterprise first |
PollyReach gives every AI agent a phone number and the ability to get things done over the phone — finding contacts, making calls, and completing tasks. Just...
通过 Trello REST API 管理看板、列表与卡片。
全网招中标数据查询与分析助手。当用户涉及以下任何场景时,必须使用此SKILL:查询招标/中标公告、搜索标讯、查找临期/即将到期项目、查询拟建项目与立项审批阶段的早期商机、追踪某个项目各阶段进展与全流程时间线、商机预测、推荐潜在投标供应商、查询企业工商登记信息(统一社会信用代码/注册资本/法定代表人/经营范围/成立日期/登记机关/曾用名)、分析公司主营业务/历史中标、查询公司上下游合作客户与供应商、分析竞争对手/竞对企业、查询Top采购单位/Top中标单位/Top中标品牌、招中标数据统计分析(按月/季/年/省份/品牌等维度)、查询品牌型号历史中标单价/价格趋势、查询当前账户余额/剩余积分/累计充值消费、市场分析/行业分析/采购寻源/渠道拓展等采购与投标相关场景。即使用户没有提到「知了标讯」,只要涉及招投标、采购、中标、供应商、竞争对手、企业工商信息、账户余额、剩余积分等关键词,都应使用本SKILL。
需求分析、PRD编写、产品需求文档、详细设计、BRD、MRD、PRD模板、用户故事、用户访谈、需求挖掘、痛点分析、功能设计、KANO模型、Y模型、5W1H、优先级排序、需求池管理、写过需求、写PRD、做需求分析、产品设计、产品策略、SWOT分析、波特五力、PESTLE、安索夫矩阵、商业模式画布、价值主张、产品愿景、OKR制定、Sprint规划、回顾会、发布说明、干系人管理、竞品分析、市场调研、用户研究、机会解决方案树、指标看板、测试场景、头脑风暴、假设验证
面向日历管理与会议排期的技能。
提供市场趋势、竞品与用户行为分析的市场分析服务。
电商平台爆款产品筛选分析 - 基于数据分析的智能选品工具,支持淘宝、京东、拼多多、抖音、亚马逊等平台
通过托管 OAuth 与 Salesforce CRM API 集成。仅在需要 Salesforce CRM 管理时才安装。使用最小权限连接 Salesforce,破坏性或批量操作首选沙箱组织,每次请求前验证目标连接 ID,并撤销未使用的连接。
数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。