openclaw-home-pc/openclaw/extensions/wecom-openclaw-plugin/README.md
2026-03-21 15:31:06 +08:00

4.4 KiB

🤖 WeCom OpenClaw Plugin

WeCom channel plugin for OpenClaw — by the Tencent WeCom team.

A bot plugin powered by WeCom AI Bot WebSocket persistent connections. Supports direct messages & group chats, streaming replies, and proactive messaging.


📖 WeCom AI Bot Official Documentation

Features

  • 🔗 WebSocket persistent connection for stable communication
  • 💬 Supports both direct messages (DM) and group chat
  • 📤 Proactive messaging to specific users or groups
  • 🖼️ Receives and processes image and file messages with automatic downloading
  • Streaming replies with "thinking" placeholder messages
  • 📝 Markdown formatting support for replies
  • 🔒 Built-in access control: DM Policy (pairing / open / allowlist / disabled) and Group Policy (open / allowlist / disabled)
  • Auto heartbeat keep-alive and reconnection (up to 100 reconnect attempts)
  • 🧙 Interactive CLI setup wizard

🚀 Getting Started

Requirements

  • OpenClaw >= 2026.2.13

Installation

openclaw plugins install @wecom/wecom-openclaw-plugin

Configuration

Option 1: Interactive Setup

openclaw channels add

Follow the prompts to enter your WeCom bot's Bot ID and Secret.

Option 2: CLI Quick Setup

openclaw config set channels.wecom.botId <YOUR_BOT_ID>
openclaw config set channels.wecom.secret <YOUR_BOT_SECRET>
openclaw config set channels.wecom.enabled true
openclaw gateway restart

Configuration Reference

Config Path Description Options Default
channels.wecom.botId WeCom bot ID
channels.wecom.secret WeCom bot secret
channels.wecom.enabled Enable the channel true / false false
channels.wecom.websocketUrl WebSocket endpoint wss://openws.work.weixin.qq.com
channels.wecom.dmPolicy DM access policy pairing / open / allowlist / disabled open
channels.wecom.allowFrom DM allowlist (user IDs) []
channels.wecom.groupPolicy Group chat access policy open / allowlist / disabled open
channels.wecom.groupAllowFrom Group allowlist (group IDs) []
channels.wecom.sendThinkingMessage Send "thinking" placeholder true / false true

🔒 Access Control

DM (Direct Message) Access

Default: dmPolicy: "open" — all users can send direct messages without approval.

Approve Pairing

openclaw pairing list wecom            # View pending pairing requests
openclaw pairing approve wecom <CODE>  # Approve a pairing request

Allowlist Mode

Configure allowed user IDs via channels.wecom.allowFrom:

{
  "channels": {
    "wecom": {
      "dmPolicy": "allowlist",
      "allowFrom": ["user_id_1", "user_id_2"]
    }
  }
}

Open Mode

Set dmPolicy: "open" to allow all users to send direct messages without approval.

Disabled Mode

Set dmPolicy: "disabled" to completely block all direct messages.

Group Access

Group Policy (channels.wecom.groupPolicy)

  • "open" — Allow messages from all groups (default)
  • "allowlist" — Only allow groups listed in groupAllowFrom
  • "disabled" — Disable all group messages

Group Configuration Examples

Allow All Groups (Default Behavior)

{
  "channels": {
    "wecom": {
      "groupPolicy": "open"
    }
  }
}

Allow Only Specific Groups

{
  "channels": {
    "wecom": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["group_id_1", "group_id_2"]
    }
  }
}

Allow Only Specific Senders Within a Group (Sender Allowlist)

In addition to the group allowlist, you can restrict which members within a group are allowed to interact with the bot. Only messages from users listed in groups.<chatId>.allowFrom will be processed; messages from other members will be silently ignored. This is a sender-level allowlist that applies to all messages.

{
  "channels": {
    "wecom": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["group_id_1"],
      "groups": {
        "group_id_1": {
          "allowFrom": ["user_id_1", "user_id_2"]
        }
      }
    }
  }
}

📦 Update

openclaw plugins update wecom-openclaw-plugin

📄 License

MIT