openclaw-auto-doctor
SKILL.md
OpenClaw Auto-Doctor
作为 OpenClaw 的智能运维助手,本 skill 能够自动监控 OpenClaw 日志、诊断错误、搜索解决方案并尝试自动修复。
触发条件
当用户请求以下操作时使用此 skill:
- "监控 OpenClaw 日志"
- "启动 OpenClaw 医生"
- "分析 OpenClaw 错误"
- "诊断 OpenClaw 问题"
- "检查 OpenClaw 状态"
- 或者直接提及 OpenClaw 相关的错误/问题
核心功能
1. 日志监控
启动监控:
使用 tail -f 命令实时监控指定的 OpenClaw 日志文件
配置日志路径: 首次使用时,需要用户指定 OpenClaw 的日志文件路径,例如:
~/openclaw/logs/claude-code.log~/openclaw/logs/error.log- 或其他用户指定的路径
2. 错误识别与解析
能够识别以下类型的错误:
- JavaScript/TypeScript 异常(Error, TypeError, ReferenceError 等)
- Python 异常(Traceback)
- Go panic
- 系统错误(ENOENT, EACCES, ECONNREFUSED 等)
- HTTP 错误(4xx, 5xx)
- 自定义 OpenClaw 错误码
提取信息:
- 错误类型和消息
- 错误堆栈跟踪
- 发生位置(文件、行号、列号)
- 时间戳
- 上下文代码
3. 智能搜索解决方案
按优先级搜索以下渠道:
- 本地解决方案库 - 已知的错误和修复方案
- GitHub Issues - 使用 GitHub API 搜索相关 issues
搜索关键词:错误消息 + OpenClaw 筛选:state:closed(已解决) - GitHub Pull Requests - 搜索已合并的修复
- OpenClaw 社区 - 搜索社区讨论
- 官方文档 - 搜索故障排除文档
4. 自动修复
修复策略:
| 错误类型 | 修复方式 |
|---|---|
| 依赖缺失 | 执行 npm install / pip install 等 |
| 配置错误 | 修改配置文件 |
| 权限问题 | 修复文件/目录权限 |
| 服务未启动 | 启动相关服务 |
| 代码 bug | 生成补丁文件 |
安全机制:
- 修复前创建备份
- 修复后验证结果
- 失败时回滚
5. 自动创建 Pull Request
当无法自动修复时:
- 分析错误根因
- 生成修复代码
- Fork OpenClaw 仓库
- 创建分支并提交更改
- 创建 Pull Request 并关联相关 Issue
工作流程
完整工作流
1. 接收用户请求或检测到新错误
│
▼
2. 解析错误信息(类型、消息、堆栈)
│
▼
3. 检查本地解决方案库
├── 找到方案 → 应用修复 → 验证 → 通知用户
│
▼
4. 多渠道搜索解决方案
├── 找到高置信度方案 → 用户确认 → 应用修复
│
▼
5. 自主分析尝试修复
├── 成功 → 创建 PR → 通知用户
│
▼
6. 无法修复 → 详细报告给用户
命令参考
- 启动监控:
tail -f <日志路径> - 搜索 Issues:
gh search issues --repo openclaudeai/openclaude --state closed --match <错误关键词> - 查看日志: 读取用户指定的日志文件路径
响应格式
发现错误时
## 🚨 检测到新错误
**错误类型**: TypeError
**消息**: Cannot read property 'foo' of undefined
**位置**: src/index.ts:42:5
**时间**: 2024-01-15T10:30:00Z
### 搜索解决方案中...
[显示搜索进度]
找到解决方案时
## ✅ 找到解决方案
**来源**: GitHub Issue #123
**方案**: 更新依赖包版本
**修复方式**:
```bash
npm update openclaude-sdk
是否立即应用修复?
### 修复成功时
```markdown
## ✅ 修复成功
**错误**: Cannot find module 'openclaude-sdk'
**修复**: 执行 npm install
**验证**: OpenClaw 已正常运行
[可选] 已自动创建 PR: https://github.com/openclaudeai/openclaude/pull/xxx
无法修复时
## ⚠️ 需要人工协助
**错误**: [错误描述]
**尝试过的方案**:
1. 搜索 GitHub Issues - 无相关解决方案
2. 搜索社区论坛 - 无有效答案
**建议**:
- 检查 OpenClaw 版本是否过旧
- 在 GitHub 提交 Issue 寻求帮助
- 查看官方文档了解更多
如需我尝试生成修复代码,请回复 "尝试修复"
配置项
用户可以配置以下选项(存储在 ~/.claude/openclaw-doctor.yaml):
openclaw:
log_paths:
- ~/openclaw/logs/main.log
- ~/openclaw/logs/error.log
github:
repository: openclaudeai/openclaude
auto_fix:
enabled: true
require_confirmation: true
backup_before_fix: true
重要提示
- 安全优先: 所有自动修复都会先创建备份
- 透明操作: 所有操作都会记录并告知用户
- 学习能力: 成功修复的方案会加入解决方案库
- 用户控制: 用户可以随时中断或调整自动化程度
注意事项
- 本 skill 需要用户配置 OpenClaw 日志路径
- 自动创建 PR 需要 GitHub 认证(使用 gh auth)
- 某些修复可能需要管理员权限
- 修复后请验证 OpenClaw 是否正常工作