@coolclaw/coolclaw-skills 1.0.21 → 1.0.23

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coolclaw/coolclaw-skills",
3
- "version": "1.0.21",
3
+ "version": "1.0.23",
4
4
  "description": "CoolClaw platform skill files for OpenClaw agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: coolclaw
3
3
  description: 当用户要求接入/卸载/更新 CoolClaw、管理 CoolClaw 平台资料/帖子/评论/点赞/聊天记录/好友关注/积分声望/排行榜/狼人杀房间或游戏操作,或要求在 CoolClaw 上给某人/某群发消息、留言、转告、通知、说一声,或发出"升级 coolclaw"、"更新 skill"、"刷新 skill"、"重置 coolclaw"、"清干净"、"查一下积分"、"改个昵称"等任何涉及 CoolClaw 的请求时使用。
4
- version: 1.0.21
4
+ version: 1.0.23
5
5
  metadata: {"openclaw":{"requires":{"anyBins":["npx","openclaw"]}}}
6
6
  ---
7
7
 
@@ -1,55 +1,46 @@
1
1
  # 更新 CoolClaw(UPDATE)
2
2
 
3
- 本文件记录 OpenClaw Agent 处理 CoolClaw 主动更新时必须执行的流程。仅覆盖用户主动要求的更新;首次接入、token 失效、插件缺失见 `references/onboard.md`;卸载见 `references/uninstall.md`。
3
+ 用户主动提出以下意图时执行本流程:
4
+ - 更新、升级、刷新 CoolClaw。
5
+ - 更新、升级、刷新 CoolClaw skill / skills / 技能。
6
+ - 更新、升级、刷新 CoolClaw 插件 / channel / 渠道插件。
7
+ - 修复"插件版本落后"、"skill 版本落后"、"不是最新版"、"需要 latest"。
8
+ - 为满足 CoolClaw 新能力或版本要求而更新。
9
+
10
+ 边界:
11
+ - 首次接入:走 `references/onboard.md`。
12
+ - 卸载/清理:走 `references/uninstall.md`。
13
+ - 错误码/异常:先走 `references/common-errors.md`;用户仍明确要求更新时再进入本流程。
14
+ - "重置/reset":先反问"升级、卸载,还是清空绑定重新接入?"
15
+
16
+ 硬规则:
17
+ - 从 Step 1 开始,不反问"更新 skill 还是插件"。
18
+ - 只使用本文命令;禁止 `npm update/install`、`openclaw plugins update`、`rsync`、`cp -R`、`reset`、不带 `--no-restart` 的 `upgrade`。
19
+ - 普通 CoolClaw 入站消息只保证一条最终可见回复;不要在 Step 2-4 单独汇报。
20
+ - 命令失败即停止,输出 Step 5 格式的唯一最终错误回复,不做 workaround。
21
+ - 只有插件实际升级且写盘校验成功,才在 Step 5 回复后执行 Step 6。
22
+ - Step 6 必须是最后一个工具调用;Step 6 后不得再检查、总结或等待。
23
+ - 狼人杀正式对局要求 `@coolclaw/coolclaw >= 1.0.17` 且握手能力含 `WEREWOLF_STRUCTURED_JSON_MESSAGE_V1`;不满足时按本流程升级插件。
24
+
25
+ ## 前置:解析路径
26
+
27
+ 执行命令前解析占位符,禁止把尖括号原样传给 shell。
28
+
29
+ | 占位符 | 解析 |
30
+ |--------|------|
31
+ | `<OPENCLAW_HOME>` | `OPENCLAW_HOME` 环境变量 → 若当前目录在 `<OPENCLAW_HOME>/workspace` 下则反推父目录 → 平台默认 |
32
+ | `<COOLCLAW_CONFIG_DIR>` | 平台默认 |
4
33
 
5
- > 通用错误码见 `references/common-errors.md`。
6
-
7
- ## 操作速查
8
-
9
- | 触发话术 | 唯一允许命令 | 改 skill 文件 | 改插件代码 | 改 binding/token | 重启 gateway |
10
- |----------|--------------|---------------|------------|------------------|--------------|
11
- | "更新 coolclaw"、"升级 coolclaw"、"更新 skill"、"升级插件"、"刷新 skill" | `npx --prefer-online -y @coolclaw/coolclaw-skills@latest` 和/或 `npx --prefer-online -y @coolclaw/coolclaw-cli@latest upgrade` | 视差异 | 视差异 | ❌ | 仅当插件实际升级时 |
12
-
13
- ⚠️ 用户说"重置 coolclaw"时先反问其真正诉求,**不要**直接执行 `@coolclaw/coolclaw-cli reset`。`reset` 会清空 `agentId` 和 token。
14
-
15
- ## 0. 执行主线
16
-
17
- **前置(执行任何命令前必做):先解析占位符为真实路径**
18
-
19
- - `<OPENCLAW_HOME>` 按"路径约定"小节解析(环境变量 → workspace 反推 → 平台默认路径)。
20
- - `<COOLCLAW_CONFIG_DIR>` 按平台默认路径解析(macOS/Linux `~/.config/coolclaw`,Windows `%APPDATA%\coolclaw`)。
21
- - 解析后再拼接到命令;**禁止把尖括号占位符原样传给 shell**。
22
-
23
- 主线步骤:
24
-
25
- 1. 触发判断(见 Step 1):确认是 UPDATE 而不是卸载、重置、排障。
26
- 2. 读取本地与远端版本(Step 2)。
27
- 3. 计算需要执行的动作(Step 3)。
28
- 4. 输出操作前汇报(Step 4)。
29
- 5. 按需执行 skill / 插件更新命令(Step 5);插件实际升级后立即重启 gateway。
30
- 6. 校验与最终汇报(Step 6)。
31
-
32
- 硬性规则:
33
-
34
- - 任何更新意图("更新 coolclaw"、"更新 skill"、"升级插件"、"刷新"等)一律走 Step 2 合并流程,由版本差异决定实际动作。**不要反问"你是要更新 skill 还是插件"**。
35
- - 狼人杀正式对局要求 `@coolclaw/coolclaw >= 1.0.17`,且插件握手能力包含 `WEREWOLF_STRUCTURED_JSON_MESSAGE_V1`;入座/开局因此失败时,按本流程升级插件。
36
- - gateway 重启**仅在插件实际发生升级时**触发;只 skill 落后时不重启。
37
- - 只允许使用本文列出的标准命令,不要自行改用 `npm update`、`rsync`、手动复制等替代路径。
38
- - 标准命令失败时,停止操作并汇报错误,不要尝试临时 workaround。
39
- - 如本次需要重启 gateway,重启是必做步骤;不要询问用户"是否需要重启"。
40
-
41
- ## Step 1:触发判断
34
+ | 平台 | COOLCLAW_CONFIG_DIR | OPENCLAW_HOME |
35
+ |------|---------------------|---------------|
36
+ | macOS / Linux | `~/.config/coolclaw` | `~/.openclaw` |
37
+ | Windows | `%APPDATA%\coolclaw` | `%APPDATA%\openclaw` |
42
38
 
43
- | 用户意图 / 触发条件 | 是否进入本流程 |
44
- |---------------------|----------------|
45
- | "更新 coolclaw"、"升级 coolclaw"、"刷新 coolclaw"、"更新 skill"、"升级插件"、"插件版本落后"、"刷新技能文档"、官方公告新版 | ✅ 进入 Step 2 |
46
- | "卸载 coolclaw"、"我不用了"、"清干净" | ❌ 走 `references/uninstall.md` |
47
- | "重置 coolclaw"、"reset" | ❌ 先反问"你是想升级、卸载,还是真的要清空本机绑定重新接入?",再决定加载哪个 reference |
48
- | 用户因为遇到错误码或异常而要求"刷新 skill" | ❌ 先按 `references/common-errors.md` 排障;只有用户明确表示"我要更新"才进入本流程 |
39
+ Windows 路径用双引号包裹。
49
40
 
50
- ## Step 2:读取本地与远端版本
41
+ ## Step 1:读取版本
51
42
 
52
- 并行读取本地两份版本文件、查询 npm 两个包的 latest 版本:
43
+ 并行执行:
53
44
 
54
45
  ```bash
55
46
  cat <OPENCLAW_HOME>/workspace/skills/coolclaw/_meta.json
@@ -58,145 +49,99 @@ npm view @coolclaw/coolclaw-skills version --prefer-online
58
49
  npm view @coolclaw/coolclaw version --prefer-online
59
50
  ```
60
51
 
61
- Windows PowerShell:
62
-
63
- ```powershell
64
- Get-Content "<OPENCLAW_HOME>\workspace\skills\coolclaw\_meta.json"
65
- Get-Content "<OPENCLAW_HOME>\extensions\coolclaw\package.json"
66
- npm view @coolclaw/coolclaw-skills version --prefer-online
67
- npm view @coolclaw/coolclaw version --prefer-online
68
- ```
69
-
70
- 异常处理:
71
-
72
- - `_meta.json` **和** `package.json` 都不存在 → 当前机器尚未接入 CoolClaw,**不要**继续本流程,加载 `references/onboard.md` 走首次接入。
73
- - 仅其中一个不存在 → 视为该组件"未安装",在版本对比中按"需要安装"处理;另一个组件按正常版本对比逻辑走。
74
- - 任一 `npm view` 失败(网络超时、registry 不可达)→ 该组件目标版本记为"latest(无法预读)",**默认仍按需要更新处理**。不要因为读不到目标版本而中止整个流程。
75
-
76
- ## Step 3:计算需要执行的动作
77
-
78
- 按以下规则计算 `needSkillUpdate` 和 `needPluginUpdate`:
79
-
80
- | 状态 | 动作 |
81
- |------|------|
82
- | 本地版本 == 远端 latest | 该组件无需更新 |
83
- | 本地版本 < 远端 latest | 该组件需要更新 |
84
- | 本地未安装 | 该组件需要更新(即首次安装到 latest) |
85
- | 远端版本无法预读 | 该组件需要更新(交给 npm 自行判断) |
86
-
87
- 进而:
52
+ Windows 用 `Get-Content "<path>"` 替代 `cat`。
88
53
 
89
- - `needSkillUpdate=false` 且 `needPluginUpdate=false` → 跳到 Step 6,直接汇报"已是最新",**不执行任何命令、不重启 gateway**。
90
- - 其他情况 → 按 Step 4 汇报后进入 Step 5 执行。
54
+ 取值:
55
+ - skill 本地版本:`_meta.json.version`
56
+ - 插件本地版本:`extensions/coolclaw/package.json.version`
57
+ - skill 远端版本:`npm view @coolclaw/coolclaw-skills version --prefer-online`
58
+ - 插件远端版本:`npm view @coolclaw/coolclaw version --prefer-online`
91
59
 
92
- ## Step 4:操作前汇报
60
+ 分支:
61
+ - 两个本地文件都不存在:改走 `references/onboard.md`。
62
+ - 仅一个本地文件不存在:该组件按"未安装,需要更新"处理。
63
+ - `npm view` 失败:该组件目标版本记为 `latest(无法预读)`,按"需要更新"处理。
93
64
 
94
- 按以下模板逐字输出给用户:
65
+ ## Step 2:计算动作
95
66
 
96
- ```text
97
- CoolClaw 版本对比:
98
- - skill (@coolclaw/coolclaw-skills):当前「<skill 当前版本>」→ latest「<skill 目标版本>」|<skill 动作>
99
- - 插件 (@coolclaw/coolclaw):当前「<插件 当前版本>」→ latest「<插件 目标版本>」|<插件 动作>
100
-
101
- 本次将执行:<动作摘要>。<重启说明>
102
- ```
67
+ 分别计算:
68
+ - `needSkillUpdate`
69
+ - `needPluginUpdate`
103
70
 
104
- 字段填写规则:
71
+ 规则:
72
+ - 本地版本等于远端 latest:无需更新。
73
+ - 本地版本低于远端 latest:需要更新。
74
+ - 本地未安装:需要更新。
75
+ - 远端无法预读:需要更新。
105
76
 
106
- - `<动作>` 三选一:`无需更新` / `升级` / `首次安装`。
107
- - `<动作摘要>`:根据 needSkillUpdate / needPluginUpdate 组合得出,例如"仅升级 skill 文档"、"仅升级插件并重启 gateway"、"同时升级 skill 和插件并重启 gateway"。
108
- - `<重启说明>`:
109
- - 若 `needPluginUpdate=true`:`插件升级完成后会立即重启 OpenClaw gateway,当前会话可能短暂断开;如果断线,请等待 1-2 分钟后重新打开对话或重新触发检查。`
110
- - 若 `needPluginUpdate=false`:`本次不重启 gateway,不会影响当前会话。`
111
- - 版本无法读取时写"未安装"或"latest(无法预读)"。
77
+ 内部记录以下信息,留给 Step 5 汇总:
78
+ - skill:升级前版本、目标版本、动作、执行结果。
79
+ - 插件:升级前版本、目标版本、动作、执行结果、写盘校验结果。
112
80
 
113
- ## Step 5:执行更新
81
+ 如果 `needSkillUpdate=false` 且 `needPluginUpdate=false`,直接执行 Step 5,不执行 Step 3、Step 4、Step 6。
114
82
 
115
- 按需执行,**严格遵循以下顺序**(先 skill 后插件,确保插件升级触发的重启在最后):
83
+ ## Step 3:更新 skill
116
84
 
117
- ### 5.a skill 更新(仅当 `needSkillUpdate=true`)
85
+ 仅当 `needSkillUpdate=true` 执行:
118
86
 
119
87
  ```bash
120
88
  npx --prefer-online -y @coolclaw/coolclaw-skills@latest
121
89
  ```
122
90
 
123
- 只覆盖 `<OPENCLAW_HOME>/workspace/skills/coolclaw/` 下的 Markdown;不修改插件代码、不修改 binding/token、不重启 gateway。
91
+ 要求:
92
+ - 只更新 `<OPENCLAW_HOME>/workspace/skills/coolclaw/`。
93
+ - 不改插件、绑定、token。
94
+ - 不重启。
95
+ - 记录结果,不单独回复。
124
96
 
125
- 如已是最新,命令会输出 `Skill is already up to date (vX.Y.Z)` 并跳过覆盖,这是正常结果。
97
+ ## Step 4:升级插件
126
98
 
127
- ### 5.b 插件升级(仅当 `needPluginUpdate=true`)
99
+ 仅当 `needPluginUpdate=true` 执行:
128
100
 
129
101
  ```bash
130
- npx --prefer-online -y @coolclaw/coolclaw-cli@latest upgrade
102
+ npx --prefer-online -y @coolclaw/coolclaw-cli@latest upgrade --no-restart
131
103
  ```
132
104
 
133
- 升级命令成功返回后、`openclaw gateway restart` 之前,先确认插件版本号已写入磁盘:
105
+ 随后校验:
134
106
 
135
107
  ```bash
136
108
  cat <OPENCLAW_HOME>/extensions/coolclaw/package.json
137
109
  ```
138
110
 
139
- Windows PowerShell:
111
+ 要求:
112
+ - 读取 `version`。
113
+ - 若远端版本可预读,校验写盘版本等于目标版本。
114
+ - 若远端版本不可预读,校验写盘版本不同于升级前版本,或命令明确输出已是最新。
115
+ - 校验失败:执行 Step 5 输出失败结果,结束;不得执行 Step 6。
116
+ - 校验成功:记录结果,不单独回复。
140
117
 
141
- ```powershell
142
- Get-Content "<OPENCLAW_HOME>\extensions\coolclaw\package.json"
143
- ```
118
+ ## Step 5:唯一最终回复
144
119
 
145
- 期望 `version` 已变为最新版本号(或与升级前不同);若仍为旧版本且远端可预读为不同版本,停止操作并汇报错误,**不要执行 gateway 重启**。
120
+ 所有需要的更新和校验完成后,输出本流程唯一一条用户可见回复。
146
121
 
147
- 确认版本号正确后立即执行:
148
-
149
- ```bash
150
- openclaw gateway restart
151
- ```
122
+ 模板:
152
123
 
153
- 执行重启前,必须已经在 Step 4 的操作前汇报中告知用户;不要重启前再次确认。
154
-
155
- ### 禁止使用
124
+ ```text
125
+ CoolClaw 更新结果:
126
+ - skill (@coolclaw/coolclaw-skills):当前「<升级前版本/未安装>」→ latest「<目标版本/latest 无法预读>」|<已升级到 vX.Y.Z / 已是最新 / 更新失败:...>
127
+ - 插件 (@coolclaw/coolclaw):当前「<升级前版本/未安装>」→ latest「<目标版本/latest 无法预读>」|<已升级到 vX.Y.Z(已写入磁盘)/ 已是最新 / 更新失败:...>
156
128
 
157
- ```bash
158
- npm update @coolclaw/coolclaw
159
- npm install @coolclaw/coolclaw
160
- npm update @coolclaw/coolclaw-skills
161
- npm install @coolclaw/coolclaw-skills
162
- openclaw plugins update @coolclaw/coolclaw
163
- rsync
164
- cp -R
165
- npx @coolclaw/coolclaw-cli reset
129
+ <插件已升级且写盘校验成功:插件新版本需要重启网关后生效。我接下来会触发后台延迟重启;重启期间会话可能短暂断开,断线请等 1-2 分钟重开对话。更新文件已写入磁盘,无需重复操作。>
130
+ <无需插件升级:本次不重启网关,不影响当前会话。>
131
+ <失败:未触发网关重启,请根据上面的错误处理后重试。>
166
132
  ```
167
133
 
168
- ## Step 6:校验与最终汇报
134
+ 分支:
135
+ - 有失败:Step 5 后结束。
136
+ - `needPluginUpdate=false`:Step 5 后结束。
137
+ - 插件已升级且写盘校验成功:Step 5 后继续 Step 6,不再输出任何文字。
169
138
 
170
- 如果 `needSkillUpdate=false` 且 `needPluginUpdate=false`,输出:"CoolClaw skill 和插件均已是 latest 版本(skill vX.Y.Z / 插件 vX.Y.Z),未执行任何操作。"
139
+ ## Step 6:重启网关
171
140
 
172
- 否则,重启完成后(若有重启)执行校验:
141
+ 仅当插件已升级且写盘校验成功时执行,且必须在 Step 5 回复之后执行:
173
142
 
174
143
  ```bash
175
- cat <OPENCLAW_HOME>/workspace/skills/coolclaw/_meta.json
176
- ls <OPENCLAW_HOME>/workspace/skills/coolclaw/
177
- cat <OPENCLAW_HOME>/extensions/coolclaw/package.json
144
+ npx --prefer-online -y @coolclaw/coolclaw-cli@latest restart
178
145
  ```
179
146
 
180
- 如插件升级了且当前会话仍可用,再执行运行时校验:
181
-
182
- ```bash
183
- openclaw plugins list --json | grep coolclaw
184
- openclaw channels status
185
- ```
186
-
187
- 期望结果:
188
-
189
- - 落后过的组件 `version` / `_meta.json.version` 已变为最新。
190
- - 未变更的组件版本保持原样。
191
- - 如果插件升级了,插件列表包含 CoolClaw 插件且 `openclaw channels status` 显示渠道已配置并连接。
192
-
193
- ## 路径约定
194
-
195
- `<OPENCLAW_HOME>` 必须先按以下顺序解析:已设置的 `OPENCLAW_HOME` 环境变量 → 当前工作目录若位于 `<OPENCLAW_HOME>/workspace` 则反推父目录 → 平台默认路径。
196
-
197
- | 平台 | COOLCLAW_CONFIG_DIR | OPENCLAW_HOME |
198
- |------|---------------------|---------------|
199
- | macOS / Linux | `~/.config/coolclaw` | `~/.openclaw` |
200
- | Windows | `%APPDATA%\coolclaw` | `%APPDATA%\openclaw` |
201
-
202
- Windows 用户名含空格时,shell 命令一律用双引号包裹路径。
147
+ 执行后立即结束。不得再输出文字、不得检查状态、不得等待重启完成。