MCPInstall

openclaw-china-docker

Deploy and configure OpenClaw AI bot gateway with Chinese IM platforms (Feishu, DingTalk, QQ, WeChat Work) using Docker

Installs
165
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/reason-machines/hermes-skills --skill openclaw-china-docker
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads openclaw-china-docker automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

OpenClaw China Docker Skill

Skill by ara.so — Hermes Skills collection.

This skill helps you deploy and configure OpenClaw-China-Docker, a pre-configured Docker image that integrates OpenClaw AI bot gateway with mainstream Chinese IM platforms including Feishu (Lark), DingTalk, QQ Bot, and WeChat Work (WeCom).

What is OpenClaw-China-Docker?

OpenClaw-China-Docker is a production-ready Docker image that packages OpenClaw with pre-installed plugins for Chinese IM platforms. It provides:

  • Multi-platform support: Feishu (official/legacy), DingTalk, QQ Bot, WeChat Work
  • Extended capabilities: Agent Reach integration (Twitter, Xiaohongshu, Weibo, Douyin)
  • Configuration-driven: Environment variable based setup with .env files
  • Enhanced tooling: FFmpeg, Playwright, Chinese TTS, OpenCode AI
  • Security: Docker-in-Docker sandbox mode for code execution
  • Production features: Data persistence, isolated utility containers

Installation

Prerequisites

  • Docker and Docker Compose installed
  • API keys for AI models (OpenAI, Claude, etc.)
  • Bot credentials for desired IM platforms

Quick Start

# Clone the repository
git clone https://github.com/justlovemaki/openclaw-china-docker.git
cd openclaw-china-docker

# Copy environment template
cp .env.example .env
# OR use minimal version for quick setup
cp .env.minimal .env

# Edit environment variables
nano .env

# Start services
docker compose up -d

# View logs
docker compose logs -f openclaw

# Stop services
docker compose down

Pull Docker Image Directly

docker pull justlikemaki/openclaw-docker-cn-im:latest

Core Configuration

Environment Variables (.env)

The project uses environment variables for configuration. Key sections:

AI Model Configuration

# OpenAI compatible API
OPENCLAW_AI_PROVIDER=openai
OPENCLAW_OPENAI_API_KEY=${OPENAI_API_KEY}
OPENCLAW_OPENAI_BASE_URL=https://api.openai.com/v1
OPENCLAW_OPENAI_MODEL=gpt-4o

# Claude API
OPENCLAW_AI_PROVIDER=anthropic
OPENCLAW_ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
OPENCLAW_ANTHROPIC_MODEL=claude-3-5-sonnet-20241022

# Use AIClient-2-API (recommended for unlimited tokens)
OPENCLAW_OPENAI_BASE_URL=http://your-aiclient-api:8000/v1

Feishu (Lark) Configuration

# Official plugin (recommended)
OPENCLAW_FEISHU_ENABLED=true
OPENCLAW_FEISHU_APP_ID=cli_xxx
OPENCLAW_FEISHU_APP_SECRET=xxx
OPENCLAW_FEISHU_VERIFICATION_TOKEN=xxx
OPENCLAW_FEISHU_ENCRYPT_KEY=xxx

# Legacy built-in version
OPENCLAW_FEISHU_OLD_ENABLED=true
OPENCLAW_FEISHU_OLD_APP_ID=cli_xxx
# ... (similar structure)

DingTalk Configuration

OPENCLAW_DINGTALK_ENABLED=true
OPENCLAW_DINGTALK_CLIENT_ID=dingxxx
OPENCLAW_DINGTALK_CLIENT_SECRET=xxx
OPENCLAW_DINGTALK_ROBOT_CODE=xxx

QQ Bot Configuration

OPENCLAW_QQBOT_ENABLED=true
OPENCLAW_QQBOT_APPID=xxx
OPENCLAW_QQBOT_SECRET=xxx
OPENCLAW_QQBOT_INTENT=1  # Public messages

WeChat Work (WeCom) Configuration

OPENCLAW_WECOM_ENABLED=true
OPENCLAW_WECOM_CORP_ID=wwxxx
OPENCLAW_WECOM_AGENT_ID=1000xxx
OPENCLAW_WECOM_SECRET=xxx
OPENCLAW_WECOM_TOKEN=xxx
OPENCLAW_WECOM_ENCODING_AES_KEY=xxx

Sandbox Configuration

# Enable Docker-in-Docker sandbox for code execution
OPENCLAW_SANDBOX_MODE=all  # or 'non-main' or 'none'

Docker Compose Setup

Minimal docker-compose.yml:

version: '3.8'

services:
  openclaw:
    image: justlikemaki/openclaw-docker-cn-im:latest
    container_name: openclaw-cn-im
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - "3000:3000"
    volumes:
      - ./workspace:/openclaw/workspace
      - ./data:/openclaw/data
      # Uncomment for Docker sandbox mode
      # - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - TZ=Asia/Shanghai

Key Commands

Container Management

# Start services
docker compose up -d

# View logs (all services)
docker compose logs -f

# View logs (specific service)
docker compose logs -f openclaw

# Restart service
docker compose restart openclaw

# Stop services
docker compose down

# Stop and remove volumes
docker compose down -v

Enter Container

# Interactive shell
docker compose exec openclaw bash

# Execute single command
docker compose exec openclaw openclaw --version

Upgrade

# Pull latest changes
git pull origin main

# Pull latest image
docker compose pull

# Recreate containers
docker compose up -d --force-recreate

# Clean old images
docker image prune -f

Plugin Installation (Feishu Example)

# Use utility container for one-time operations
docker compose run --rm openclaw-utils bash

# Inside container:
cd /openclaw
npx openclaw plugin:install larksuite/openclaw-lark

Common Patterns

Pattern 1: Full Setup with Multiple Platforms

# .env configuration
OPENCLAW_AI_PROVIDER=openai
OPENCLAW_OPENAI_API_KEY=${OPENAI_API_KEY}
OPENCLAW_OPENAI_MODEL=gpt-4o

# Enable multiple IM platforms
OPENCLAW_FEISHU_ENABLED=true
OPENCLAW_DINGTALK_ENABLED=true
OPENCLAW_QQBOT_ENABLED=true
OPENCLAW_WECOM_ENABLED=true

# Configure each platform's credentials...
OPENCLAW_FEISHU_APP_ID=cli_xxx
OPENCLAW_DINGTALK_CLIENT_ID=dingxxx
OPENCLAW_QQBOT_APPID=xxx
OPENCLAW_WECOM_CORP_ID=wwxxx
# Deploy
docker compose up -d

# Monitor all platforms
docker compose logs -f | grep -E 'feishu|dingtalk|qqbot|wecom'

Pattern 2: Integration with AIClient-2-API

# .env - Use AIClient for unlimited tokens
OPENCLAW_AI_PROVIDER=openai
OPENCLAW_OPENAI_BASE_URL=http://aiclient-api:8000/v1
OPENCLAW_OPENAI_API_KEY=dummy-key  # AIClient doesn't require real key
OPENCLAW_OPENAI_MODEL=gpt-4o

# docker-compose.yml - Add AIClient service
services:
  aiclient-api:
    image: justlikemaki/aiclient-2-api:latest
    ports:
      - "8000:8000"
    volumes:
      - aiclient-data:/app/data
  
  openclaw:
    depends_on:
      - aiclient-api
    # ... rest of openclaw config

Pattern 3: Enable Agent Reach for Web Search

Initialize Agent Reach in conversation:

禁止使用web_search,web_fetch 工具, 必须使用 agent-reach 的工具来替代你自带的web_search,web_fetch ,并写入tools和记忆文档中

This switches from built-in web tools to Agent Reach for searching Twitter, Xiaohongshu, Weibo, Douyin, etc.

Pattern 4: Sandbox Mode for Secure Code Execution

# .env
OPENCLAW_SANDBOX_MODE=all  # Run all code in isolated containers

# docker-compose.yml - MUST mount Docker socket
services:
  openclaw:
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
# In chat, OpenClaw can now safely execute:
"""
Create a Python script that analyzes data
"""
# Code runs in isolated container, not on host

Pattern 5: Custom Configuration with openclaw.json

# Mount custom config instead of using env vars
# docker-compose.yml
services:
  openclaw:
    volumes:
      - ./openclaw.json:/openclaw/openclaw.json
{
  "ai": {
    "provider": "openai",
    "openai": {
      "apiKey": "${OPENAI_API_KEY}",
      "baseURL": "https://api.openai.com/v1",
      "model": "gpt-4o"
    }
  },
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "${FEISHU_APP_ID}",
      "appSecret": "${FEISHU_APP_SECRET}"
    }
  }
}

Pattern 6: Data Persistence

# docker-compose.yml - Persist important data
services:
  openclaw:
    volumes:
      - ./workspace:/openclaw/workspace  # Work files
      - ./data:/openclaw/data            # Database & state
      - ./logs:/openclaw/logs            # Log files
# Backup data
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz workspace/ data/

# Restore data
tar -xzf openclaw-backup-20260517.tar.gz

Troubleshooting

Issue: Container fails to start

# Check logs
docker compose logs openclaw

# Common causes:
# 1. Missing required env vars
grep "OPENCLAW_.*_ENABLED=true" .env
# Ensure corresponding credentials are set

# 2. Port conflicts
netstat -tlnp | grep 3000
# Change port in docker-compose.yml if needed

Issue: Feishu plugin not working

# Verify plugin installation
docker compose exec openclaw bash
npx openclaw plugin:list | grep lark

# Reinstall if needed
npx openclaw plugin:install larksuite/openclaw-lark

# Check webhook URL accessibility
curl -X POST http://your-server:3000/api/feishu/webhook

Issue: AI model not responding

# Test API connectivity
docker compose exec openclaw bash
curl -H "Authorization: Bearer ${OPENCLAW_OPENAI_API_KEY}" \
     ${OPENCLAW_OPENAI_BASE_URL}/models

# Check model name
echo $OPENCLAW_OPENAI_MODEL
# Must match available models from API

Issue: Docker sandbox not working

# Ensure Docker socket is mounted
docker compose exec openclaw ls -la /var/run/docker.sock
# Should show: srw-rw---- 1 root docker

# Verify sandbox mode
docker compose exec openclaw env | grep SANDBOX
# Should show: OPENCLAW_SANDBOX_MODE=all

# Check Docker accessibility
docker compose exec openclaw docker ps
# Should list containers, not error

Issue: Permission errors in volumes

# Fix ownership
sudo chown -R 1000:1000 workspace/ data/ logs/

# Or run container with host user
# docker-compose.yml
services:
  openclaw:
    user: "${UID}:${GID}"

Issue: Memory or performance problems

# Check resource usage
docker stats openclaw

# Limit resources in docker-compose.yml
services:
  openclaw:
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4G
        reservations:
          memory: 2G

Issue: Plugin conflicts

# List installed plugins
docker compose exec openclaw npx openclaw plugin:list

# Remove conflicting plugin
docker compose exec openclaw npx openclaw plugin:uninstall plugin-name

# Clear plugin cache
docker compose exec openclaw rm -rf /openclaw/.openclaw/plugins/.cache
docker compose restart openclaw

Advanced Configuration

Environment Variable Reference

Key variables (see .env.example for complete list):

  • OPENCLAW_AI_PROVIDER: openai, anthropic, google, etc.
  • OPENCLAW_SANDBOX_MODE: all, non-main, none
  • OPENCLAW_LOG_LEVEL: debug, info, warn, error
  • OPENCLAW_SERVER_PORT: Default 3000
  • OPENCLAW_SERVER_HOST: Default 0.0.0.0

Multi-Stage Deployment

# Development
cp .env.minimal .env.dev
docker compose -f docker-compose.yml -f docker-compose.dev.yml up

# Production
cp .env.example .env.prod
# Configure all platforms
docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d

Health Checks

# docker-compose.yml
services:
  openclaw:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

Documentation References

  • Quick Start: docs/quick-start.md
  • Configuration: docs/configuration.md
  • AIClient Integration: docs/aiclient-2-api.md
  • Advanced Usage: docs/advanced.md
  • FAQ: docs/faq.md
  • Developer Notes: docs/developer-notes.md

Best Practices

  1. Always use .env files instead of hardcoding credentials
  2. Enable only needed platforms to reduce resource usage
  3. Mount volumes for workspace and data persistence
  4. Use AIClient-2-API for cost-effective unlimited token usage
  5. Enable sandbox mode for secure code execution
  6. Monitor logs regularly with docker compose logs -f
  7. Backup data before upgrades with tar -czf
  8. Keep repository synced with git pull before upgrading

FAQ

What does the openclaw-china-docker skill do?

Deploy and configure OpenClaw AI bot gateway with Chinese IM platforms (Feishu, DingTalk, QQ, WeChat Work) using Docker

How do I install openclaw-china-docker?

Run npx skills add https://github.com/reason-machines/hermes-skills --skill openclaw-china-docker in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/openclaw-china-docker/ (personal) or .claude/skills/openclaw-china-docker/ (project).

Which AI agents can use openclaw-china-docker?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is openclaw-china-docker safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains openclaw-china-docker?

It is published by reason-machines in reason-machines/hermes-skills. It has 165 recorded installs.

More from reason-machines/hermes-skills

View all →

hermes-agent-self-evolution

reason-machines/hermes-skills

Evolutionary self-improvement for Hermes Agent using DSPy + GEPA to optimize skills, prompts, and code

AI & Agents323 installs

hermes-webui-agent

reason-machines/hermes-skills

Expert in deploying, configuring, and using Hermes WebUI—a web interface for Hermes Agent with persistent memory, scheduled jobs, and multi-platform messaging.

267 installs

awesome-hermes-agent-ecosystem

reason-machines/hermes-skills

Open the skill to read its SKILL.md instructions.

232 installs

hermes-agent-framework

reason-machines/hermes-skills

Open the skill to read its SKILL.md instructions.

219 installs

hermes-workspace-ai-agent-ui

reason-machines/hermes-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design213 installs

hermes-desktop-companion

reason-machines/hermes-skills

Open the skill to read its SKILL.md instructions.

206 installs

Popular devops & cloud skills

View category →

microsoft-foundry

microsoft/azure-skills

Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end. USE FOR: foundry, azd ai agent, azd provision/deploy, hosted agent scaffold/develop/run/deploy/troubleshoot, prompt agent create, managed harness agent create, GitHub Copilot harness agent, create agent, update agent, add tool to agent, invoke agent, agent insights, evaluate agent, batch eval, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, Agent Optimizer scaffold, dataset curation from traces, deploy model, model fine-tuning (SFT/DPO/RFT), Foundry project, RBAC, role assignment, permissions, quota, capacity, region, deployment failure, AI Services, create Foundry resource, knowledge index, customize deployment, onboard, availability, training-data, grader, distillation, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure

OfficialDevOps & Cloud579.1K installs

azure-diagnostics

microsoft/azure-skills

Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, container app 503 or target port mismatch, troubleshoot functions, function telemetry missing or stopped after a config/connection-string change, troubleshoot AKS, VM RDP, Linux SSH, VM black screen, can't connect to VM, reset VM password, NSG or firewall blocking, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures, resource health, root cause of errors, troubleshoot event hubs, troubleshoot service bus, messaging SDK error, AMQP connection failure, message lock lost, lock renewal during long-running processing, service bus dead letter.

OfficialDevOps & Cloud569.8K installs

azure-prepare

microsoft/azure-skills

Prepare azd-based Azure projects for deployment: generates azure.yaml, infrastructure (Bicep/Terraform), and Dockerfiles for the Azure Developer CLI (azd) workflow. USE ONLY when the user explicitly wants to use azd as the deployment tool, or the project already has an azure.yaml file. DO NOT USE FOR: non-azd deployments, Python App Service code-only deploys (use python-appservice-deploy), or cross-cloud migration (use azure-cloud-migrate). WHEN: prepare app for azd, create azure.yaml, set up azd infrastructure, modernize app for Azure with azd, deploy with azd, function app, timer trigger, service bus trigger, event-driven function, managed identity, generate Bicep, generate Terraform, create and deploy to Azure.

OfficialDevOps & Cloud569K installs

azure-ai

microsoft/azure-skills

Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.

OfficialDevOps & Cloud568.8K installs

azure-deploy

microsoft/azure-skills

Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment", "push to production", "push to cloud", "go live", "ship it", "bicep deploy", "terraform apply", "publish to Azure", "launch on Azure". DO NOT USE WHEN: "create and deploy", "build and deploy", "create a new app", "set up infrastructure", "create and deploy to Azure using Terraform" — use azure-prepare for these.

OfficialDevOps & Cloud568.6K installs

azure-validate

microsoft/azure-skills

Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless deployment, verify RBAC roles, check role assignments, review managed identity permissions, what-if analysis, validate Container Apps deployment.

OfficialDevOps & Cloud568K installs