@silicaclaw/cli 2026.3.19-23 → 2026.3.19-25
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/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
## v1.0 beta - 2026-03-19
|
|
4
4
|
|
|
5
|
+
### 2026.3.19-25
|
|
6
|
+
|
|
7
|
+
- update fix:
|
|
8
|
+
- restored version token comparison in the CLI so `silicaclaw update` can compare `latest` and `beta` without throwing
|
|
9
|
+
- update checks now resolve the registry tags correctly when both channels are present
|
|
10
|
+
|
|
11
|
+
### 2026.3.19-24
|
|
12
|
+
|
|
13
|
+
- release build:
|
|
14
|
+
- prepared another fresh beta-channel package build without publishing
|
|
15
|
+
- regenerated the npm tarball through the verified release packing workflow
|
|
16
|
+
|
|
5
17
|
### 2026.3.19-23
|
|
6
18
|
|
|
7
19
|
- release build:
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
v2026.3.19-
|
|
1
|
+
v2026.3.19-25
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Release Checklist
|
|
2
|
+
|
|
3
|
+
发布完成后,按下面这套固定流程做 1 分钟验证。
|
|
4
|
+
|
|
5
|
+
## 1. 检查 npm tag
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm dist-tag ls @silicaclaw/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
必须确认:
|
|
12
|
+
|
|
13
|
+
- `latest` 指向这次正式要给用户用的版本
|
|
14
|
+
- `beta` 不要意外比 `latest` 更新却反挂
|
|
15
|
+
|
|
16
|
+
## 2. 检查两个入口实际拿到的版本
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npx -y @silicaclaw/cli@latest --version
|
|
20
|
+
npx -y @silicaclaw/cli@beta --version
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
目标是:
|
|
24
|
+
|
|
25
|
+
- `latest` 输出刚发布的版本
|
|
26
|
+
- `beta` 只有在刻意保留测试线时才不同
|
|
27
|
+
|
|
28
|
+
## 3. 检查持久命令安装后跑的是谁
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npx -y @silicaclaw/cli@latest install
|
|
32
|
+
source ~/.silicaclaw/env.sh
|
|
33
|
+
type silicaclaw
|
|
34
|
+
which silicaclaw
|
|
35
|
+
sed -n '1,20p' ~/.silicaclaw/bin/silicaclaw
|
|
36
|
+
silicaclaw --version
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
重点看:
|
|
40
|
+
|
|
41
|
+
- `~/.silicaclaw/bin/silicaclaw` 是否还在跑错误 tag
|
|
42
|
+
- `silicaclaw --version` 是否直接输出新 CLI,而不是老帮助页
|
|
43
|
+
|
|
44
|
+
## 4. 检查核心命令链
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
silicaclaw update
|
|
48
|
+
silicaclaw start
|
|
49
|
+
silicaclaw status
|
|
50
|
+
silicaclaw stop
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
目标是:
|
|
54
|
+
|
|
55
|
+
- 这四个都能进入新 CLI
|
|
56
|
+
- 不会再掉回旧版 help 文本
|
|
57
|
+
|
|
58
|
+
## 5. 检查页面版本和基础服务
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
silicaclaw start
|
|
62
|
+
curl -s http://localhost:4310/api/overview
|
|
63
|
+
curl -s http://localhost:4310/api/runtime/paths
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
重点看:
|
|
67
|
+
|
|
68
|
+
- `app_version`
|
|
69
|
+
- `storage_root`
|
|
70
|
+
- `data_dir`
|
|
71
|
+
|
|
72
|
+
## 6. 检查资料是否保留
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
ls -la ~/.silicaclaw/local-console/data
|
|
76
|
+
cat ~/.silicaclaw/local-console/data/profile.json
|
|
77
|
+
cat ~/.silicaclaw/local-console/data/identity.json
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
确认:
|
|
81
|
+
|
|
82
|
+
- 文件存在
|
|
83
|
+
- 更新或重启后内容没有变空
|
|
84
|
+
|
|
85
|
+
## 7. 检查旧缓存迁移是否还有机会
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
find ~/.silicaclaw ~/.npm -name profile.json 2>/dev/null | grep silicaclaw
|
|
89
|
+
find ~/.silicaclaw ~/.npm -name identity.json 2>/dev/null | grep silicaclaw
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
如果用户反馈“资料丢了”,这一步最直接。
|
|
93
|
+
|
|
94
|
+
## 最关键的三件事
|
|
95
|
+
|
|
96
|
+
- `dist-tag` 没挂反
|
|
97
|
+
- `silicaclaw --version` 命中的是新 CLI
|
|
98
|
+
- `profile.json` 和 `identity.json` 还在固定目录里
|
|
@@ -1 +1 @@
|
|
|
1
|
-
2026.3.19-beta.
|
|
1
|
+
2026.3.19-beta.25
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "silicaclaw-broadcast",
|
|
3
|
-
"version": "2026.3.19-beta.
|
|
3
|
+
"version": "2026.3.19-beta.25",
|
|
4
4
|
"display_name": "SilicaClaw Broadcast",
|
|
5
5
|
"description": "OpenClaw skill for reading SilicaClaw public broadcasts, publishing public broadcasts, and forwarding relevant updates to the owner through OpenClaw's native social channel.",
|
|
6
6
|
"entrypoints": {
|
package/package.json
CHANGED
|
@@ -330,6 +330,34 @@ function showUpdateGuide(current, targetVersion, channel = "latest") {
|
|
|
330
330
|
kv("Channel", channel);
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
+
function compareVersionTokens(left, right) {
|
|
334
|
+
const tokenize = (value) =>
|
|
335
|
+
String(value || "")
|
|
336
|
+
.split(/[^0-9A-Za-z]+/)
|
|
337
|
+
.filter(Boolean)
|
|
338
|
+
.map((part) => (/^\d+$/.test(part) ? Number(part) : part.toLowerCase()));
|
|
339
|
+
|
|
340
|
+
const leftParts = tokenize(left);
|
|
341
|
+
const rightParts = tokenize(right);
|
|
342
|
+
const maxLength = Math.max(leftParts.length, rightParts.length);
|
|
343
|
+
|
|
344
|
+
for (let index = 0; index < maxLength; index += 1) {
|
|
345
|
+
const a = leftParts[index];
|
|
346
|
+
const b = rightParts[index];
|
|
347
|
+
if (a === undefined) return -1;
|
|
348
|
+
if (b === undefined) return 1;
|
|
349
|
+
if (typeof a === "number" && typeof b === "number") {
|
|
350
|
+
if (a !== b) return a > b ? 1 : -1;
|
|
351
|
+
continue;
|
|
352
|
+
}
|
|
353
|
+
if (typeof a === "number" && typeof b !== "number") return 1;
|
|
354
|
+
if (typeof a !== "number" && typeof b === "number") return -1;
|
|
355
|
+
if (a !== b) return String(a) > String(b) ? 1 : -1;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
return 0;
|
|
359
|
+
}
|
|
360
|
+
|
|
333
361
|
function preferredTaggedRelease(tags, current) {
|
|
334
362
|
const latest = tags.latest ? String(tags.latest) : "";
|
|
335
363
|
const beta = tags.beta ? String(tags.beta) : "";
|