@mison/wecom-cleaner 1.3.2 → 1.3.3

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 CHANGED
@@ -96,10 +96,12 @@
96
96
 
97
97
  - 启动后按“早/午/晚”三时段检查更新(默认开启)。
98
98
  - 版本源优先 npmjs,失败自动回退 GitHub Release。
99
+ - 检查更新会同时校验 Agent skills 是否与主程序版本匹配。
99
100
  - 交互模式发现新版本时可直接选择升级方式:
100
101
  - npm 升级(默认)
101
102
  - GitHub 脚本升级
102
- - 无交互模式仅提示不阻断任务执行。
103
+ - 程序升级完成后默认联动同步 skills,避免“程序已升级但 skills 仍旧版”。
104
+ - 无交互模式可用 `--sync-skills` 单独修复 skills 版本绑定。
103
105
 
104
106
  ## 能力边界
105
107
 
@@ -154,12 +156,16 @@ npx --yes --package=@mison/wecom-cleaner wecom-cleaner-skill install
154
156
  - `--target <dir>`:自定义安装目录(默认 `$CODEX_HOME/skills` 或 `~/.codex/skills`)
155
157
  - `--force`:覆盖已存在技能目录
156
158
  - `--dry-run`:仅预演,不落盘
159
+ - `status` 子命令:检查 skills 与主程序版本是否匹配
160
+ - `sync` 子命令:等价 `install --force`,用于升级 skills
157
161
 
158
162
  示例:
159
163
 
160
164
  ```bash
161
165
  npx --yes --package=@mison/wecom-cleaner wecom-cleaner-skill install --force
162
166
  npx --yes --package=@mison/wecom-cleaner wecom-cleaner-skill install --target ~/.codex/skills
167
+ npx --yes --package=@mison/wecom-cleaner wecom-cleaner-skill status --json
168
+ npx --yes --package=@mison/wecom-cleaner wecom-cleaner-skill sync
163
169
  ```
164
170
 
165
171
  GitHub 备选方式(无 npm 包依赖):
@@ -168,10 +174,10 @@ GitHub 备选方式(无 npm 包依赖):
168
174
  curl -fsSL https://raw.githubusercontent.com/MisonL/wecom-cleaner/main/scripts/install-skill.sh | bash
169
175
  ```
170
176
 
171
- 若需安装指定版本标签(例如 `v1.3.2`):
177
+ 若需安装指定版本标签(例如 `v1.3.3`):
172
178
 
173
179
  ```bash
174
- curl -fsSL https://raw.githubusercontent.com/MisonL/wecom-cleaner/main/scripts/install-skill.sh | bash -s -- --ref v1.3.2
180
+ curl -fsSL https://raw.githubusercontent.com/MisonL/wecom-cleaner/main/scripts/install-skill.sh | bash -s -- --ref v1.3.3
175
181
  ```
176
182
 
177
183
  Agent 侧统一任务入口脚本(位于 `skills/wecom-cleaner-agent/scripts/`):
@@ -204,6 +210,7 @@ Agent 侧统一任务入口脚本(位于 `skills/wecom-cleaner-agent/scripts/`
204
210
  - `--doctor`
205
211
  - `--check-update`
206
212
  - `--upgrade <npm|github-script>`
213
+ - `--sync-skills`
207
214
 
208
215
  ### 无交互安全规则
209
216
 
@@ -254,7 +261,10 @@ wecom-cleaner --check-update --output text
254
261
  wecom-cleaner --upgrade npm --upgrade-yes
255
262
 
256
263
  # 执行升级(GitHub 托管脚本方式)
257
- wecom-cleaner --upgrade github-script --upgrade-version 1.3.2 --upgrade-yes
264
+ wecom-cleaner --upgrade github-script --upgrade-version 1.3.3 --upgrade-yes
265
+
266
+ # 单独同步 skills(修复版本不匹配)
267
+ wecom-cleaner --sync-skills --skill-sync-method npm --dry-run false
258
268
  ```
259
269
 
260
270
  ### 输出与兼容参数
@@ -270,6 +280,9 @@ wecom-cleaner --upgrade github-script --upgrade-version 1.3.2 --upgrade-yes
270
280
  - `--upgrade-channel stable|pre`:升级检查通道(稳定版/预发布)。
271
281
  - `--upgrade-version <x.y.z>`:指定升级目标版本。
272
282
  - `--upgrade-yes`:确认执行升级动作(无此参数将拒绝执行升级)。
283
+ - `--upgrade-sync-skills true|false`:升级后是否联动同步 skills(默认 `true`)。
284
+ - `--skill-sync-method npm|github-script`:skills 同步方式(默认 `npm`)。
285
+ - `--skill-sync-ref <x.y.z>`:skills 同步版本标签(通常与程序版本一致)。
273
286
 
274
287
  ### 各动作关键统计字段(JSON)
275
288
 
@@ -343,7 +356,10 @@ wecom-cleaner --upgrade github-script --upgrade-version 1.3.2 --upgrade-yes
343
356
  - `summary.currentVersion` / `latestVersion`
344
357
  - `summary.source`:`npm` 或 `github`
345
358
  - `summary.channel`:`stable` 或 `pre`
359
+ - `summary.skillsStatus` / `summary.skillsMatched`
360
+ - `summary.skillsInstalledVersion` / `summary.skillsBoundAppVersion`
346
361
  - `data.update`:检查详情(含 `errors`、`checkReason`、`checkedAt`)
362
+ - `data.skills`:skills 绑定详情(状态、目录、建议)
347
363
 
348
364
  #### `upgrade`
349
365
 
@@ -352,6 +368,17 @@ wecom-cleaner --upgrade github-script --upgrade-version 1.3.2 --upgrade-yes
352
368
  - `summary.targetVersion`:目标版本
353
369
  - `summary.status`:升级命令退出码
354
370
  - `data.upgrade.command`:实际执行命令
371
+ - `summary.skillSyncStatus` / `summary.skillSyncMethod` / `summary.skillSyncTargetVersion`
372
+ - `summary.skillsStatusBefore` / `summary.skillsStatusAfter`
373
+ - `data.skillSync`:skills 同步命令结果
374
+
375
+ #### `sync-skills`
376
+
377
+ - `summary.method`:skills 同步方式(`npm` / `github-script`)
378
+ - `summary.status`:`dry_run` / `synced` / `failed` / `mismatch_after_sync`
379
+ - `summary.skillsStatusBefore` / `summary.skillsStatusAfter`
380
+ - `data.before` / `data.after`:同步前后 skills 绑定详情
381
+ - `data.skillSync`:执行命令与退出码
355
382
 
356
383
  ### 全局参数
357
384
 
@@ -493,7 +520,7 @@ npm run pack:tgz
493
520
  npm run pack:release-assets
494
521
 
495
522
  # 2) 推送主分支与标签
496
- VERSION="1.3.2"
523
+ VERSION="1.3.3"
497
524
  git push origin main
498
525
  git tag "v${VERSION}"
499
526
  git push origin "v${VERSION}"
@@ -22,6 +22,7 @@
22
22
  - `--doctor`
23
23
  - `--check-update`
24
24
  - `--upgrade <npm|github-script>`
25
+ - `--sync-skills`
25
26
 
26
27
  若缺少动作或动作冲突,退出码为 `2`。
27
28
 
@@ -59,6 +60,7 @@ JSON 顶层字段:
59
60
  - `data`:动作明细数据
60
61
  - `meta`:元信息(版本、耗时、引擎、时间戳等)
61
62
  - `data.userFacingSummary`:统一的用户侧结果摘要(范围 + 结果 + 关键分布)
63
+ - `scopeNotes`:扫描边界说明(例如是否纳入“文件存储位置”目录、是否因命中为 0 跳过执行)
62
64
  - `data.taskPhases`:阶段协议明细(仅在 `--run-task` 时返回)
63
65
  - `data.taskCard`:阶段任务卡片(仅在 `--run-task` 时返回)
64
66
  - `data.scanDebug`:扫描诊断信息(仅在 `--scan-debug summary|full` 时返回)
@@ -182,12 +184,23 @@ JSON 顶层字段:
182
184
  - `hasUpdate`
183
185
  - `currentVersion` / `latestVersion`
184
186
  - `source`
187
+ - `sourceChain`(来源链路说明:先 npm,必要时自动回退 GitHub)
185
188
  - `channel`
186
189
  - `skippedByUser`
190
+ - `skillsStatus` / `skillsMatched`
191
+ - `skillsInstalledVersion` / `skillsBoundAppVersion`
187
192
 
188
193
  `check_update` 的 `data`:
189
194
 
190
195
  - `update`:更新检查详情(`checkedAt`、`checkReason`、`errors`、`upgradeMethods`)
196
+ - `skills`:skills 版本绑定详情(状态、目录、建议)
197
+
198
+ 说明:
199
+
200
+ - 当 npm 失败但 GitHub 回退成功时,动作整体仍为成功:
201
+ - `summary.source=github`
202
+ - `summary.sourceChain` 会说明“npm 失败后回退”
203
+ - 失败细节进入 `warnings`,不计入 `errors`
191
204
 
192
205
  `upgrade` 常见 `summary` 字段:
193
206
 
@@ -196,11 +209,31 @@ JSON 顶层字段:
196
209
  - `targetVersion`
197
210
  - `status`
198
211
  - `command`
212
+ - `skillSyncEnabled`
213
+ - `skillSyncMethod`
214
+ - `skillSyncStatus`
215
+ - `skillSyncTargetVersion`
216
+ - `skillsStatusBefore` / `skillsStatusAfter`
199
217
 
200
218
  `upgrade` 的 `data`:
201
219
 
202
220
  - `upgrade`:升级执行结果(stdout/stderr/exit status)
203
221
  - `update`:升级前检查结果(若有)
222
+ - `skills`:升级前后 skills 绑定状态
223
+ - `skillSync`:skills 同步执行结果
224
+
225
+ `sync_skills` 常见 `summary` 字段:
226
+
227
+ - `method`:同步方式(`npm` / `github-script`)
228
+ - `dryRun`:是否预演
229
+ - `status`:`dry_run` / `synced` / `failed` / `mismatch_after_sync`
230
+ - `skillsStatusBefore` / `skillsStatusAfter`
231
+ - `skillsMatchedAfter`
232
+
233
+ `sync_skills` 的 `data`:
234
+
235
+ - `before` / `after`:同步前后 skills 绑定详情
236
+ - `skillSync`:执行命令与退出码
204
237
 
205
238
  ## 5. 退出码
206
239
 
@@ -224,6 +257,9 @@ JSON 顶层字段:
224
257
  - `--upgrade-channel <stable|pre>`:更新通道(稳定版/预发布)
225
258
  - `--upgrade-version <x.y.z>`:升级到指定版本
226
259
  - `--upgrade-yes`:确认执行升级(无此参数将拒绝执行升级)
260
+ - `--upgrade-sync-skills <true|false>`:升级后是否联动同步 skills(默认 `true`)
261
+ - `--skill-sync-method <npm|github-script>`:skills 同步方式
262
+ - `--skill-sync-ref <x.y.z>`:skills 同步版本标签
227
263
  - `--run-task preview|execute|preview-execute-verify`:无交互阶段协议
228
264
  - `--scan-debug off|summary|full`:扫描诊断输出等级
229
265
 
@@ -296,6 +332,18 @@ JSON 顶层字段:
296
332
 
297
333
  - `npm`:执行 `npm i -g @mison/wecom-cleaner@<version>`
298
334
  - `github-script`:执行 GitHub 托管脚本 `scripts/upgrade.sh`
335
+ - 默认会联动同步 skills,可通过 `--upgrade-sync-skills false` 关闭。
336
+
337
+ ### 7.9 `--sync-skills`
338
+
339
+ - `--skill-sync-method <npm|github-script>`(可选,默认 `npm`)
340
+ - `--skill-sync-ref <x.y.z>`(可选)
341
+ - `--dry-run <true|false>`(可选,默认 `false`)
342
+
343
+ 说明:
344
+
345
+ - 用于单独修复/升级 Agent skills 版本绑定。
346
+ - `npm` 方式优先使用本地随包 skills;`github-script` 方式按指定版本标签下载。
299
347
 
300
348
  ## 8. 兼容参数
301
349
 
@@ -26,6 +26,7 @@
26
26
  - `doctor`
27
27
  - `check_update`
28
28
  - `upgrade`
29
+ - `sync_skills`
29
30
 
30
31
  ### 维度 C:范围组合
31
32
 
@@ -102,13 +103,15 @@
102
103
  8. `doctor`:只读模式不创建状态目录
103
104
  9. `check_update`:npm 正常 / npm 失败回退 GitHub / 全部失败
104
105
  10. `upgrade`:未确认拒绝、已是最新不执行、执行失败可返回非 0
105
- 11. Agent 报告脚本:成功、无目标、失败三态退出码与卡片完整性
106
+ 11. `sync_skills`:预演/真实同步、版本匹配状态收敛
107
+ 12. Agent 报告脚本:成功、无目标、失败三态退出码与卡片完整性
106
108
 
107
109
  ## 当前门禁(执行顺序)
108
110
 
109
111
  1. `npm run check`
110
- 2. `npm run test:coverage:check`
111
- 3. `shellcheck skills/wecom-cleaner-agent/scripts/*.sh scripts/upgrade.sh scripts/install-skill.sh scripts/release-gate.sh`
112
- 4. `npm run e2e:smoke`
112
+ 2. `npm run check:skills-version`
113
+ 3. `npm run test:coverage:check`
114
+ 4. `shellcheck skills/wecom-cleaner-agent/scripts/*.sh scripts/upgrade.sh scripts/install-skill.sh scripts/release-gate.sh`
115
+ 5. `npm run e2e:smoke`
113
116
 
114
117
  说明:若新增动作/字段,需先补此文档矩阵与断言,再提交实现。
@@ -0,0 +1,32 @@
1
+ # v1.3.3
2
+
3
+ 发布日期:2026-02-27
4
+
5
+ ## 重点更新
6
+
7
+ - 新增 skills 版本绑定元数据:`skills/wecom-cleaner-agent/version.json`,将 skills 版本与主程序版本显式绑定。
8
+ - 新增无交互动作 `--sync-skills`,支持独立同步 Agent skills(`npm` / `github-script`)。
9
+ - 新增 `wecom-cleaner-skill status` / `wecom-cleaner-skill sync`,用于检测和修复版本不匹配。
10
+ - 新增 skills 版本门禁:`scripts/check-skills-version.js`,并接入 `npm run check:skills-version` 与 `release:gate`。
11
+
12
+ ## 升级链路改进
13
+
14
+ - `--check-update` 输出新增 skills 匹配状态与版本字段(`skillsStatus`、`skillsMatched` 等)。
15
+ - `--upgrade` 默认联动同步 skills,并返回同步状态、同步方式与前后匹配状态。
16
+ - 交互模式“检查更新与升级”支持直接触发 skills 同步;头部增加 skills 状态徽章。
17
+ - `scripts/upgrade.sh` 默认升级后同步 skills,可通过 `--sync-skills false` 关闭。
18
+
19
+ ## 发布与资产
20
+
21
+ - release 资产打包新增 skills 独立附件:`wecom-cleaner-skill-vX.Y.Z.tar.gz`。
22
+ - SHA256 清单命名统一为:`wecom-cleaner-vX.Y.Z-SHA256SUMS.txt`。
23
+ - `scripts/install-skill.sh` 安装完成后输出 skills 版本与绑定版本,便于核验。
24
+
25
+ ## Agent 技能适配
26
+
27
+ - `wecom-cleaner-agent` 的 `check_update_report` / `upgrade_report` / `doctor_report` 已适配 skills 版本状态与同步反馈。
28
+ - `SKILL.md` 与命令参考文档已同步更新。
29
+
30
+ ## 稳定性结论
31
+
32
+ - 已通过:`npm run format:check`、`npm run check`、`npm run check:skills-version`、`npm test`(116/116)。
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "targets": {
5
5
  "darwin-x64": {
6
6
  "binaryName": "wecom-cleaner-core",
7
- "sha256": "7cb303935b713397012e88431238fa3b44e416ba1ceb0b1a96f354f3c818108c",
8
- "url": "https://github.com/MisonL/wecom-cleaner/releases/download/v1.3.2/wecom-cleaner-core-v1.3.2-darwin-x64"
7
+ "sha256": "e803a1d480895f3edc2350151611a20390ae01401c179aa3f58b5773fed011a8",
8
+ "url": "https://github.com/MisonL/wecom-cleaner/releases/download/v1.3.3/wecom-cleaner-core-v1.3.3-darwin-x64"
9
9
  },
10
10
  "darwin-arm64": {
11
11
  "binaryName": "wecom-cleaner-core",
12
- "sha256": "93a33ae854e2dc7778865e3d59c048ba8f3d3ff3e3f3d19ec0906c316c18e503",
13
- "url": "https://github.com/MisonL/wecom-cleaner/releases/download/v1.3.2/wecom-cleaner-core-v1.3.2-darwin-arm64"
12
+ "sha256": "0bee4994c39ec66690a1effa2acc4178a581567750577c5caa9ba4e495dd3b1d",
13
+ "url": "https://github.com/MisonL/wecom-cleaner/releases/download/v1.3.3/wecom-cleaner-core-v1.3.3-darwin-arm64"
14
14
  }
15
15
  }
16
16
  }
@@ -1 +1 @@
1
- pub const APP_VERSION = "1.3.2";
1
+ pub const APP_VERSION = "1.3.3";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mison/wecom-cleaner",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "企业微信本地聊天缓存清理工具(交互式 CLI/TUI)",
5
5
  "author": "MisonL",
6
6
  "license": "MIT",
@@ -42,6 +42,7 @@
42
42
  "format": "prettier --write .",
43
43
  "format:check": "prettier --check .",
44
44
  "check": "node --check src/*.js",
45
+ "check:skills-version": "node scripts/check-skills-version.js",
45
46
  "e2e:smoke": "bash scripts/e2e-smoke.sh",
46
47
  "release:gate": "bash scripts/release-gate.sh",
47
48
  "prepack": "npm run build:native:release && npm run check",
@@ -32,6 +32,7 @@ description: 用于执行和编排 wecom-cleaner 的无交互 Agent 技能。当
32
32
  - 系统自检:`scripts/doctor_report.sh`
33
33
  - 检查更新:`scripts/check_update_report.sh`
34
34
  - 程序升级:`scripts/upgrade_report.sh`
35
+ - skills 同步:回退到 `wecom-cleaner --sync-skills --output json`
35
36
 
36
37
  调用顺序:
37
38
 
@@ -1,5 +1,5 @@
1
1
  interface:
2
2
  display_name: 'WeCom Cleaner Agent'
3
3
  short_description: '面向AI Agent的企业微信缓存清理与恢复无交互执行技能'
4
- default_prompt: '请使用 $wecom-cleaner-agent 执行任务:按用户意图自动选择 scripts/ 下对应报告脚本(cleanup/analysis/space/restore/recycle/doctor/check-update/upgrade),优先输出中文用户任务卡片;仅在脚本不可用时回退 wecom-cleaner --output json,并在破坏性动作中使用 --run-task(preview 或 preview-execute-verify)读取 data.taskCard/taskPhases。'
4
+ default_prompt: '请使用 $wecom-cleaner-agent 执行任务:按用户意图自动选择 scripts/ 下对应报告脚本(cleanup/analysis/space/restore/recycle/doctor/check-update/upgrade),需要 skills 同步时回退 wecom-cleaner --sync-skills --output json;优先输出中文用户任务卡片;仅在脚本不可用时回退 wecom-cleaner --output json,并在破坏性动作中使用 --run-task(preview 或 preview-execute-verify)读取 data.taskCard/taskPhases。'
5
5
  brand_color: '#0EA5E9'
@@ -63,7 +63,20 @@ bash scripts/upgrade_report.sh --method npm --execute false
63
63
 
64
64
  # 明确授权后执行真实升级
65
65
  bash scripts/upgrade_report.sh --method npm --execute true
66
- bash scripts/upgrade_report.sh --method github-script --version 1.3.2 --execute true
66
+ bash scripts/upgrade_report.sh --method github-script --version 1.3.3 --execute true
67
+ ```
68
+
69
+ ### 1.9 同步 Agent Skills
70
+
71
+ ```bash
72
+ # 预演同步(不落盘)
73
+ wecom-cleaner --sync-skills --dry-run true --output json
74
+
75
+ # 真实同步(默认 npm)
76
+ wecom-cleaner --sync-skills --skill-sync-method npm --dry-run false --output json
77
+
78
+ # 按 GitHub 版本标签同步
79
+ wecom-cleaner --sync-skills --skill-sync-method github-script --skill-sync-ref 1.3.3 --dry-run false --output json
67
80
  ```
68
81
 
69
82
  ## 2. 常用全局参数
@@ -118,7 +131,10 @@ wecom-cleaner --check-update --output json
118
131
 
119
132
  # 程序升级(必须带 --upgrade-yes)
120
133
  wecom-cleaner --upgrade npm --upgrade-yes --output json
121
- wecom-cleaner --upgrade github-script --upgrade-version 1.3.2 --upgrade-yes --output json
134
+ wecom-cleaner --upgrade github-script --upgrade-version 1.3.3 --upgrade-yes --output json
135
+
136
+ # 同步 skills(独立动作)
137
+ wecom-cleaner --sync-skills --skill-sync-method npm --output json
122
138
  ```
123
139
 
124
140
  ## 4. 退出码约定
@@ -137,3 +153,8 @@ wecom-cleaner --upgrade github-script --upgrade-version 1.3.2 --upgrade-yes --ou
137
153
  3. 核心统计(命中、预计/实际释放、成功/跳过/失败、批次号)
138
154
  4. 分布明细(按类别/月份/路径)
139
155
  5. 安全状态(耗时、引擎、告警、错误)
156
+
157
+ 实现建议(统一体验):
158
+
159
+ - 优先消费 `data.userFacingSummary`,并优先展示其中 `scopeNotes`(扫描边界说明)。
160
+ - 对 `check-update` 动作,优先展示 `summary.sourceChain`,明确“npm -> GitHub 回退”链路。
@@ -85,6 +85,11 @@ latest_version="$(jq -r '.summary.latestVersion // "-"' "$REPORT_JSON")"
85
85
  source_used="$(jq -r '.summary.source // "none"' "$REPORT_JSON")"
86
86
  channel_used="$(jq -r '.summary.channel // "stable"' "$REPORT_JSON")"
87
87
  skipped_by_user="$(jq -r '.summary.skippedByUser // false' "$REPORT_JSON")"
88
+ skills_status="$(jq -r '.summary.skillsStatus // (.data.skills.status // "unknown")' "$REPORT_JSON")"
89
+ skills_matched="$(jq -r '.summary.skillsMatched // (.data.skills.matched // false)' "$REPORT_JSON")"
90
+ skills_version="$(jq -r '.summary.skillsInstalledVersion // (.data.skills.installedSkillVersion // "-")' "$REPORT_JSON")"
91
+ skills_bound_version="$(jq -r '.summary.skillsBoundAppVersion // (.data.skills.installedRequiredAppVersion // "-")' "$REPORT_JSON")"
92
+ skills_target_dir="$(jq -r '.data.skills.targetSkillDir // "-"' "$REPORT_JSON")"
88
93
  duration_ms="$(jq -r '.meta.durationMs // 0' "$REPORT_JSON")"
89
94
  warnings_count="$(jq -r '(.warnings // []) | length' "$REPORT_JSON")"
90
95
  errors_count="$(jq -r '(.errors // []) | length' "$REPORT_JSON")"
@@ -124,11 +129,20 @@ printf -- '- 检查通道:%s\n' "$channel_label"
124
129
  printf -- '- 信息来源:%s(先 npm,失败再回退 GitHub)\n' "$source_label"
125
130
  printf -- '- 用户跳过提醒:%s\n' "$( [[ "$skipped_by_user" == "true" ]] && printf '是' || printf '否' )"
126
131
 
132
+ printf '\nSkills 版本状态\n'
133
+ printf -- '- 匹配状态:%s(%s)\n' "$( [[ "$skills_matched" == "true" ]] && printf '已匹配' || printf '未匹配' )" "$skills_status"
134
+ printf -- '- skills 版本:%s\n' "$skills_version"
135
+ printf -- '- skills 绑定程序版本:%s\n' "$skills_bound_version"
136
+ printf -- '- skills 目录:%s\n' "$skills_target_dir"
137
+
127
138
  if [[ "$has_update" == "true" && "$skipped_by_user" != "true" ]]; then
128
139
  printf '\n建议下一步(需你确认后执行)\n'
129
140
  printf -- '- 默认升级方式(npm):wecom-cleaner --upgrade npm --upgrade-version %s --upgrade-yes\n' "$latest_version"
130
141
  printf -- '- 备选方式(GitHub 脚本):wecom-cleaner --upgrade github-script --upgrade-version %s --upgrade-yes\n' "$latest_version"
131
142
  fi
143
+ if [[ "$skills_matched" != "true" ]]; then
144
+ printf -- '- 同步 skills(推荐):wecom-cleaner --sync-skills --skill-sync-method npm\n'
145
+ fi
132
146
 
133
147
  printf '\n运行状态\n'
134
148
  printf -- '- 耗时:%s ms\n' "$duration_ms"
@@ -139,3 +153,4 @@ printf '\n指标释义\n'
139
153
  printf -- '- 当前版本:你本机 wecom-cleaner 版本。\n'
140
154
  printf -- '- 最新版本:按所选通道可获取的最新可用版本。\n'
141
155
  printf -- '- 用户跳过提醒:表示该版本是否被标记为“暂不提醒”。\n'
156
+ printf -- '- Skills 匹配状态:表示 Agent skills 是否与当前程序版本绑定一致。\n'
@@ -72,6 +72,8 @@ account_count="$(jq -r '.data.metrics.accountCount // 0' "$REPORT_JSON")"
72
72
  external_count="$(jq -r '.data.metrics.externalStorageCount // 0' "$REPORT_JSON")"
73
73
  recycle_batches="$(jq -r '.data.metrics.recycleBatchCount // 0' "$REPORT_JSON")"
74
74
  recycle_bytes="$(jq -r '.data.metrics.recycleBytes // 0' "$REPORT_JSON")"
75
+ skills_status="$(jq -r '.data.metrics.skillsStatus // "unknown"' "$REPORT_JSON")"
76
+ skills_matched="$(jq -r '.data.metrics.skillsMatched // false' "$REPORT_JSON")"
75
77
  runtime_os="$(jq -r '.data.runtime.os // "-"' "$REPORT_JSON")"
76
78
  runtime_arch="$(jq -r '.data.runtime.arch // "-"' "$REPORT_JSON")"
77
79
  duration_ms="$(jq -r '.meta.durationMs // 0' "$REPORT_JSON")"
@@ -107,6 +109,7 @@ printf -- '- 运行平台:%s / %s\n' "$runtime_os" "$runtime_arch"
107
109
  printf -- '- 识别账号:%s 个\n' "$account_count"
108
110
  printf -- '- 外部存储目录:%s 个\n' "$external_count"
109
111
  printf -- '- 回收区批次:%s 个,约 %s\n' "$recycle_batches" "$(human_bytes "$recycle_bytes")"
112
+ printf -- '- Skills 绑定:%s(%s)\n' "$skills_status" "$( [[ "$skills_matched" == "true" ]] && printf '已匹配' || printf '未匹配' )"
110
113
 
111
114
  printf '\n故障项(需要优先处理)\n'
112
115
  fail_rows=0
@@ -162,6 +162,7 @@ if [[ "$EXECUTE" != "true" ]]; then
162
162
  printf -- '- 计划执行命令:%s\n' "${plan_cmd[*]}"
163
163
  printf '\n说明\n'
164
164
  printf -- '- 如需真实执行,请追加参数:--execute true\n'
165
+ printf -- '- 真实升级默认会联动同步 skills,避免 Agent 能力与主程序版本不一致。\n'
165
166
  printf -- '- 升级会更新本机安装,不会触碰聊天缓存数据。\n'
166
167
  exit 0
167
168
  fi
@@ -193,6 +194,12 @@ summary_method="$(jq -r '.summary.method // "-"' "$EXEC_JSON")"
193
194
  summary_target="$(jq -r '.summary.targetVersion // "-"' "$EXEC_JSON")"
194
195
  summary_status="$(jq -r '.summary.status // "-"' "$EXEC_JSON")"
195
196
  summary_command="$(jq -r '.summary.command // "-"' "$EXEC_JSON")"
197
+ skill_sync_method="$(jq -r '.summary.skillSyncMethod // "-"' "$EXEC_JSON")"
198
+ skill_sync_status="$(jq -r '.summary.skillSyncStatus // "-"' "$EXEC_JSON")"
199
+ skill_sync_target="$(jq -r '.summary.skillSyncTargetVersion // "-"' "$EXEC_JSON")"
200
+ skill_sync_command="$(jq -r '.data.skillSync.command // "-"' "$EXEC_JSON")"
201
+ skills_status_before="$(jq -r '.summary.skillsStatusBefore // "-"' "$EXEC_JSON")"
202
+ skills_status_after="$(jq -r '.summary.skillsStatusAfter // "-"' "$EXEC_JSON")"
196
203
  duration_ms="$(jq -r '.meta.durationMs // 0' "$EXEC_JSON")"
197
204
  warnings_count="$(jq -r '(.warnings // []) | length' "$EXEC_JSON")"
198
205
  errors_count="$(jq -r '(.errors // []) | length' "$EXEC_JSON")"
@@ -217,6 +224,14 @@ printf -- '- 命令退出码:%s\n' "$summary_status"
217
224
  printf -- '- 执行命令:%s\n' "$summary_command"
218
225
  printf -- '- 升级后版本:%s\n' "$installed_version"
219
226
 
227
+ printf '\nSkills 同步\n'
228
+ printf -- '- 同步方式:%s\n' "$skill_sync_method"
229
+ printf -- '- 同步状态:%s\n' "$skill_sync_status"
230
+ printf -- '- 目标版本:%s\n' "$skill_sync_target"
231
+ printf -- '- 同步命令:%s\n' "$skill_sync_command"
232
+ printf -- '- 同步前状态:%s\n' "$skills_status_before"
233
+ printf -- '- 同步后状态:%s\n' "$skills_status_after"
234
+
220
235
  if [[ "$errors_count" -gt 0 ]]; then
221
236
  printf '\n错误摘要\n'
222
237
  while IFS= read -r message; do
@@ -0,0 +1,6 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "skillName": "wecom-cleaner-agent",
4
+ "skillVersion": "1.3.3",
5
+ "requiredAppVersion": "1.3.3"
6
+ }