@microi.net/cli 6.0.2 → 6.0.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/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +43 -43
- package/.mcp.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/LICENSE +21 -21
- package/README.md +71 -71
- package/assets/build-meta.json +6 -6
- package/assets/feature-matrix.json +138 -138
- package/assets/logo.svg +4 -4
- package/cordis.patch.yml +1 -1
- package/package.json +82 -82
- package/scripts/codex-marketplace.json +20 -20
- package/scripts/mcp-codex-stdio-adapter.js +189 -189
- package/scripts/mcp-server.js +50 -50
- package/scripts/mcp-trae-windows-launcher.cmd +21 -21
- package/scripts/microi-cli-mcp.js +7 -7
- package/scripts/microi-codex-broker.js +466 -466
- package/scripts/microi-codex-router.js +635 -635
- package/scripts/microi-skills.meta.json +209 -209
- package/skills/.microi-skills-version.json +6 -6
- package/skills/.progressive-disclosure-manifest.json +5 -5
- package/skills/microi-client-frontend/SKILL.md +19 -19
- package/skills/microi-microservice/SKILL.md +348 -348
- package/skills/page-engine/SKILL.md +24 -24
- package/skills/playwright-e2e/SKILL.md +30 -30
- package/skills/v8-api-config/SKILL.md +400 -388
- package/skills/workspace-conventions/SKILL.md +11 -3
|
@@ -52,8 +52,8 @@ MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_pag
|
|
|
52
52
|
|
|
53
53
|
你正在为 Microi 吾码平台生成界面引擎页面的 JSON 数据。界面引擎页面由 `formData` 对象描述,用户导入 JSON 即可使用。
|
|
54
54
|
|
|
55
|
-
<!-- microi-progressive:begin -->
|
|
56
|
-
<!-- microi-progressive:chunk id=page-engine-000 sha256=44233416e71cc6ff3712347308dadd26e55b14938b81b8a2401478c6bc14921b -->
|
|
55
|
+
<!-- microi-progressive:begin -->
|
|
56
|
+
<!-- microi-progressive:chunk id=page-engine-000 sha256=44233416e71cc6ff3712347308dadd26e55b14938b81b8a2401478c6bc14921b -->
|
|
57
57
|
## 设计器源码事件
|
|
58
58
|
|
|
59
59
|
设计器选中事件只能在 `isDesignMode` 为真时执行 `preventDefault/stopPropagation` 和选中状态写入。运行和预览页面必须保留 HTML 链接、按钮与键盘激活的浏览器默认行为。链接使用实际授权菜单路由,保存后逐一点击验证,不以 JSON 中存在 href 代替跳转验收;回归入口为 `Microi.Client/tests/page-engine-runtime-click.spec.mjs`。
|
|
@@ -65,8 +65,8 @@ MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_pag
|
|
|
65
65
|
组件卸载时逐项调用 `EventBus.off(eventName)`。重复挂载不解绑会造成一次操作
|
|
66
66
|
触发多次;普通页面 JSON 生成不需要注册事件总线。
|
|
67
67
|
|
|
68
|
-
<!-- /microi-progressive:chunk -->
|
|
69
|
-
<!-- microi-progressive:chunk id=page-engine-001 sha256=57717991f9c7de557b524ec36fc9bdd716080b71b682439f1b6662b0b9b2f45c -->
|
|
68
|
+
<!-- /microi-progressive:chunk -->
|
|
69
|
+
<!-- microi-progressive:chunk id=page-engine-001 sha256=57717991f9c7de557b524ec36fc9bdd716080b71b682439f1b6662b0b9b2f45c -->
|
|
70
70
|
## 核心数据结构
|
|
71
71
|
|
|
72
72
|
```
|
|
@@ -84,8 +84,8 @@ formData(页面)
|
|
|
84
84
|
└── widgetParams[] // 组件私有参数
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
<!-- /microi-progressive:chunk -->
|
|
88
|
-
<!-- microi-progressive:chunk id=page-engine-002 sha256=6a1a85b40bcb5f8be694b0aad73a805083acd0d6fcd9cba36278dc9b51d24dcb -->
|
|
87
|
+
<!-- /microi-progressive:chunk -->
|
|
88
|
+
<!-- microi-progressive:chunk id=page-engine-002 sha256=6a1a85b40bcb5f8be694b0aad73a805083acd0d6fcd9cba36278dc9b51d24dcb -->
|
|
89
89
|
## formConfig 页面全局配置
|
|
90
90
|
|
|
91
91
|
```json
|
|
@@ -102,8 +102,8 @@ formData(页面)
|
|
|
102
102
|
}
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
<!-- /microi-progressive:chunk -->
|
|
106
|
-
<!-- microi-progressive:chunk id=page-engine-003 sha256=8afb75b0e4d85ab9f56a7ba018e1cc50f758d3e604683d8c38d5f0a45d53f135 -->
|
|
105
|
+
<!-- /microi-progressive:chunk -->
|
|
106
|
+
<!-- microi-progressive:chunk id=page-engine-003 sha256=8afb75b0e4d85ab9f56a7ba018e1cc50f758d3e604683d8c38d5f0a45d53f135 -->
|
|
107
107
|
## 容器类型
|
|
108
108
|
|
|
109
109
|
| type | label | 说明 |
|
|
@@ -157,8 +157,8 @@ formData(页面)
|
|
|
157
157
|
}
|
|
158
158
|
```
|
|
159
159
|
|
|
160
|
-
<!-- /microi-progressive:chunk -->
|
|
161
|
-
<!-- microi-progressive:chunk id=page-engine-004 sha256=9c7c85bb0d25267d07e45d9abeb5691c2f0ffd9da233351cf2f448a9b848cea5 -->
|
|
160
|
+
<!-- /microi-progressive:chunk -->
|
|
161
|
+
<!-- microi-progressive:chunk id=page-engine-004 sha256=9c7c85bb0d25267d07e45d9abeb5691c2f0ffd9da233351cf2f448a9b848cea5 -->
|
|
162
162
|
## 组件通用结构
|
|
163
163
|
|
|
164
164
|
```json
|
|
@@ -178,8 +178,8 @@ formData(页面)
|
|
|
178
178
|
}
|
|
179
179
|
```
|
|
180
180
|
|
|
181
|
-
<!-- /microi-progressive:chunk -->
|
|
182
|
-
<!-- microi-progressive:chunk id=page-engine-005 sha256=c1e31dede775f14761182fc197cf428d494806c4503a622ffdad3d16d091d3e0 -->
|
|
181
|
+
<!-- /microi-progressive:chunk -->
|
|
182
|
+
<!-- microi-progressive:chunk id=page-engine-005 sha256=c1e31dede775f14761182fc197cf428d494806c4503a622ffdad3d16d091d3e0 -->
|
|
183
183
|
## widgetParams 参数类型
|
|
184
184
|
|
|
185
185
|
| type | 说明 | value 类型 |
|
|
@@ -193,8 +193,8 @@ formData(页面)
|
|
|
193
193
|
| `select` | 下拉选择 | `string` |
|
|
194
194
|
| `radio` | 单选组 | `string` |
|
|
195
195
|
|
|
196
|
-
<!-- /microi-progressive:chunk -->
|
|
197
|
-
<!-- microi-progressive:chunk id=page-engine-006 sha256=2c021e43f4f0d730da1f5a5cf6a2d314589435e2bb9ff573148c787538a8cc86 -->
|
|
196
|
+
<!-- /microi-progressive:chunk -->
|
|
197
|
+
<!-- microi-progressive:chunk id=page-engine-006 sha256=2c021e43f4f0d730da1f5a5cf6a2d314589435e2bb9ff573148c787538a8cc86 -->
|
|
198
198
|
## 数据来源(widgetParams[0])
|
|
199
199
|
|
|
200
200
|
大多数组件的第一个参数(sort=0)是"数据来源":
|
|
@@ -206,8 +206,8 @@ formData(页面)
|
|
|
206
206
|
$ApiBase$/apiengine/{ApiEngineKey}
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
<!-- /microi-progressive:chunk -->
|
|
210
|
-
<!-- microi-progressive:chunk id=page-engine-007 sha256=4170c6e274fc773427057d8606c4800a5bbd5fabd62d63e931aaa388262a51e9 -->
|
|
209
|
+
<!-- /microi-progressive:chunk -->
|
|
210
|
+
<!-- microi-progressive:chunk id=page-engine-007 sha256=4170c6e274fc773427057d8606c4800a5bbd5fabd62d63e931aaa388262a51e9 -->
|
|
211
211
|
## 运行态布局与滚动规范
|
|
212
212
|
|
|
213
213
|
- 页面只保留一个主滚动容器:仪表盘、首页和嵌套界面优先继承最外层页面滚动;单个 `pannel`、`workcenter`、`diytable`、`diycalendar`、嵌套 `pageengine` 在运行态默认使用内容自适应高度和 `overflow: visible`,不得无条件设置 `overflow: auto`。
|
|
@@ -221,11 +221,11 @@ $ApiBase$/apiengine/{ApiEngineKey}
|
|
|
221
221
|
- `aiengine` 在移动端嵌入首页时应使用内容自适应高度和外层页面滚动,指标卡与快捷入口优先两列紧凑排布,避免 4 个指标和全部快捷入口单列堆叠造成超长首屏;输入区和模型/推理设置必须保持可见且不横向溢出。
|
|
222
222
|
- 交付前必须在真实运行页检查:是否存在内部纵向/横向滚动条、15 条表格分页是否可见、同排容器是否对齐、四周边距是否一致、组件底部是否有异常空白。仅检查设计器画布不算验收完成。
|
|
223
223
|
|
|
224
|
-
<!-- /microi-progressive:chunk -->
|
|
225
|
-
## 详细参考路由(渐进披露)
|
|
226
|
-
|
|
227
|
-
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
228
|
-
|
|
229
|
-
- [references/progressive-01-所有组件类型.md](references/progressive-01-所有组件类型.md):所有组件类型;Office/PDF 在线预览自然语言生成规则;searchData 查询条件通用结构
|
|
230
|
-
- [references/progressive-02-版本历史-并发保存与回滚.md](references/progressive-02-版本历史-并发保存与回滚.md):版本历史、并发保存与回滚;本地撤销、Vue 源码桥与资产包;生成 JSON 注意事项;经营看板周期筛选与布局规则
|
|
231
|
-
<!-- microi-progressive:end -->
|
|
224
|
+
<!-- /microi-progressive:chunk -->
|
|
225
|
+
## 详细参考路由(渐进披露)
|
|
226
|
+
|
|
227
|
+
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
228
|
+
|
|
229
|
+
- [references/progressive-01-所有组件类型.md](references/progressive-01-所有组件类型.md):所有组件类型;Office/PDF 在线预览自然语言生成规则;searchData 查询条件通用结构
|
|
230
|
+
- [references/progressive-02-版本历史-并发保存与回滚.md](references/progressive-02-版本历史-并发保存与回滚.md):版本历史、并发保存与回滚;本地撤销、Vue 源码桥与资产包;生成 JSON 注意事项;经营看板周期筛选与布局规则
|
|
231
|
+
<!-- microi-progressive:end -->
|
|
@@ -21,8 +21,8 @@ description: 按 Microi 系统真实业务逻辑进行 Playwright 全自动化
|
|
|
21
21
|
|
|
22
22
|
真实依赖与发布范围沿用 `../workspace-conventions/SKILL.md` 的“平台回归与独立应用测试归属”:常规验证指定 MCP 实际使用的 MySQL、MongoDB、Redis 和 MinIO 或 OSS/HDFS,不要求额外 SQL Server 环境;仅用户明确指定 SQL Server 问题时才做其专项。按 [发布测试矩阵](../microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md#按指定-mcp-选择发布测试矩阵) 记录实际覆盖,保留正常登录、业务闭环与资源收尾,不以连接成功代替真实读写验收。
|
|
23
23
|
|
|
24
|
-
<!-- microi-progressive:begin -->
|
|
25
|
-
<!-- microi-progressive:chunk id=playwright-e2e-000 sha256=f04614f276c139cfa50b9e46e89857675c6dc5e7cf0cfbfde76d6e6dbe9746c9 -->
|
|
24
|
+
<!-- microi-progressive:begin -->
|
|
25
|
+
<!-- microi-progressive:chunk id=playwright-e2e-000 sha256=f04614f276c139cfa50b9e46e89857675c6dc5e7cf0cfbfde76d6e6dbe9746c9 -->
|
|
26
26
|
## 是否需要 `-e2e` 后缀
|
|
27
27
|
|
|
28
28
|
建议保留 `playwright-e2e` 这个 skill 名称。
|
|
@@ -31,8 +31,8 @@ description: 按 Microi 系统真实业务逻辑进行 Playwright 全自动化
|
|
|
31
31
|
- `-e2e` 能让 AI 明确区分它和 `v8-debugging`、`v8-crud-api`、`playwright-ct` 等其他能力。
|
|
32
32
|
- 如果未来要补更细的能力,可以新增 `playwright-api` 或 `visual-regression`,不要把当前 skill 改成泛泛的 `playwright`。
|
|
33
33
|
|
|
34
|
-
<!-- /microi-progressive:chunk -->
|
|
35
|
-
<!-- microi-progressive:chunk id=playwright-e2e-001 sha256=703786ae7a5a52cb39664f1c82de7fb7aa7dfece511046d3757da64918c23063 -->
|
|
34
|
+
<!-- /microi-progressive:chunk -->
|
|
35
|
+
<!-- microi-progressive:chunk id=playwright-e2e-001 sha256=703786ae7a5a52cb39664f1c82de7fb7aa7dfece511046d3757da64918c23063 -->
|
|
36
36
|
## 适用范围
|
|
37
37
|
|
|
38
38
|
- PC 管理端:`Microi.Client`、租户后台、运营后台。
|
|
@@ -43,8 +43,8 @@ description: 按 Microi 系统真实业务逻辑进行 Playwright 全自动化
|
|
|
43
43
|
|
|
44
44
|
不适合把 Playwright 用来替代 V8 单函数调试。单个接口引擎的入参输出优先用 VS Code 插件远程执行、MCP `microi_run_engine` 或后端单元测试。
|
|
45
45
|
|
|
46
|
-
<!-- /microi-progressive:chunk -->
|
|
47
|
-
<!-- microi-progressive:chunk id=playwright-e2e-002 sha256=acef3e589cf11f3c197ee0b0ccf56d96b3f286263d54161b3c260e07c2090ed0 -->
|
|
46
|
+
<!-- /microi-progressive:chunk -->
|
|
47
|
+
<!-- microi-progressive:chunk id=playwright-e2e-002 sha256=acef3e589cf11f3c197ee0b0ccf56d96b3f286263d54161b3c260e07c2090ed0 -->
|
|
48
48
|
## 临时文件与产物放置规则(必须遵守)
|
|
49
49
|
|
|
50
50
|
AI 在工作区内生成的**一次性临时脚本、诊断文件、截图、测试报告**等,**绝对不能放在工作区根目录**,必须放在以下指定位置:
|
|
@@ -64,8 +64,8 @@ AI 在工作区内生成的**一次性临时脚本、诊断文件、截图、测
|
|
|
64
64
|
|
|
65
65
|
**2026-06 强制补充**:AI 手写的一次性 Playwright 验证脚本、运行日志、截图和报告只能写到工作区根目录 `.tmp/`。不要写到 `Microi.Client/`、`Microi.Server/`、`microi.doc/` 或其它子项目目录,即使这些目录已有 `tests/` 目录也不例外。只有 Microi.Agent 插件正式初始化的可复用 E2E 工程,才使用 `.microi-e2e/`。
|
|
66
66
|
|
|
67
|
-
<!-- /microi-progressive:chunk -->
|
|
68
|
-
<!-- microi-progressive:chunk id=playwright-e2e-003 sha256=69b8842a221a0de60f8605c5059deee391be0f16f0b6cbc5ddfb3cfd210268db -->
|
|
67
|
+
<!-- /microi-progressive:chunk -->
|
|
68
|
+
<!-- microi-progressive:chunk id=playwright-e2e-003 sha256=69b8842a221a0de60f8605c5059deee391be0f16f0b6cbc5ddfb3cfd210268db -->
|
|
69
69
|
## 标准目录
|
|
70
70
|
|
|
71
71
|
前端项目中推荐使用 `tests/e2e`,而不是根目录 `e2e`,这样能和单元测试、组件测试并列。
|
|
@@ -85,8 +85,8 @@ AI 在工作区内生成的**一次性临时脚本、诊断文件、截图、测
|
|
|
85
85
|
report/
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
<!-- /microi-progressive:chunk -->
|
|
89
|
-
<!-- microi-progressive:chunk id=playwright-e2e-004 sha256=4f5e11baf4651c11b5f9819a0b4f33ce2590db1733d4db72814bd1a25daf56ff -->
|
|
88
|
+
<!-- /microi-progressive:chunk -->
|
|
89
|
+
<!-- microi-progressive:chunk id=playwright-e2e-004 sha256=4f5e11baf4651c11b5f9819a0b4f33ce2590db1733d4db72814bd1a25daf56ff -->
|
|
90
90
|
## 必备环境变量
|
|
91
91
|
|
|
92
92
|
```bash
|
|
@@ -107,8 +107,8 @@ PW_TEST_PASSWORD=<从本地配置读取或用环境变量覆盖>
|
|
|
107
107
|
PW_HOME_PATH=/#/pages/index/index
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
<!-- /microi-progressive:chunk -->
|
|
111
|
-
<!-- microi-progressive:chunk id=playwright-e2e-005 sha256=51567cea5fca434f9b031fef0871454100cf4715dfb65695dc1722bd275399be -->
|
|
110
|
+
<!-- /microi-progressive:chunk -->
|
|
111
|
+
<!-- microi-progressive:chunk id=playwright-e2e-005 sha256=51567cea5fca434f9b031fef0871454100cf4715dfb65695dc1722bd275399be -->
|
|
112
112
|
## 本地测试账号自动发现
|
|
113
113
|
|
|
114
114
|
当没有显式传入 `PW_TEST_ACCOUNT` / `PW_TEST_PASSWORD` / `MICROI_OSCLIENT` 时,AI 不要把账号密码写入后端配置来制造旁路:
|
|
@@ -132,8 +132,8 @@ PW_HOME_PATH=/#/pages/index/index
|
|
|
132
132
|
5. 人工第二租户至少使用无痕窗口;多个无痕窗口可能共享同一临时会话,更多并行目标使用独立
|
|
133
133
|
Profile/`--user-data-dir`。自动化收尾只关闭自己创建的 context/browser。
|
|
134
134
|
|
|
135
|
-
<!-- /microi-progressive:chunk -->
|
|
136
|
-
<!-- microi-progressive:chunk id=playwright-e2e-006 sha256=88e1002cae934acd2de5af2f77f371a9ea152a525eecf11b49fe182b16a56044 -->
|
|
135
|
+
<!-- /microi-progressive:chunk -->
|
|
136
|
+
<!-- microi-progressive:chunk id=playwright-e2e-006 sha256=88e1002cae934acd2de5af2f77f371a9ea152a525eecf11b49fe182b16a56044 -->
|
|
137
137
|
## 后端改动后的 E2E 前置动作
|
|
138
138
|
|
|
139
139
|
如果本轮任务修改过 `Microi.Server/**` 后端源码、配置、控制器、服务、依赖项目或接口行为,跑 Playwright、页面截图、接口验收或前后端联调前,必须先按 `workspace-conventions` 的“后端代码改动后的重启验收”完成:
|
|
@@ -145,8 +145,8 @@ PW_HOME_PATH=/#/pages/index/index
|
|
|
145
145
|
|
|
146
146
|
不要只说“代码已编译”或“需要用户自己重启后端”;除非用户明确要求不要中断当前服务,否则 AI 要主动完成重启。
|
|
147
147
|
|
|
148
|
-
<!-- /microi-progressive:chunk -->
|
|
149
|
-
<!-- microi-progressive:chunk id=playwright-e2e-007 sha256=948194cce3a29cfec216546acab77314ccaa1c0afad3cbcfd6b426a94f36d4ac -->
|
|
148
|
+
<!-- /microi-progressive:chunk -->
|
|
149
|
+
<!-- microi-progressive:chunk id=playwright-e2e-007 sha256=948194cce3a29cfec216546acab77314ccaa1c0afad3cbcfd6b426a94f36d4ac -->
|
|
150
150
|
## 服务自启动纪律(必做)
|
|
151
151
|
|
|
152
152
|
执行自动化测试、截图巡检、接口引擎回读、`/apiengine/{key}` 验收时,如果本地后端或前端不可达,不能把 `fetch failed`、`ECONNREFUSED`、`000 Failed to connect`、端口无人监听当作任务终点。必须先自动启动所需服务,再继续完整验证。
|
|
@@ -188,17 +188,17 @@ uni-app H5 或移动端前端按项目自身命令启动,例如 `npm run dev:h
|
|
|
188
188
|
|
|
189
189
|
执行顺序:先检查端口/健康接口是否可达;不可达则用后台终端启动;等待服务输出监听地址;再重试接口同步、页面打开、Playwright 截图和断言。只有启动命令失败、缺少依赖、数据库连接失败、端口冲突无法自动换端口且无替代配置时,才算真正阻塞,并且要报告具体失败命令和错误。
|
|
190
190
|
|
|
191
|
-
<!-- /microi-progressive:chunk -->
|
|
192
|
-
## 详细参考路由(渐进披露)
|
|
193
|
-
|
|
194
|
-
### 菜单微服务生命周期验收(强制)
|
|
195
|
-
|
|
196
|
-
菜单型 MicroService 使用 `runtime-keep-alive` 单一缓存所有者。E2E 必须覆盖至少 3 条子路由连续切换 8 轮,确认返回后状态仍在、页面无永久骨架屏或空白;继续打开第 6 个实例,确认 LRU 只淘汰最久未使用的隐藏实例。还要观察 `appstate-change`:`afterhidden` 后后台任务应暂停,`aftershow` 后应幂等恢复;关闭 Tab、关闭其它/全部以及退出登录后,对应运行时必须被销毁。
|
|
197
|
-
|
|
198
|
-
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
199
|
-
|
|
200
|
-
- [references/progressive-01-全自动登录-免验证码-但不免密码-必读.md](references/progressive-01-全自动登录-免验证码-但不免密码-必读.md):全自动登录(免验证码,但不免密码)——必读;表单引擎卡死/递归更新全自动化诊断;移动端视觉与资源验收;测试证据必须绑定需求编号;移动端/H5 回归纪律
|
|
201
|
-
- [references/progressive-02-文字对比度与可读性自动化检查-必做.md](references/progressive-02-文字对比度与可读性自动化检查-必做.md):文字对比度与可读性自动化检查(必做);安装;playwright.config.js 模板
|
|
202
|
-
- [references/progressive-03-microi-helper-模板.md](references/progressive-03-microi-helper-模板.md):Microi helper 模板;典型用例;Microi 专属测试策略;最少冒烟集;完整业务验收门槛;与 MCP 的配合;与 VS Code 插件的配合
|
|
203
|
-
- [references/progressive-04-ci-建议.md](references/progressive-04-ci-建议.md):CI 建议;常见问题;前端微服务 E2E 必测点;动态模块按钮验收
|
|
204
|
-
<!-- microi-progressive:end -->
|
|
191
|
+
<!-- /microi-progressive:chunk -->
|
|
192
|
+
## 详细参考路由(渐进披露)
|
|
193
|
+
|
|
194
|
+
### 菜单微服务生命周期验收(强制)
|
|
195
|
+
|
|
196
|
+
菜单型 MicroService 使用 `runtime-keep-alive` 单一缓存所有者。E2E 必须覆盖至少 3 条子路由连续切换 8 轮,确认返回后状态仍在、页面无永久骨架屏或空白;继续打开第 6 个实例,确认 LRU 只淘汰最久未使用的隐藏实例。还要观察 `appstate-change`:`afterhidden` 后后台任务应暂停,`aftershow` 后应幂等恢复;关闭 Tab、关闭其它/全部以及退出登录后,对应运行时必须被销毁。
|
|
197
|
+
|
|
198
|
+
仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
|
|
199
|
+
|
|
200
|
+
- [references/progressive-01-全自动登录-免验证码-但不免密码-必读.md](references/progressive-01-全自动登录-免验证码-但不免密码-必读.md):全自动登录(免验证码,但不免密码)——必读;表单引擎卡死/递归更新全自动化诊断;移动端视觉与资源验收;测试证据必须绑定需求编号;移动端/H5 回归纪律
|
|
201
|
+
- [references/progressive-02-文字对比度与可读性自动化检查-必做.md](references/progressive-02-文字对比度与可读性自动化检查-必做.md):文字对比度与可读性自动化检查(必做);安装;playwright.config.js 模板
|
|
202
|
+
- [references/progressive-03-microi-helper-模板.md](references/progressive-03-microi-helper-模板.md):Microi helper 模板;典型用例;Microi 专属测试策略;最少冒烟集;完整业务验收门槛;与 MCP 的配合;与 VS Code 插件的配合
|
|
203
|
+
- [references/progressive-04-ci-建议.md](references/progressive-04-ci-建议.md):CI 建议;常见问题;前端微服务 E2E 必测点;动态模块按钮验收
|
|
204
|
+
<!-- microi-progressive:end -->
|