openclaw-rollback 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +230 -0
- package/bin/cli.js +6 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +292 -0
- package/dist/cli.js.map +1 -0
- package/dist/config-graph.d.ts +104 -0
- package/dist/config-graph.d.ts.map +1 -0
- package/dist/config-graph.js +586 -0
- package/dist/config-graph.js.map +1 -0
- package/dist/core.d.ts +59 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +842 -0
- package/dist/core.js.map +1 -0
- package/dist/daemon.d.ts +2 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +222 -0
- package/dist/daemon.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/webui.d.ts +2 -0
- package/dist/webui.d.ts.map +1 -0
- package/dist/webui.js +229 -0
- package/dist/webui.js.map +1 -0
- package/openclaw.plugin.json +54 -0
- package/package.json +56 -0
- package/scripts/install.sh +35 -0
- package/skills/rollback/SKILL.md +65 -0
- package/webui/index.html +1457 -0
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "openclaw-rollback",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "OpenClaw 智能配置回滚系统 - 基于配置影响图谱与故障根因定位",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"ocr": "bin/cli.js",
|
|
9
|
+
"openclaw-rollback": "bin/cli.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"build": "tsc",
|
|
13
|
+
"start": "node dist/webui.js",
|
|
14
|
+
"dev": "tsc --watch",
|
|
15
|
+
"prepublishOnly": "npm run build"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"openclaw",
|
|
19
|
+
"rollback",
|
|
20
|
+
"config",
|
|
21
|
+
"backup",
|
|
22
|
+
"root-cause",
|
|
23
|
+
"impact-graph",
|
|
24
|
+
"knowledge-graph",
|
|
25
|
+
"aiops"
|
|
26
|
+
],
|
|
27
|
+
"author": "zhanxy2",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"express": "^4.18.2",
|
|
31
|
+
"node-cron": "^3.0.3"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/express": "^4.17.21",
|
|
35
|
+
"@types/node": "^20.10.0",
|
|
36
|
+
"@types/node-cron": "^3.0.11",
|
|
37
|
+
"typescript": "^5.3.0"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"dist",
|
|
41
|
+
"bin",
|
|
42
|
+
"webui",
|
|
43
|
+
"skills",
|
|
44
|
+
"scripts",
|
|
45
|
+
"README.md",
|
|
46
|
+
"LICENSE",
|
|
47
|
+
"openclaw.plugin.json"
|
|
48
|
+
],
|
|
49
|
+
"engines": {
|
|
50
|
+
"node": ">=18.0.0"
|
|
51
|
+
},
|
|
52
|
+
"repository": {
|
|
53
|
+
"type": "git",
|
|
54
|
+
"url": "https://github.com/openclaw/rollback.git"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
|
|
4
|
+
echo "🚀 安装 OpenClaw Rollback..."
|
|
5
|
+
|
|
6
|
+
# 检查 Node.js
|
|
7
|
+
if ! command -v node &> /dev/null; then
|
|
8
|
+
echo "❌ 错误: 未安装 Node.js"
|
|
9
|
+
exit 1
|
|
10
|
+
fi
|
|
11
|
+
|
|
12
|
+
NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
|
|
13
|
+
if [ "$NODE_VERSION" -lt 18 ]; then
|
|
14
|
+
echo "❌ 错误: 需要 Node.js 18+,当前版本: $(node -v)"
|
|
15
|
+
exit 1
|
|
16
|
+
fi
|
|
17
|
+
|
|
18
|
+
# 安装
|
|
19
|
+
echo "📦 正在安装 openclaw-rollback..."
|
|
20
|
+
npm install -g openclaw-rollback
|
|
21
|
+
|
|
22
|
+
# 验证
|
|
23
|
+
echo "✅ 安装完成!"
|
|
24
|
+
echo ""
|
|
25
|
+
echo "可用命令:"
|
|
26
|
+
echo " ocr backup 立即备份"
|
|
27
|
+
echo " ocr graph 查看配置影响图谱"
|
|
28
|
+
echo " ocr impact <node> 分析配置变更影响"
|
|
29
|
+
echo " ocr root-cause ... 故障根因定位"
|
|
30
|
+
echo " ocr changes 查看变更历史"
|
|
31
|
+
echo " ocr webui 启动 Web UI"
|
|
32
|
+
echo ""
|
|
33
|
+
echo "首次使用建议:"
|
|
34
|
+
echo " ocr backup # 创建第一个备份"
|
|
35
|
+
echo " ocr graph # 查看配置影响图谱"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# OpenClaw Rollback
|
|
2
|
+
|
|
3
|
+
智能配置回滚系统 —— 基于配置影响图谱与故障根因定位。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g openclaw-rollback
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## CLI 命令
|
|
12
|
+
|
|
13
|
+
| 命令 | 说明 |
|
|
14
|
+
|------|------|
|
|
15
|
+
| `ocr backup` | 立即创建备份 |
|
|
16
|
+
| `ocr restore <id>` | 回滚到指定备份 |
|
|
17
|
+
| `ocr list` | 列出所有备份 |
|
|
18
|
+
| `ocr delete <id>` | 删除指定备份 |
|
|
19
|
+
| `ocr graph` | 生成配置影响图谱 |
|
|
20
|
+
| `ocr impact <node>` | 分析配置变更影响 |
|
|
21
|
+
| `ocr root-cause <type> <detail>` | 故障根因定位 |
|
|
22
|
+
| `ocr changes` | 查看配置变更历史 |
|
|
23
|
+
| `ocr status` | 查看 Gateway 健康状态 |
|
|
24
|
+
| `ocr travel-mode [on\|off]` | 开启/关闭出行模式 |
|
|
25
|
+
| `ocr webui` | 启动 Web UI |
|
|
26
|
+
| `ocr config` | 显示当前配置 |
|
|
27
|
+
| `ocr daemon` | 启动守护进程 |
|
|
28
|
+
|
|
29
|
+
## Web UI
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
ocr webui
|
|
33
|
+
# 访问 http://localhost:3739
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 核心能力
|
|
37
|
+
|
|
38
|
+
### 1. 配置影响图谱
|
|
39
|
+
|
|
40
|
+
自动构建配置项之间的依赖/影响关系图,可视化展示。
|
|
41
|
+
|
|
42
|
+
### 2. 故障根因定位
|
|
43
|
+
|
|
44
|
+
Gateway 挂了,精准定位是哪个配置项导致的,输出置信度和修复建议。
|
|
45
|
+
|
|
46
|
+
### 3. 配置变更追踪
|
|
47
|
+
|
|
48
|
+
自动记录每次配置变更的 diff,用于故障追溯。
|
|
49
|
+
|
|
50
|
+
### 4. 智能自动回滚
|
|
51
|
+
|
|
52
|
+
- 健康时自动创建 "known-good" 备份
|
|
53
|
+
- 异常时自动回滚到最后 "known-good"
|
|
54
|
+
- 双重确认机制避免误判
|
|
55
|
+
|
|
56
|
+
## 故障模式
|
|
57
|
+
|
|
58
|
+
支持 8 种故障模式的根因定位:
|
|
59
|
+
- 端口不可达
|
|
60
|
+
- 认证失败 (401/403)
|
|
61
|
+
- 进程崩溃
|
|
62
|
+
- 配置解析错误
|
|
63
|
+
- 插件加载失败
|
|
64
|
+
- Agent 连接失败
|
|
65
|
+
- Skill 执行错误
|