@honor-claw/yoyo 1.4.1-alpha.2 → 1.4.1-alpha.4
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/dist/utils/version.mjs +2 -2
- package/package.json +1 -1
- package/skills/yoyo-update/SKILL.md +43 -17
package/dist/utils/version.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
//#region src/utils/version.ts
|
|
2
2
|
var e = null, t = null;
|
|
3
3
|
function n() {
|
|
4
|
-
return e === null && (e = "1.4.1-alpha.
|
|
4
|
+
return e === null && (e = "1.4.1-alpha.4".includes("beta") || "1.4.1-alpha.4".includes("alpha")), !!e;
|
|
5
5
|
}
|
|
6
6
|
function r(e) {
|
|
7
7
|
if (!e) return 0;
|
|
@@ -10,7 +10,7 @@ function r(e) {
|
|
|
10
10
|
}
|
|
11
11
|
function i() {
|
|
12
12
|
if (t !== null) return t;
|
|
13
|
-
let [e, n, i] = "1.4.1-alpha.
|
|
13
|
+
let [e, n, i] = "1.4.1-alpha.4".split("-", 1)[0].split("."), a = r(e), o = r(n), s = r(i);
|
|
14
14
|
return t = a * 1e6 + o * 1e3 + s, t;
|
|
15
15
|
}
|
|
16
16
|
//#endregion
|
package/package.json
CHANGED
|
@@ -15,6 +15,7 @@ metadata: { "openclaw": { "emoji": "🔄", "always": true } }
|
|
|
15
15
|
- [MANDATORY] **严禁卸载插件** — 不得执行 `openclaw plugins uninstall`,否则用户配置将丢失
|
|
16
16
|
- [MANDATORY] 出错时仅汇总错误并给出建议,不得尝试自动修复(尤其是不得通过卸载重装来解决问题)
|
|
17
17
|
- [MANDATORY] 所有面向用户的输出必须使用中文
|
|
18
|
+
- [MANDATORY] 不支持精确版本号安装的插件自动升级;检测到精确版本号时必须停止流程并提示用户自行更新插件
|
|
18
19
|
- 所有命令在 Windows (bash) 和 Unix (bash) 环境下格式一致,无需区分平台
|
|
19
20
|
|
|
20
21
|
## 步骤 1:预检查
|
|
@@ -45,11 +46,13 @@ openclaw plugins info yoyo
|
|
|
45
46
|
|
|
46
47
|
### 2.1 确定当前发布渠道
|
|
47
48
|
|
|
48
|
-
根据步骤 1 中 `Spec`
|
|
49
|
+
根据步骤 1 中 `Spec` 字段判断当前发布渠道。判断时先提取 `@honor-claw/yoyo@` 后面的安装目标,再按以下规则处理:
|
|
49
50
|
|
|
50
|
-
- `
|
|
51
|
-
- `
|
|
52
|
-
- `
|
|
51
|
+
- 安装目标为 `alpha` → 渠道为 `alpha`
|
|
52
|
+
- 安装目标为 `beta` → 渠道为 `beta`
|
|
53
|
+
- 安装目标为 `latest` 或没有安装目标 → 渠道为 `latest`
|
|
54
|
+
- `Spec` 包含精确版本号(如 `@honor-claw/yoyo@1.3.0-beta.8`)→ 告知用户"当前 YOYO 插件使用精确版本号安装,自动升级流程暂不支持判断升级渠道。后续安装 YOYO 插件时请不要携带精确版本号;本次请自行更新插件。"并停止流程
|
|
55
|
+
- `Spec` 包含其他未知标签 → 告知用户"当前 YOYO 插件安装来源无法识别,请自行更新插件或联系开发团队确认升级渠道"并停止流程
|
|
53
56
|
|
|
54
57
|
### 2.2 查询最新版本
|
|
55
58
|
|
|
@@ -59,7 +62,7 @@ openclaw plugins info yoyo
|
|
|
59
62
|
npm view @honor-claw/yoyo dist-tags --json
|
|
60
63
|
```
|
|
61
64
|
|
|
62
|
-
从 JSON
|
|
65
|
+
从 JSON 输出中提取对应渠道的版本号。若 JSON 中不存在对应渠道,按当前渠道回退查询对应版本。示例输出:
|
|
63
66
|
|
|
64
67
|
```json
|
|
65
68
|
{
|
|
@@ -69,22 +72,26 @@ npm view @honor-claw/yoyo dist-tags --json
|
|
|
69
72
|
}
|
|
70
73
|
```
|
|
71
74
|
|
|
72
|
-
若 `npm view
|
|
75
|
+
若 `npm view @honor-claw/yoyo dist-tags --json` 命令失败,按当前渠道回退查询对应版本:
|
|
73
76
|
|
|
74
77
|
```bash
|
|
75
|
-
npm view @honor-claw/yoyo version
|
|
78
|
+
npm view @honor-claw/yoyo@{渠道名} version
|
|
76
79
|
```
|
|
77
80
|
|
|
81
|
+
其中 `latest` 渠道也可以使用 `npm view @honor-claw/yoyo version`。若回退命令仍失败,告知用户"无法获取 YOYO 插件最新版本,请稍后重试或自行更新插件"并停止流程。
|
|
82
|
+
|
|
78
83
|
### 2.3 版本对比
|
|
79
84
|
|
|
80
|
-
|
|
85
|
+
使用 semver 语义化版本规则,将目标版本(对应渠道最新版)与步骤 1 获取的当前版本进行对比:
|
|
81
86
|
|
|
82
87
|
- **版本相同** → 告知用户"当前已是最新版本(v{version}),无需更新"并停止流程
|
|
83
|
-
-
|
|
88
|
+
- **当前版本高于目标版本** → 告知用户"当前版本(v{当前版本})高于当前渠道目标版本(v{目标版本}),无需更新"并停止流程
|
|
89
|
+
- **目标版本高于当前版本** → 记录当前版本和目标版本,进入步骤 3
|
|
90
|
+
- **无法可靠比较版本** → 告知用户"无法可靠比较当前版本与目标版本,请自行更新插件或联系开发团队确认"并停止流程
|
|
84
91
|
|
|
85
92
|
## 步骤 3:展示版本差异
|
|
86
93
|
|
|
87
|
-
向用户展示更新摘要后直接进入步骤 4
|
|
94
|
+
向用户展示更新摘要后直接进入步骤 4,不需要二次确认:
|
|
88
95
|
|
|
89
96
|
```
|
|
90
97
|
🔄 YOYO 插件更新可用
|
|
@@ -110,14 +117,30 @@ openclaw plugins update yoyo
|
|
|
110
117
|
|
|
111
118
|
| 输出关键词 | 向用户报告 | 内部处理 |
|
|
112
119
|
| -------------------------------------- | ----------------- | ------------------------------ |
|
|
113
|
-
| `Downloading @honor-claw/yoyo@` |
|
|
120
|
+
| `Downloading @honor-claw/yoyo@` | 见下方阶段 1 | — |
|
|
114
121
|
| `Extracting` | 不输出 | 静默跟踪 |
|
|
115
|
-
| `Installing to` |
|
|
122
|
+
| `Installing to` | 见下方阶段 2 | — |
|
|
116
123
|
| `Installing plugin dependencies` | 不输出 | 静默跟踪 |
|
|
117
124
|
| `Updated yoyo:` | 不输出 | 捕获成功版本信息 |
|
|
118
125
|
| `Config overwrite:` / `Config backup:` | 不输出 | 记录配置备份路径 |
|
|
119
126
|
| `Restart the gateway to load plugins` | 不输出 | 更新成功的确认信号,进入步骤 5 |
|
|
120
127
|
|
|
128
|
+
面向用户的进度通知必须使用以下文案。阶段 1 和阶段 2 的通知时机按上表触发;阶段 3 在步骤 5 的更新成功处理中输出:
|
|
129
|
+
|
|
130
|
+
```markdown
|
|
131
|
+
正在执行升级流程:
|
|
132
|
+
|
|
133
|
+
1. 正在下载插件
|
|
134
|
+
状态:正在下载插件,请耐心等待...
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
正在执行升级流程:
|
|
139
|
+
|
|
140
|
+
2. 正在更新插件
|
|
141
|
+
状态:正在安装并配置新版本插件,请勿中断操作
|
|
142
|
+
```
|
|
143
|
+
|
|
121
144
|
### 4.3 错误处理
|
|
122
145
|
|
|
123
146
|
若命令执行过程中出现错误(非零退出码或输出中包含错误信息):
|
|
@@ -132,15 +155,18 @@ openclaw plugins update yoyo
|
|
|
132
155
|
|
|
133
156
|
向用户报告:
|
|
134
157
|
|
|
135
|
-
```
|
|
136
|
-
|
|
158
|
+
```markdown
|
|
159
|
+
正在执行升级流程:
|
|
160
|
+
|
|
161
|
+
3. 插件更新完成
|
|
162
|
+
Claw 插件更新已完成
|
|
137
163
|
|
|
138
|
-
|
|
164
|
+
> 说明:插件更新需重启网关后才能生效,请重启网关
|
|
139
165
|
|
|
140
|
-
|
|
166
|
+
需要帮你立即重启网关吗?
|
|
141
167
|
```
|
|
142
168
|
|
|
143
|
-
**[MANDATORY] 不得在此步骤中执行网关重启操作。**
|
|
169
|
+
**[MANDATORY] 不得在此步骤中执行网关重启操作。** 仅向用户提问;若用户下一轮明确要求立即重启,那是新的用户请求,不再属于本技能流程。
|
|
144
170
|
|
|
145
171
|
### 更新失败
|
|
146
172
|
|