skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
reason-machines/hermes-skills179 installs

openclaw-wechat-integration

Connect OpenClaw AI agents to personal WeChat accounts for messaging, group chats, and automation

How do I install this agent skill?

npx skills add https://github.com/reason-machines/hermes-skills --skill openclaw-wechat-integration
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill provides instructions for integrating OpenClaw with WeChat using a third-party plugin. It includes configuration for persistence via systemd and uses sudo for system administration tasks. As it handles external messages from WeChat, it presents an indirect prompt injection surface.

  • Socketwarn

    1 alert: gptSecurity

  • Snykwarn

    Risk: MEDIUM · 2 issues

What does this agent skill do?

openclaw-wechat-integration

Skill by ara.so — Hermes Skills collection.

This skill provides expertise in using the openclaw-wechat plugin to connect OpenClaw AI agents to personal WeChat accounts, enabling automated messaging, group chat interactions, and multi-account management.

What It Does

openclaw-wechat is a WeChat channel plugin for OpenClaw that enables:

  • Direct messages and group chat support
  • Text and image message handling
  • QR code login authentication
  • Multi-account WeChat bot management
  • Webhook-based message receiving
  • Cloud server deployment compatibility

Installation

Install the Plugin

openclaw plugins install @canghe/openclaw-wechat

Update Existing Installation

openclaw plugins update wechat

Core Configuration

Required Configuration Steps

  1. Set API Key (obtain from project community):
openclaw config set channels.wechat.apiKey "wc_live_xxxxxxxxxxxxxxxx"
  1. Set Proxy URL (required for WeChat protocol handling):
openclaw config set channels.wechat.proxyUrl "http://your-proxy-server:3000"
  1. Set Webhook Host (required for cloud deployment):
openclaw config set channels.wechat.webhookHost "your-server-ip"
  1. Enable the Channel:
openclaw config set channels.wechat.enabled true

Configuration File Structure

The configuration is stored in ~/.openclaw/openclaw.json:

{
  "channels": {
    "wechat": {
      "enabled": true,
      "apiKey": "wc_live_xxxxxxxxxxxxxxxx",
      "proxyUrl": "http://your-proxy:3000",
      "webhookHost": "1.2.3.4",
      "webhookPort": 18790,
      "webhookPath": "/webhook/wechat",
      "deviceType": "ipad"
    }
  }
}

Configuration Options Reference

OptionRequiredDefaultDescription
enabledYesfalseEnable/disable the WeChat channel
apiKeyYes-API key from service provider
proxyUrlYes-Proxy service URL for WeChat protocol
webhookHostCloud only-Public IP or domain for webhooks
webhookPortNo18790Port for webhook listener
webhookPathNo/webhook/wechatWebhook endpoint path
deviceTypeNo"ipad"Device type: "ipad" or "mac"

First-Time Login

QR Code Authentication

Start the gateway to initiate login:

openclaw gateway start

The terminal will display a QR code. Scan it with your WeChat mobile app to authenticate.

Verify Connection

openclaw gateway status

Check logs for connection status:

openclaw gateway logs

Multi-Account Configuration

Managing Multiple WeChat Accounts

Configure multiple accounts with distinct API keys:

{
  "channels": {
    "wechat": {
      "accounts": {
        "work": {
          "apiKey": "wc_live_work_xxx",
          "webhookHost": "1.2.3.4",
          "webhookPort": 18790,
          "deviceType": "ipad"
        },
        "personal": {
          "apiKey": "wc_live_personal_xxx",
          "webhookHost": "1.2.3.4",
          "webhookPort": 18791,
          "deviceType": "mac"
        }
      }
    }
  }
}

Important: Each account must use a unique webhookPort to avoid conflicts.

Message Handling Patterns

Receiving Messages

The plugin automatically receives messages via webhooks. Ensure your webhook endpoint is accessible:

// OpenClaw automatically handles incoming messages
// Configure message handlers in your OpenClaw skills

// Example skill handler (conceptual)
export async function onMessage(context: MessageContext) {
  const { message, channel } = context;
  
  if (channel === 'wechat') {
    console.log('WeChat message:', message.text);
    console.log('From:', message.sender);
    console.log('Chat type:', message.isGroup ? 'group' : 'private');
  }
}

Sending Messages

When building OpenClaw skills that send WeChat messages:

// Example: Sending a text message
await context.send({
  channel: 'wechat',
  to: 'wxid_xxxxxxxxxx',
  text: 'Hello from OpenClaw!'
});

// Example: Sending to a group
await context.send({
  channel: 'wechat',
  to: 'group_id',
  text: 'Message to group',
  isGroup: true
});

Image Message Handling

// Receiving images
export async function onMessage(context: MessageContext) {
  if (context.message.type === 'image') {
    const imageUrl = context.message.imageUrl;
    // Process image
  }
}

// Sending images
await context.send({
  channel: 'wechat',
  to: 'wxid_xxxxxxxxxx',
  type: 'image',
  imageUrl: 'https://example.com/image.png'
});

Cloud Server Deployment

Network Requirements

  1. Open Webhook Port: Ensure firewall allows incoming connections:
# Example: UFW on Ubuntu
sudo ufw allow 18790/tcp
  1. Verify Public Accessibility:
# Test from external machine
curl http://YOUR_SERVER_IP:18790/webhook/wechat

Systemd Service Setup

Create /etc/systemd/system/openclaw-gateway.service:

[Unit]
Description=OpenClaw Gateway Service
After=network.target

[Service]
Type=simple
User=YOUR_USER
WorkingDirectory=/home/YOUR_USER
ExecStart=/usr/local/bin/openclaw gateway start
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Enable and start:

sudo systemctl enable openclaw-gateway
sudo systemctl start openclaw-gateway
sudo systemctl status openclaw-gateway

Docker Deployment

FROM node:18-alpine

WORKDIR /app

# Install OpenClaw
RUN npm install -g openclaw

# Install plugin
RUN openclaw plugins install @canghe/openclaw-wechat

# Expose webhook port
EXPOSE 18790

# Configure via environment
ENV OPENCLAW_CONFIG_PATH=/app/config/openclaw.json

CMD ["openclaw", "gateway", "start"]

Troubleshooting

Bot Cannot Receive Messages

Symptoms: Gateway starts but no messages arrive.

Solutions:

  1. Verify webhook host configuration:
openclaw config get channels.wechat.webhookHost
# Should return your public IP
  1. Check port accessibility:
# From external network
telnet YOUR_SERVER_IP 18790
  1. Verify gateway is running:
openclaw gateway status
  1. Check webhook logs:
openclaw gateway logs --tail 100
  1. Test webhook endpoint:
curl -X POST http://YOUR_SERVER_IP:18790/webhook/wechat \
  -H "Content-Type: application/json" \
  -d '{"test": true}'

QR Code Not Displaying

Symptoms: Gateway starts but no QR code appears.

Solutions:

  1. Check proxy URL connectivity:
curl http://your-proxy-server:3000/health
  1. Verify API key is valid:
openclaw config get channels.wechat.apiKey
  1. Clear session cache:
rm -rf ~/.openclaw/sessions/wechat
openclaw gateway restart

Login Expired

Symptoms: Bot stops responding, shows login errors.

Solutions:

  1. Restart gateway to get new QR code:
openclaw gateway restart
  1. Scan QR code again with WeChat

  2. Check WeChat account status (ensure not blocked)

Multiple Accounts Port Conflict

Symptoms: Second account fails to start.

Solution: Ensure each account has a unique webhookPort:

{
  "channels": {
    "wechat": {
      "accounts": {
        "account1": {
          "webhookPort": 18790
        },
        "account2": {
          "webhookPort": 18791
        }
      }
    }
  }
}

Proxy Connection Issues

Symptoms: Cannot connect to proxy server.

Solutions:

  1. Verify proxy is running:
curl http://your-proxy-server:3000
  1. Check network connectivity:
ping your-proxy-server
  1. Update proxy URL:
openclaw config set channels.wechat.proxyUrl "http://new-proxy:3000"

Common Commands

# View current configuration
openclaw config list

# Start gateway in foreground
openclaw gateway start

# Start gateway in background
openclaw gateway start --daemon

# Stop gateway
openclaw gateway stop

# Restart gateway
openclaw gateway restart

# View logs
openclaw gateway logs

# View real-time logs
openclaw gateway logs --follow

# Check gateway status
openclaw gateway status

# Uninstall plugin
openclaw plugins uninstall wechat

Best Practices

  1. Security: Store API keys in environment variables:
export WECHAT_API_KEY="wc_live_xxxxxxxxxxxxxxxx"
openclaw config set channels.wechat.apiKey "$WECHAT_API_KEY"
  1. Monitoring: Set up log rotation for production:
openclaw config set logging.rotation.enabled true
openclaw config set logging.rotation.maxSize "100M"
  1. Backup: Regularly backup session data:
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz ~/.openclaw/sessions
  1. Firewall: Only expose webhook port, not entire server:
sudo ufw default deny incoming
sudo ufw allow 18790/tcp
sudo ufw enable
  1. Health Checks: Implement automated restarts on failure when using systemd (see service configuration above).

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/reason-machines/hermes-skills/openclaw-wechat-integration">View openclaw-wechat-integration on skillZs</a>