| name | openclaw-chinese-documentation |
| description | Expert guidance for installing, configuring, and deploying OpenClaw AI agent platform using comprehensive Chinese documentation |
| triggers | ["how do I install OpenClaw","configure OpenClaw gateway and channels","set up OpenClaw with Telegram or WhatsApp","OpenClaw AI provider configuration","troubleshoot OpenClaw deployment issues","OpenClaw plugin and tool system","OpenClaw multi-channel bot setup","read OpenClaw Chinese documentation"] |
OpenClaw Chinese Documentation Skill
Skill by ara.so — Hermes Skills collection.
Expert knowledge for installing, configuring, and deploying OpenClaw, a self-hosted multi-channel AI assistant platform. This skill covers the comprehensive Chinese documentation repository (yeuxuan/openclaw-docs) which provides 767 tutorials across installation, architecture, AI framework, and channel adapters.
What is OpenClaw?
OpenClaw is an open-source personal AI assistant platform that runs on your own infrastructure. It uses a Gateway architecture to unify:
- Web Control UI for management
- Chat Channels (WhatsApp, Telegram, Discord, Slack, Feishu, etc.)
- Nodes (mobile/remote execution endpoints)
- Tools (browser, code execution, sub-agents)
- AI Models (Claude, GPT, DeepSeek, Qwen, Ollama, etc.)
Documentation Structure
The openclaw-docs repository contains 767 articles organized into 4 learning tracks:
Track 0: Installation Tutorials (680 articles)
- Quick start and guided installation
- Docker / Node.js / cloud server deployment
- Gateway configuration and operations
- Channel integration (Telegram, WhatsApp, Discord, etc.)
- AI provider setup (Anthropic, OpenAI, DeepSeek, Ollama, etc.)
- Core concepts (context, memory, state machine)
- Tools system (browser, execution, skills, sub-agents)
- Plugin development (Manifest, SDK, Hooks)
- Platform support (macOS, Windows, Linux, mobile, VPS)
- Troubleshooting and diagnostics
Track A: Complete Engineering Path (62 articles)
- CLI startup framework
- Gateway control plane
- Plugin and channel adapter architecture
- Node system
- Routing and session keys
- Agent execution pipeline
- Function-level source code analysis
Track B: AI Core Framework (24 articles)
- Context engineering
- Agent state machine
- Tool strategy and approval
- Model fallback
- Memory system
- Hook plugin injection mechanism
Track C: Channel Adapters
- Interface contracts
- Registration pipeline
- Account lifecycle
- Inbound routing
- Outbound sending decoupling
Running the Documentation Locally
git clone https://github.com/yeuxuan/openclaw-docs.git
cd openclaw-docs
npm install
npm run docs:dev
npm run docs:build
npm run docs:preview
The documentation is built with VitePress and deployed on Azure Static Web Apps at openclaw-docs.dx3n.cn.
Quick Start: Installing OpenClaw
Prerequisites
node --version
docker --version
Basic Installation
npm install -g openclaw
npx openclaw init
openclaw init my-assistant
cd my-assistant
openclaw start
Docker Installation
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
openclaw-gateway:
image: openclaw/gateway:latest
ports:
- "3000:3000"
environment:
- NODE_ENV=production
- GATEWAY_PORT=3000
- DATABASE_URL=${DATABASE_URL}
volumes:
- ./config:/app/config
- ./data:/app/data
restart: unless-stopped
EOF
docker-compose up -d
docker-compose logs -f openclaw-gateway
Configuration
Gateway Configuration (config/gateway.yml)
gateway:
port: 3000
host: 0.0.0.0
baseUrl: https://your-domain.com
database:
type: sqlite
path: ./data/openclaw.db
ai:
defaultProvider: anthropic
providers:
anthropic:
apiKey: ${ANTHROPIC_API_KEY}
model: claude-3-5-sonnet-20241022
openai:
apiKey: ${OPENAI_API_KEY}
model: gpt-4
ollama:
baseUrl: http://localhost:11434
model: llama2
memory:
enabled: true
maxTokens: 100000
provider: sqlite
tools:
browser:
enabled: true
headless: true
codeExecution:
enabled: true
sandboxed: true
Environment Variables (.env)
ANTHROPIC_API_KEY=your_key_here
OPENAI_API_KEY=your_key_here
DEEPSEEK_API_KEY=your_key_here
DATABASE_URL=sqlite:./data/openclaw.db
GATEWAY_SECRET=your_secret_here
NODE_ENV=production
TELEGRAM_BOT_TOKEN=your_token_here
DISCORD_BOT_TOKEN=your_token_here
WHATSAPP_API_KEY=your_key_here
FEISHU_APP_ID=your_app_id_here
FEISHU_APP_SECRET=your_app_secret_here
Channel Integration
Telegram Setup
export default {
type: 'telegram',
enabled: true,
config: {
token: process.env.TELEGRAM_BOT_TOKEN,
polling: true,
commands: {
start: 'Welcome to OpenClaw!',
help: 'I can help you with various tasks.'
}
},
routing: {
sessionKey: 'telegram:{chatId}',
defaultAgent: 'main'
}
};
WhatsApp Setup (via WhatsApp Business API)
export default {
type: 'whatsapp',
enabled: true,
config: {
apiKey: process.env.WHATSAPP_API_KEY,
webhookUrl: '/webhook/whatsapp',
phoneNumberId: process.env.WHATSAPP_PHONE_NUMBER_ID,
verifyToken: process.env.WHATSAPP_VERIFY_TOKEN
},
routing: {
sessionKey: 'whatsapp:{phoneNumber}',
defaultAgent: 'main'
}
};
Discord Setup
export default {
type: 'discord',
enabled: true,
config: {
token: process.env.DISCORD_BOT_TOKEN,
intents: ['GUILDS', 'GUILD_MESSAGES', 'DIRECT_MESSAGES'],
commandPrefix: '!'
},
routing: {
sessionKey: 'discord:{userId}',
defaultAgent: 'main'
}
};
Feishu (Lark) Setup
export default {
type: 'feishu',
enabled: true,
config: {
appId: process.env.FEISHU_APP_ID,
appSecret: process.env.FEISHU_APP_SECRET,
verificationToken: process.env.FEISHU_VERIFICATION_TOKEN,
encryptKey: process.env.FEISHU_ENCRYPT_KEY
},
routing: {
sessionKey: 'feishu:{openId}',
defaultAgent: 'main'
}
};
AI Provider Configuration
Using Multiple Providers with Fallback
export default {
providers: [
{
name: 'primary',
type: 'anthropic',
apiKey: process.env.ANTHROPIC_API_KEY,
model: 'claude-3-5-sonnet-20241022',
priority: 1
},
{
name: 'fallback',
type: 'openai',
apiKey: process.env.OPENAI_API_KEY,
model: 'gpt-4',
priority: 2
},
{
name: 'local',
type: 'ollama',
baseUrl: 'http://localhost:11434',
model: 'llama2',
priority: 3
}
],
fallbackStrategy: 'cascade',
retryAttempts: 3,
timeout: 30000
};
Chinese AI Providers
export default {
deepseek: {
apiKey: process.env.DEEPSEEK_API_KEY,
baseUrl: 'https://api.deepseek.com',
model: 'deepseek-chat'
},
qwen: {
apiKey: process.env.QWEN_API_KEY,
baseUrl: 'https://dashscope.aliyuncs.com/api/v1',
model: 'qwen-max'
},
kimi: {
apiKey: process.env.KIMI_API_KEY,
baseUrl: 'https://api.moonshot.cn/v1',
model: 'moonshot-v1-8k'
},
glm: {
apiKey: process.env.GLM_API_KEY,
baseUrl: 'https://open.bigmodel.cn/api/paas/v4',
model: 'glm-4'
}
};
Plugin Development
Basic Plugin Structure
{
"name": "my-plugin",
"version": "1.0.0",
"description": "Custom OpenClaw plugin",
"author": "Your Name",
"hooks": {
"onMessage": "./hooks/onMessage.js",
"beforeResponse": "./hooks/beforeResponse.js"
},
"tools": [
{
"name": "customTool",
"description": "A custom tool",
"handler": "./tools/customTool.js"
}
]
}
Hook Implementation
export default async function onMessage(context, next) {
const { message, session, agent } = context;
console.log(`Received message: ${message.text}`);
context.customData = {
timestamp: Date.now(),
channelType: message.channel
};
await next();
console.log(`Response sent to ${session.id}`);
}
Custom Tool Implementation
export default {
name: 'customTool',
description: 'Performs a custom action',
parameters: {
type: 'object',
properties: {
action: {
type: 'string',
description: 'The action to perform'
},
data: {
type: 'object',
description: 'Data for the action'
}
},
required: ['action']
},
async execute({ action, data }, context) {
switch (action) {
case 'query':
return await performQuery(data);
case 'update':
return await performUpdate(data);
default:
throw new Error(`Unknown action: ${action}`);
}
}
};
async function performQuery(data) {
return { : , : data };
}
() {
{ : , data };
}
CLI Commands
openclaw init [name]
openclaw start
openclaw start --config ./custom-config.yml
openclaw stop
openclaw status
openclaw logs
openclaw plugin install <plugin-name>
openclaw plugin list
openclaw plugin remove <plugin-name>
openclaw channel add telegram
openclaw channel list
openclaw channel enable telegram
openclaw channel disable telegram
openclaw node add <node-name> <node-url>
openclaw node list
openclaw node remove <node-name>
openclaw migrate up
openclaw migrate down
openclaw migrate status
Common Patterns
Multi-Channel Routing
export default {
routes: [
{
match: { channel: 'telegram' },
agent: 'telegram-agent',
sessionKey: 'telegram:{chatId}'
},
{
match: {
channel: 'whatsapp',
messageContains: ['price', 'product', 'order']
},
agent: 'sales-agent',
sessionKey: 'whatsapp:{phoneNumber}'
},
{
match: {},
agent: 'main',
sessionKey: '{channel}:{userId}'
}
]
};
Agent Configuration with Tools
export default {
name: 'main',
description: 'Main assistant agent',
provider: 'anthropic',
model: 'claude-3-5-sonnet-20241022',
systemPrompt: `You are a helpful AI assistant.
You have access to various tools to help users.
Always be polite and professional.`,
tools: [
'browser',
'codeExecution',
'search',
'calculator'
],
memory: {
enabled: true,
maxTokens: 100000,
summaryThreshold: 80000
},
temperature: 0.7,
maxTokens: 4096
};
Context and Memory Management
export default async function contextAwareHook(context, next) {
const { session, memory } = context;
const history = await memory.getHistory(session.id, { limit: 10 });
context.enrichedContext = {
previousTopics: extractTopics(history),
userPreferences: await memory.get(`${session.id}:preferences`),
conversationSummary: await memory.getSummary(session.id)
};
await next();
if (context.response.containsImportantInfo) {
await memory.set(
`${session.id}:important`,
context.response.importantInfo,
{ ttl: 86400 * 30 }
);
}
}
Troubleshooting
Gateway Won't Start
lsof -i :3000
netstat -an | grep 3000
openclaw validate-config
openclaw start --verbose
openclaw db:check
Channel Connection Issues
export default {
type: 'telegram',
enabled: true,
debug: true,
config: {
token: process.env.TELEGRAM_BOT_TOKEN,
polling: true
}
};
AI Provider Errors
openclaw test-provider anthropic
curl -H "x-api-key: ${ANTHROPIC_API_KEY}" \
https://api.anthropic.com/v1/messages \
-X POST -d '{"model":"claude-3-5-sonnet-20241022","max_tokens":10,"messages":[{"role":"user","content":"hi"}]}'
Memory/Performance Issues
memory:
enabled: true
maxTokens: 50000
provider: redis
redis:
url: redis://localhost:6379
compression:
enabled: true
algorithm: gzip
rateLimit:
enabled: true
windowMs: 60000
maxRequests: 100
Documentation Navigation
Access the full Chinese documentation at: openclaw-docs.dx3n.cn
Key sections:
- Installation:
/tutorials/installation/
- Gateway Config:
/tutorials/gateway/
- Channel Setup:
/tutorials/channels/
- AI Providers:
/tutorials/providers/
- Plugin Development:
/tutorials/plugins/
- Architecture Deep Dive:
/beginner-openclaw-guide/
- AI Framework:
/beginner-openclaw-framework-focus/
- Troubleshooting:
/tutorials/help/
Resources