OpenClaw 最佳实践
经过验证的使用方法和技巧。
📋 配置最佳实践
1. 安全配置
凭证管理
bash
# ✅ 正确:使用环境变量
export OPENCLAW_FEISHU_SECRET="xxx"
# ❌ 错误:硬编码在配置中
{
"appSecret": "xxx" // 不要这样
}权限控制
json
{
"channels": {
"feishu": {
"groupPolicy": "allowlist", // ✅ 使用白名单
"groupAllowFrom": ["user1", "user2"]
}
}
}2. 性能配置
模型选择
json
{
"models": {
"default": "qwen-plus", // 日常使用
"fallbacks": [
"qwen-max", // 复杂任务
"qwen-turbo" // 快速响应
]
}
}会话管理
json
{
"sessions": {
"maxConcurrent": 50, // 最大并发
"timeout": 3600000, // 超时时间
"compaction": {
"mode": "safeguard", // 自动压缩
"threshold": 100 // 消息数阈值
}
}
}💬 对话设计最佳实践
1. 人格定义
好的 SOUL.md
markdown
# SOUL.md
- **Name:** 小助手
- **Creature:** AI 助理
- **Vibe:** 友好/专业/简洁
- **Style:**
- 回复简洁,不啰嗦
- 使用专业术语
- 主动提供帮助避免的问题
markdown
# ❌ 太模糊
- Vibe: 好
# ✅ 具体明确
- Vibe: 友好/专业/简洁2. Prompt 设计
系统 Prompt
markdown
你是一个专业的 AI 助理。
回复要求:
1. 简洁明了,不超过 200 字
2. 使用专业术语
3. 提供实用建议
4. 不确定时说明用户 Prompt
❌ 太简单:写个总结
✅ 具体明确:请用 300 字总结这篇文章,
包括:主要观点、数据支持、结论🛠️ 技能开发最佳实践
1. 技能设计
单一职责
javascript
// ✅ 好:一个技能做一件事
module.exports = {
name: 'weather',
description: '查询天气'
};
// ❌ 不好:一个技能做多件事
module.exports = {
name: 'everything',
description: '什么都做' // 不要这样
};错误处理
javascript
async execute(args, context) {
try {
return await doSomething(args);
} catch (error) {
console.error('[Skill Error]', error);
return '抱歉,执行失败,请稍后重试。';
}
}2. 技能测试
单元测试
javascript
const assert = require('assert');
const skill = require('./index');
describe('Weather Skill', () => {
it('should return weather for Beijing', async () => {
const result = await skill.execute(['北京'], {});
assert.ok(result.includes('北京'));
});
});集成测试
bash
# 测试技能
openclaw skills test weather --args "北京"
# 测试端到端
openclaw message send "天气 北京"📊 运维最佳实践
1. 监控告警
关键指标
javascript
// 监控脚本
const metrics = {
responseTime: getResponseTime(),
errorRate: getErrorRate(),
memoryUsage: getMemoryUsage()
};
// 告警
if (metrics.errorRate > 0.05) {
sendAlert('错误率过高');
}日志管理
bash
# 日志轮转
logrotate /etc/logrotate.d/openclaw
# 日志清理
find /var/log -name "*.log" -mtime +30 -delete2. 备份恢复
配置备份
bash
# 备份配置
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz \
~/.openclaw/openclaw.json \
~/.openclaw/workspace/ \
~/.openclaw/credentials/
# 上传到云存储
aws s3 cp openclaw-backup.tar.gz s3://bucket/backups/恢复流程
bash
# 下载备份
aws s3 cp s3://bucket/backups/openclaw-backup.tar.gz .
# 解压恢复
tar -xzf openclaw-backup.tar.gz -C ~/
# 重启服务
openclaw gateway restart🔒 安全最佳实践
1. 访问控制
配置白名单
json
{
"channels": {
"feishu": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["ou_xxx"],
"dmPolicy": "pairing"
}
}
}命令审批
json
{
"tools": {
"elevated": {
"requireApproval": true,
"allowList": ["read", "write"]
}
}
}2. 数据保护
敏感数据加密
bash
# 加密存储
gpg --symmetric --cipher-algo AES256 credentials.json
# 设置权限
chmod 600 credentials.json.gpg定期清理
bash
# 清理会话历史
openclaw sessions clean --older 7d
# 清理日志
find ~/.openclaw/logs -mtime +30 -delete📈 扩展最佳实践
1. 水平扩展
多实例部署
bash
# 实例 1(端口 18789)
OPENCLAW_PORT=18789 openclaw gateway start
# 实例 2(端口 18790)
OPENCLAW_PORT=18790 openclaw gateway start
# 负载均衡
nginx -s reload2. 垂直扩展
增加资源
bash
# 增加内存限制
export NODE_OPTIONS="--max-old-space-size=2048"
# 使用更强模型
openclaw models use qwen-max📋 检查清单
日常检查
- [ ] 服务状态正常
- [ ] 日志无 ERROR
- [ ] 资源使用正常
- [ ] 备份已完成
每周检查
- [ ] 更新依赖包
- [ ] 清理过期数据
- [ ] 审查安全日志
- [ ] 性能分析
每月检查
- [ ] 系统更新
- [ ] 配置审查
- [ ] 容量规划
- [ ] 灾难演练
提示
遵循最佳实践,让系统更稳定可靠!
🟢🐉 泡泡龙