最佳实践
最佳实践
学习如何有效、安全和高效地使用 OpenClaw。
安全最佳实践
1. 使用配对模式
生产部署始终使用配对模式:
{
"dmPolicy": "pairing",
"whitelist": []
}
明确批准新联系人:
openclaw pairing approve whatsapp ABC123
2. 加密敏感数据
为存储的会话启用加密:
{
"memory": {
"persistence": {
"encryption": true,
"encryptionKey": "env:OPENCLAW_ENCRYPTION_KEY"
}
}
}
生成强加密密钥:
openssl rand -base64 32
export OPENCLAW_ENCRYPTION_KEY="your-generated-key"
3. 使用环境变量
永远不要在配置文件中硬编码密钥:
{
"channels": [
{
"type": "telegram",
"botToken": "env:TELEGRAM_BOT_TOKEN"
}
]
}
4. 限制技能权限
仅授予技能必要的权限:
{
"skills": {
"permissions": {
"weather-api": ["network"],
"file-manager": ["filesystem:read"],
"peekaboo": ["screen-capture"]
}
}
}
5. 启用审计日志
跟踪所有重要事件:
{
"audit": {
"enabled": true,
"logFile": "~/.openclaw/audit.log",
"events": ["message", "skill", "config", "session"]
}
}
6. 定期安全更新
保持 OpenClaw 更新:
# 更新到最新版本
npm update -g openclaw
# 检查安全公告
openclaw security check
性能最佳实践
1. 选择正确的模型
平衡成本、速度和质量:
{
"agent": {
"model": "claude-sonnet-4-6"
}
}
模型选择指南:
- claude-haiku-4-5:快速、低成本、简单任务
- claude-sonnet-4-6:平衡,推荐用于大多数用例
- claude-opus-4-6:最高质量、复杂推理
2. 优化上下文大小
减少上下文以获得更快的响应:
{
"context": {
"maxMessages": 30,
"maxTokens": 4000,
"strategy": "summarization"
}
}
3. 使用适当的思考级别
不要对简单查询使用高思考级别:
# 简单查询 - 使用低思考级别
openclaw agent --message "2+2 等于多少?" --thinking low
# 复杂推理 - 使用高思考级别
openclaw agent --message "设计一个分布式系统" --thinking xhigh
4. 启用自动清理
防止内存泄漏:
{
"sessions": {
"ttl": 86400,
"autoCleanup": true,
"cleanupInterval": 3600,
"maxSessions": 1000
}
}
5. 使用会话隔离
分离上下文以获得更好的性能:
{
"sessions": {
"isolation": "per-channel"
}
}
配置最佳实践
1. 使用配置文件
为不同环境创建单独的配置:
# 开发环境
openclaw gateway --config ./config.dev.json
# 预发布环境
openclaw gateway --config ./config.staging.json
# 生产环境
openclaw gateway --config ./config.prod.json
2. 版本控制配置
跟踪配置更改(不包含密钥):
# .gitignore
config.prod.json
.env
*.key
保留模板:
// config.template.json
{
"agent": {
"model": "claude-sonnet-4-6"
},
"channels": [
{
"type": "telegram",
"botToken": "env:TELEGRAM_BOT_TOKEN"
}
]
}
3. 验证配置
部署前始终验证:
openclaw config validate
4. 备份配置
定期备份:
# 备份配置
cp ~/.openclaw/config.json ~/.openclaw/config.backup.json
# 带时间戳的备份
cp ~/.openclaw/config.json ~/.openclaw/config.$(date +%Y%m%d).json
5. 记录自定义设置
添加注释以解释自定义配置:
{
"agent": {
"temperature": 0.3,
"_comment": "低温度以获得事实性、一致的响应"
}
}
多代理路由最佳实践
1. 分离个人和工作
为不同上下文使用不同的代理:
{
"routing": {
"whatsapp:+1234567890": {
"agent": "personal",
"systemPrompt": "你是我的个人助手。要随意和友好。"
},
"slack:#work": {
"agent": "work",
"systemPrompt": "你是一个专业的工作助手。要正式和精确。"
}
}
}
2. 优化每个代理的设置
根据用例定制每个代理:
{
"routing": {
"telegram:@research": {
"agent": "research",
"model": "claude-opus-4-6",
"thinkingLevel": "xhigh",
"context": {
"maxMessages": 200
}
},
"slack:#support": {
"agent": "support",
"model": "claude-haiku-4-5",
"thinkingLevel": "low",
"context": {
"maxMessages": 20
}
}
}
}
3. 使用基于模式的路由
使用通配符简化路由:
{
"routing": {
"slack:#eng-*": "engineering",
"slack:#design-*": "design",
"whatsapp:*": "personal"
}
}
技能管理最佳实践
1. 安装前审查技能
始终检查技能详情:
openclaw skill info peekaboo
审查:
- 所需权限
- 环境变量
- 作者声誉
- 用户评论
2. 固定技能版本
在生产环境中使用特定版本:
openclaw skill install peekaboo@1.2.0
3. 定期更新技能
保持技能更新以获得安全性和功能:
# 检查更新
openclaw skill outdated
# 更新特定技能
openclaw skill update peekaboo
# 更新所有技能
openclaw skill update --all
4. 最小化已安装的技能
仅安装您实际使用的技能:
# 列出已安装的技能
openclaw skill list
# 卸载未使用的技能
openclaw skill uninstall unused-skill
5. 本地测试���能
生产前测试新技能:
# 在开发配置中测试
openclaw agent --config ./config.dev.json --message "测试新技能"
渠道管理最佳实践
1. 从一个渠道开始
从单个渠道开始,逐步扩展:
{
"channels": [
{
"type": "telegram",
"enabled": true,
"botToken": "env:TELEGRAM_BOT_TOKEN"
}
]
}
2. 为不同目的使用单独的渠道
不要混合个人和工作渠道:
{
"channels": [
{
"type": "whatsapp",
"enabled": true,
"phoneNumber": "+1234567890",
"purpose": "personal"
},
{
"type": "slack",
"enabled": true,
"botToken": "env:SLACK_BOT_TOKEN",
"purpose": "work"
}
]
}
3. 监控渠道健康
定期检查渠道状态:
openclaw channel status
4. 优雅地处理渠道故障
配置重试和回退:
{
"channels": [
{
"type": "telegram",
"enabled": true,
"retry": {
"maxAttempts": 3,
"backoff": "exponential"
}
}
]
}
上下文管理最佳实践
1. 使用适当的上下文策略
根据用例选择:
{
"context": {
"strategy": "hybrid"
}
}
策略选择:
- sliding-window:快速、低成本、短对话
- summarization:平衡、中等对话
- hybrid:最佳质量、长对话
2. 设置合理的限制
平衡记忆和性能:
{
"context": {
"maxMessages": 100,
"maxTokens": 8000
}
}
3. 需要时清除上下文
为新主题重置上下文:
# 在聊天中
/reset
# 通过 CLI
openclaw session reset <会话ID>
4. 监控上下文大小
检查上下文使用情况:
# 在聊天中
/status
监控和调试最佳实践
1. 开发期间启用详细日志
openclaw gateway --verbose
2. 使用结构化日志
启用 JSON 日志以便于解析:
{
"logging": {
"level": "info",
"format": "json",
"file": "~/.openclaw/logs/openclaw.log"
}
}
3. 监控网关健康
# 检查网关状态
openclaw gateway status
# 查看指标
openclaw metrics
4. 设置警报
监控关键事件:
# 示例:错误警报
tail -f ~/.openclaw/logs/openclaw.log | grep ERROR | mail -s "OpenClaw 错误" admin@example.com
5. 定期日志轮换
防止磁盘空间问题:
{
"logging": {
"maxSize": "100MB",
"maxFiles": 10,
"compress": true
}
}
部署最佳实践
1. 使用守护进程模式
安装为系统服务:
openclaw onboard --install-daemon
2. 配置自动重启
确保网关在故障时重启:
# systemd (Linux)
sudo systemctl enable openclaw
# launchd (macOS)
# 由 --install-daemon 自动配置
3. 设置资源限制
防止资源耗尽:
{
"gateway": {
"maxConnections": 1000,
"maxMemory": "2GB",
"maxCPU": "80%"
}
}
4. 使用健康检查
监控网关可用性:
# 健康检查端点
curl http://localhost:18789/health
5. 规划灾难恢复
定期备份:
# 备份脚本
#!/bin/bash
DATE=$(date +%Y%m%d)
cp ~/.openclaw/config.json ~/backups/config.$DATE.json
openclaw session backup --output ~/backups/sessions.$DATE.json
成本优化最佳实践
1. 使用适当的模型
不要对简单任务使用 Opus:
{
"routing": {
"slack:#support": {
"model": "claude-haiku-4-5"
},
"slack:#research": {
"model": "claude-opus-4-6"
}
}
}
2. 启用摘要
减少令牌使用:
{
"context": {
"summarization": true,
"summaryThreshold": 30
}
}
3. 设置令牌限制
防止失控的成本:
{
"agent": {
"maxTokens": 2048
}
}
4. 监控使用情况
跟踪 API 使用:
openclaw usage report --month 2026-03
5. 使用缓存
缓存常见响应:
{
"cache": {
"enabled": true,
"ttl": 3600
}
}
故障排除最佳实践
1. 首先检查日志
tail -f ~/.openclaw/logs/openclaw.log
2. 验证配置
openclaw config validate
openclaw config show
3. 测试连接
# 测试网关
curl http://localhost:18789/health
# 测试渠道
openclaw channel test telegram
4. 隔离问题
单独测试组件:
# 仅测试代理
openclaw agent --message "测试"
# 测试特定渠道
openclaw message send --channel telegram --to @username --message "测试"
5. 寻求帮助
遇到困难时: