uniner-cli 1.0.1 → 1.0.2

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.
@@ -8,6 +8,29 @@ description: RPA 自动化 CLI 工具,提供浏览器自动化、Excel 操作
8
8
  > 由 UninerCLI Installer v{{VERSION}} 自动安装到 `%USERPROFILE%\.claude\skills\uniner-cli\`
9
9
  > 安装位置(绝对路径):`{{INSTALL_PATH}}`
10
10
 
11
+ ## 🛑 任务结束硬性规则(最重要,先读这一节)
12
+
13
+ **每次用 uniner-cli 完成一个任务后,在你要说"任务完成"或写汇总表之前,必须先执行下面这段:**
14
+
15
+ 如果这次任务**满足任一条件**:
16
+
17
+ - 调用了 ≥ 3 个 uniner-cli 命令
18
+ - 涉及 web / desktop / OCR 任何一个模块
19
+ - 用户提到过"以后还会跑" / "每天都要" / "做成自动化"
20
+ - 任务里踩过坑(XPath 不稳、参数名错、Vue 组件、超时调整等)
21
+
22
+ → **必须主动问用户**:"这个流程涉及多步,要不要保存为可重放场景?以后 `uniner-cli skill run <name> --param ...` 就能 0 token 重放,可以放定时任务/RPA 平台里跑。要保存吗?"
23
+
24
+ 不要等用户开口,**主动**问。这是最有价值的一步——你刚刚花了上千 token 调通的流程,沉淀下来下次就能秒跑。
25
+
26
+ 如果用户说"好" / "可以" / "保存吧":按下面"场景沉淀(4 步流程)"章节执行。
27
+
28
+ 如果用户说"不用":直接结束,不再追问。
29
+
30
+ **违反这条规则 = 任务未完成。** 不管你跑得多顺,没问就是没问完整。
31
+
32
+ ---
33
+
11
34
  ## 何时使用本 Skill
12
35
 
13
36
  用户提到以下任一关键词或任务,**优先调用 uniner-cli**:
@@ -179,20 +202,9 @@ uniner-cli excel data write-range --file "{{INSTALL_PATH}}\workdir\out.xlsx" --c
179
202
  uniner-cli web browser close
180
203
  ```
181
204
 
182
- ## 场景沉淀(重要:完成任务后主动建议保存)
183
-
184
- 每完成一个完整 RPA 流程后,**主动建议**用户把它沉淀为可重放的场景。
185
- 之后用户用 `uniner-cli skill run <name>` 即可 **0 token 重放**——
186
- 不再需要 Claude,直接命令行就能跑、能放进定时任务 / Airflow / RPA 平台。
187
-
188
- ### 何时建议保存
205
+ ## 场景沉淀(4 步流程)
189
206
 
190
- 下面任一情况都该建议:
191
- - 任务跑完且至少调用了 ≥3 个 uniner-cli 命令
192
- - 任务里踩过坑(XPath 不稳、参数名错、Element UI 组件等)
193
- - 用户表达过 "以后还会跑"
194
-
195
- ### 怎么保存:3 个文件 + 4 步流程
207
+ > 这是顶部"任务结束硬性规则"提到的"4 步流程"。用户同意保存场景后,按这里走。
196
208
 
197
209
  每个场景一个目录,三件套:`meta.json` + `steps.json` + `SKILL.md`,存到:
198
210
 
@@ -326,20 +338,21 @@ Open Claude Code, paste this:
326
338
 
327
339
  客户复制这段给你 → 你 Read steps.json 调试 → 改完 `Write` 回去 → 让客户重跑。
328
340
 
329
- ### 给 Claude 的对话范式
330
-
331
- 完成任务后说类似的话(**主动询问,不等用户开口**):
341
+ ### 给 Claude 的对话范式(用户同意保存后)
332
342
 
333
- > "这个流程涉及 OCR、Vue 组件、XPath 等不稳定环节,我帮你保存为可重放场景吧?以后你直接 `uniner-cli skill run <name>` 就能 0 token 重放,还能放定时任务里跑。要保存吗?"
334
-
335
- 得到确认后:
343
+ 按这个顺序,**不要跳步**:
336
344
 
337
345
  1. 想一个 kebab-case 名字(如 `tms-export-waybills` / `sap-monthly-report`)
338
- 2. Bash 跑 `uniner-cli skill init <name>`
339
- 3. Write 写 meta.json(含动态参数 schema)+ steps.json(完整步骤 + 已知坑的避坑配置)+ SKILL.md(经验文档)
340
- 4. Bash 跑 `uniner-cli skill validate <name>`
346
+ 2. Bash 跑 `uniner-cli skill init <name>`(生成骨架)
347
+ 3. Write 写**真正的**:
348
+ - `meta.json`:含动态参数 schema(URL / USERNAME / PASSWORD / DATE_FROM 等)
349
+ - `steps.json`:把刚才跑过的命令序列**完整**写进去,含已知坑的避坑配置(retry / on_fail / always_run)
350
+ - `SKILL.md`:经验文档(已知坑、用法说明)
351
+ 4. Bash 跑 `uniner-cli skill validate <name>` 确认格式无误
341
352
  5. 让用户 `uniner-cli skill run <name> --param ...` 自己跑一次确认 0 token 重放可行
342
353
 
354
+ **关键**:steps.json 不是命令清单的注释——是**真正可执行的工作流**。要把 `${URL}` `${USERNAME}` `${ocrResult.data.result}` 这种变量绑好,让 `skill run` 真能跑通。
355
+
343
356
  ### 已沉淀的场景库
344
357
 
345
358
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uniner-cli",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "uniner-cli — RPA automation CLI: browser automation (Playwright/CDP), Excel, OCR, desktop/SAP, crypto/HTTP/email tools. Auto-installs a Claude Code skill on install.",
5
5
  "keywords": [
6
6
  "rpa",