@microi.net/cli 4.9.5 → 4.9.7

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.
Files changed (133) hide show
  1. package/.codebuddy-plugin/marketplace.json +2 -2
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/.workbuddy-plugin/marketplace.json +2 -2
  5. package/.workbuddy-plugin/plugin.json +1 -1
  6. package/README.md +7 -12
  7. package/assets/build-meta.json +6 -5
  8. package/package.json +1 -1
  9. package/scripts/mcp-server.js +83 -83
  10. package/scripts/microi-cli.js +80 -92
  11. package/scripts/microi-codex-broker.js +418 -0
  12. package/scripts/microi-codex-router.js +159 -65
  13. package/scripts/microi-skills.meta.json +349 -190
  14. package/skills/.microi-skills-version.json +2 -2
  15. package/skills/.progressive-disclosure-manifest.json +3566 -0
  16. package/skills/ai-engine/SKILL.md +1 -1
  17. package/skills/ai-platform-governance/SKILL.md +22 -167
  18. package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -0
  19. package/skills/app-store/SKILL.md +1 -1
  20. package/skills/business-blueprint/SKILL.md +1 -1
  21. package/skills/datasource-engine/SKILL.md +1 -1
  22. package/skills/dos-orm/SKILL.md +1 -1
  23. package/skills/job-engine/SKILL.md +1 -1
  24. package/skills/message-notification/SKILL.md +1 -1
  25. package/skills/microi-ai-application/SKILL.md +1 -1
  26. package/skills/microi-client-frontend/SKILL.md +18 -435
  27. package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +144 -0
  28. package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +178 -0
  29. package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +144 -0
  30. package/skills/microi-codex/SKILL.md +4 -4
  31. package/skills/microi-codex-installer/SKILL.md +25 -36
  32. package/skills/microi-datasource-mapping/SKILL.md +1 -1
  33. package/skills/microi-db-schema/SKILL.md +4 -4
  34. package/skills/microi-db-schema/references/schema-overview.md +1 -1
  35. package/skills/microi-db-schema/references/schema.md +1 -1
  36. package/skills/microi-db-schema/references/table-catalog.md +1 -1
  37. package/skills/microi-deployment/SKILL.md +1 -1
  38. package/skills/microi-docs-coverage/SKILL.md +1 -1
  39. package/skills/microi-form-engine/SKILL.md +2 -2
  40. package/skills/microi-form-layout/SKILL.md +20 -226
  41. package/skills/microi-form-layout/references/progressive-01-3-/344/270/211/347/247/215/345/210/206/347/273/204/347/232/204/345/255/230/345/202/250/344/270/216/351/205/215/347/275/256.md +235 -0
  42. package/skills/microi-frontend-sdk/SKILL.md +18 -152
  43. package/skills/microi-frontend-sdk/references/progressive-01-token-/345/275/223/345/211/215/347/231/273/345/275/225/347/224/250/346/210/267/344/270/216/345/275/223/345/211/215/347/273/210/347/253/257/347/231/273/345/275/225/345/215/217/350/256/256.md +171 -0
  44. package/skills/microi-left-right-layout/SKILL.md +1 -1
  45. package/skills/microi-microservice/SKILL.md +8 -1
  46. package/skills/microi-microservice/references/runtime-delivery.md +4 -0
  47. package/skills/microi-mobile-app-quality/SKILL.md +23 -289
  48. package/skills/microi-mobile-app-quality/references/progressive-01-4-/351/207/215/350/246/201/346/214/211/351/222/256/345/277/205/351/241/273/345/270/246/345/233/276/346/240/207.md +209 -0
  49. package/skills/microi-mobile-app-quality/references/progressive-02-9-/344/270/273/351/242/230/345/210/207/346/215/242/345/277/205/351/241/273/347/234/237/345/256/236/344/270/224/345/205/250/345/261/200/347/224/237/346/225/210.md +117 -0
  50. package/skills/microi-solution-quotation/SKILL.md +1 -1
  51. package/skills/microi-system-delivery/SKILL.md +17 -381
  52. package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +186 -0
  53. package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +210 -0
  54. package/skills/microi-ui/SKILL.md +20 -170
  55. package/skills/microi-ui/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/234/272/346/231/257/350/223/235/345/233/276.md +183 -0
  56. package/skills/microi-uniapp-frontend/SKILL.md +27 -336
  57. package/skills/microi-uniapp-frontend/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/210/206/347/261/273-/345/217/214/346/240/217/345/210/227/350/241/250/347/213/254/347/253/213/346/273/232/345/212/250.md +225 -0
  58. package/skills/microi-uniapp-frontend/references/progressive-02-/345/205/263/351/224/256/344/270/232/345/212/241/350/265/204/344/272/247/344/270/215/345/276/227/351/273/230/350/256/244/351/200/211/344/270/255.md +154 -0
  59. package/skills/module-engine/SKILL.md +1 -1
  60. package/skills/ocr-engine/SKILL.md +1 -1
  61. package/skills/page-engine/SKILL.md +24 -272
  62. package/skills/page-engine/references/progressive-01-/346/211/200/346/234/211/347/273/204/344/273/266/347/261/273/345/236/213.md +234 -0
  63. package/skills/page-engine/references/progressive-02-/347/211/210/346/234/254/345/216/206/345/217/262-/345/271/266/345/217/221/344/277/235/345/255/230/344/270/216/345/233/236/346/273/232.md +60 -0
  64. package/skills/performance-testing/SKILL.md +1 -1
  65. package/skills/playwright-e2e/SKILL.md +25 -591
  66. package/skills/playwright-e2e/references/progressive-01-/345/205/250/350/207/252/345/212/250/347/231/273/345/275/225-/345/205/215/351/252/214/350/257/201/347/240/201-/344/275/206/344/270/215/345/205/215/345/257/206/347/240/201-/345/277/205/350/257/273.md +173 -0
  67. package/skills/playwright-e2e/references/progressive-02-/346/226/207/345/255/227/345/257/271/346/257/224/345/272/246/344/270/216/345/217/257/350/257/273/346/200/247/350/207/252/345/212/250/345/214/226/346/243/200/346/237/245-/345/277/205/345/201/232.md +183 -0
  68. package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -0
  69. package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +69 -0
  70. package/skills/print-engine/SKILL.md +1 -1
  71. package/skills/production-readonly-audit/SKILL.md +1 -1
  72. package/skills/report-engine/SKILL.md +1 -1
  73. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -0
  74. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -0
  75. package/skills/scripts/validate-progressive-disclosure.mjs +52 -0
  76. package/skills/search-engine/SKILL.md +1 -1
  77. package/skills/spider-engine/SKILL.md +1 -1
  78. package/skills/translate-engine/SKILL.md +1 -1
  79. package/skills/ui-design/SKILL.md +27 -1462
  80. package/skills/ui-design/references/progressive-01-/351/242/234/350/211/262/344/275/223/347/263/273-css-variables-/346/224/257/346/214/201/344/270/273/351/242/230/345/210/207/346/215/242.md +218 -0
  81. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +155 -0
  82. package/skills/ui-design/references/progressive-03-/345/212/250/346/225/210/350/247/204/350/214/203-/344/270/260/345/257/214/344/275/206/344/270/215/345/215/241.md +235 -0
  83. package/skills/ui-design/references/progressive-04-/347/273/204/344/273/266/351/243/216/346/240/274/351/200/237/346/237/245.md +152 -0
  84. package/skills/ui-design/references/progressive-05-/347/247/273/345/212/250/347/253/257/344/270/223/347/224/250/350/247/204/350/214/203.md +238 -0
  85. package/skills/ui-design/references/progressive-06-/344/270/273/351/242/230/345/210/207/346/215/242/345/256/236/347/216/260.md +194 -0
  86. package/skills/ui-design/references/progressive-07-/351/200/237/346/237/245-/344/273/216/345/244/264/346/220/255/345/273/272/344/270/200/344/270/252/347/247/273/345/212/250/347/253/257/351/241/265/351/235/242.md +207 -0
  87. package/skills/ui-design/references/progressive-08-/350/241/250/345/215/225/345/210/206/347/273/204/350/247/204/350/214/203-tabs-vs-collapsegroup-/345/274/272/345/210/266.md +142 -0
  88. package/skills/uniapp-mall-assets/SKILL.md +1 -1
  89. package/skills/unity-integration/SKILL.md +1 -1
  90. package/skills/v8-api-config/SKILL.md +1 -1
  91. package/skills/v8-cache-pattern/SKILL.md +1 -1
  92. package/skills/v8-crud-api/SKILL.md +21 -246
  93. package/skills/v8-crud-api/references/progressive-01-/346/237/245/350/257/242/345/210/227/350/241/250-/345/210/206/351/241/265.md +226 -0
  94. package/skills/v8-crud-api/references/progressive-02-where-/346/235/241/344/273/266/350/257/255/346/263/225/351/200/237/346/237/245.md +49 -0
  95. package/skills/v8-debugging/SKILL.md +1 -1
  96. package/skills/v8-explorer-tree/SKILL.md +1 -1
  97. package/skills/v8-export-import/SKILL.md +16 -426
  98. package/skills/v8-export-import/references/progressive-01-excellayout-/351/253/230/347/272/247/350/207/252/347/224/261/345/270/203/345/261/200.md +211 -0
  99. package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -0
  100. package/skills/v8-export-import/references/progressive-03-/345/256/211/345/205/250-/346/200/247/350/203/275/346/263/250/346/204/217.md +42 -0
  101. package/skills/v8-file-upload/SKILL.md +17 -355
  102. package/skills/v8-file-upload/references/progressive-01-/345/205/254/346/234/211/346/241/266-vs-/347/247/201/346/234/211/346/241/266.md +227 -0
  103. package/skills/v8-file-upload/references/progressive-02-office-/346/226/207/344/273/266/345/234/250/347/272/277/347/274/226/350/276/221/347/211/210/346/234/254/345/217/267/350/247/204/345/210/231.md +149 -0
  104. package/skills/v8-formengine-http/SKILL.md +1 -1
  105. package/skills/v8-frontend-events/SKILL.md +20 -206
  106. package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -0
  107. package/skills/v8-http-integration/SKILL.md +15 -237
  108. package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -0
  109. package/skills/v8-http-integration/references/progressive-02-/351/224/231/350/257/257/345/244/204/347/220/206/346/250/241/345/274/217.md +44 -0
  110. package/skills/v8-image-processing/SKILL.md +1 -1
  111. package/skills/v8-menu-buttons/SKILL.md +16 -512
  112. package/skills/v8-menu-buttons/references/progressive-01-2-/346/214/211/351/222/256/345/257/271/350/261/241-schema.md +221 -0
  113. package/skills/v8-menu-buttons/references/progressive-02-8-/346/250/241/345/274/217-f-/345/220/216/345/217/260/344/273/273/345/212/241/346/214/211/351/222/256-/351/225/277/344/273/273/345/212/241.md +224 -0
  114. package/skills/v8-menu-buttons/references/progressive-03-10-/345/217/215/346/250/241/345/274/217-/351/201/277/345/205/215.md +104 -0
  115. package/skills/v8-mongodb/SKILL.md +1 -1
  116. package/skills/v8-mq-mqtt/SKILL.md +12 -176
  117. package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -0
  118. package/skills/v8-saas-multi-tenant/SKILL.md +1 -1
  119. package/skills/v8-security/SKILL.md +17 -330
  120. package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +199 -0
  121. package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +158 -0
  122. package/skills/v8-sql-query/SKILL.md +1 -1
  123. package/skills/v8-table-event/SKILL.md +17 -237
  124. package/skills/v8-table-event/references/progressive-01-informv8-js-/350/241/250/345/215/225/346/211/223/345/274/200/344/272/213/344/273/266.md +216 -0
  125. package/skills/v8-table-event/references/progressive-02-/345/211/215/347/253/257/344/272/213/344/273/266/345/220/215-v8-eventname-/345/217/257/350/203/275/347/232/204/345/200/274.md +46 -0
  126. package/skills/v8-template-engine/SKILL.md +1 -1
  127. package/skills/v8-utilities/SKILL.md +1 -1
  128. package/skills/v8-workflow/SKILL.md +20 -161
  129. package/skills/v8-workflow/references/progressive-01-/350/212/202/347/202/271/345/274/200/345/247/213-v8-/344/272/213/344/273/266.md +180 -0
  130. package/skills/workspace-conventions/SKILL.md +36 -369
  131. package/skills/workspace-conventions/references/progressive-01-/347/211/210/346/234/254/346/233/264/346/226/260/346/227/245/345/277/227/344/277/235/346/212/244/350/247/204/345/210/231-/345/274/272/345/210/266.md +208 -0
  132. package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +196 -0
  133. package/skills/workspace-conventions/references/progressive-03-cli-/344/270/216-ide-/346/217/222/344/273/266/351/224/231/347/211/210/345/205/261/345/255/230/347/272/246/345/256/232.md +27 -0
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: microi-codex-installer
3
- description: 当用户在 Codex、WorkBuddy、CodeBuddy、Qoder、Comate、Trae、Cursor、Claude Code 或其它 AI 编程软件中说“安装 @microi.net/cli”“初始化 Microi吾码插件”“添加吾码服务器/MCP”“拉取某连接的所有 V8 代码”,或要求安装、升级、启用、诊断吾码 AI 插件时使用。用户明确要求安装或初始化即视为对应操作授权;普通 Microi 对话只做只读检测,禁止静默安装或改写全局配置。
3
+ description: 当用户在 Codex、WorkBuddy、CodeBuddy、Qoder、Comate、Trae、Cursor、Claude Code 或其它 AI 编程软件中说“安装 @microi.net/cli”“初始化 Microi吾码插件”“添加吾码服务器/MCP”“拉取某连接的所有 V8 代码”,或要求安装、自动升级、启用、诊断吾码 AI 插件时使用。吾码 CLI、Codex 插件及既有工作区 AI/MCP 默认后台自动更新;失败只延后和提示,不得阻断任何工作。
4
4
  ---
5
5
 
6
6
  # Microi吾码 AI 插件与 CLI 安装
@@ -9,17 +9,17 @@ description: 当用户在 Codex、WorkBuddy、CodeBuddy、Qoder、Comate、Trae
9
9
 
10
10
  只要本技能已经由 Microi.VSCode、工作区 `microi.skills` 或已安装插件提供,用户说“帮我初始化 Microi吾码插件”时就必须识别该意图,用户不需要再次说出 npm 包名。全新 Codex 与空目录尚未加载任何吾码 Skill 时,用户只需在首次请求中明确 `@microi.net/cli`,例如“通过 `@microi.net/cli` 安装吾码 Codex 插件”;具备终端与网络权限的 AI 必须直接执行本技能中的确定性安装命令。安装完成后,更短的“初始化吾码”“添加服务器/MCP”“拉取全部 V8”均由插件 Skill 自动识别。
11
11
 
12
- ## Codex 每任务最新版硬门禁(强制)
12
+ ## 非阻塞自动更新(强制)
13
13
 
14
- 只要当前 AI 宿主是 Codex,且当前对话能够读取任意 Microi吾码 Skill,每个新建或已有对话首次处理 Microi 任务时都必须先执行本节一次。门禁必须发生在业务分析、MCP 调用、源码修改、构建、测试或发布之前;同一任务内已经用在线结果通过后不重复执行。
14
+ 只要当前宿主已装有 Microi VS Code 扩展、`@microi.net/cli` Codex 插件,就应由宿主/CLI 在后台投递自动更新。更新检查与业务工作并行,绝不能成为分析、MCP 调用、源码修改、构建、测试、发布或新任务的前置门禁。
15
15
 
16
- 先从 npm 官方 registry 强制在线读取唯一可信的最新版:
16
+ 自动更新只从 npm 官方 registry 读取 CLI 最新版:
17
17
 
18
18
  ```bash
19
19
  npm view '@microi.net/cli' version --json --prefer-online --registry=https://registry.npmjs.org/
20
20
  ```
21
21
 
22
- 随后核对本机与工作区状态:
22
+ CLI、Codex 插件与工作区状态仍可用以下命令只读核对,但核对未完成不妨碍用户继续工作:
23
23
 
24
24
  ```bash
25
25
  microi version --json
@@ -27,40 +27,29 @@ microi codex status --json
27
27
  microi doctor --workspace "<工作区绝对路径>" --json
28
28
  ```
29
29
 
30
- 旧版 CLI 尚不支持 `microi version --json` 时,使用 `npm list --global '@microi.net/cli' --depth=0 --json` 读取全局安装版本;不能把命令不存在解释为“已经最新”。`microi codex status --json` 的 `expectedVersion` 来自当前 CLI 自己携带的快照,只能检查本地一致性,不能代替前面的 npm 在线查询。
30
+ 旧版 CLI 尚不支持 `microi version --json` 时,可使用 `npm list --global '@microi.net/cli' --depth=0 --json` 读取全局安装版本。`microi codex status --json` 的 `expectedVersion` 来自当前 CLI 自带快照,只检查本地一致性,不能代替 npm 在线查询。
31
31
 
32
- 只有以下条件全部满足才允许继续 Microi 任务:
33
-
34
- - npm 官方最新版、当前全局 CLI 版本、Codex 插件 `plugin.version` 与 `plugin.expectedVersion` 完全一致;
35
- - `microi@microi-net` 已安装并启用,且不存在仍在生效的 `microi-official` 旧入口;
36
- - `doctor.coexistence.aiBundleVersion` 不低于当前 CLI,所有 Microi MCP provider 都不是 `legacy` 或 `upgrade-available`;
37
- - 当前工作区 AI 配置由最新版 CLI 重新初始化过,MCP 配置已在同一流程更新。
38
-
39
- 任何一项不满足时,先一次性向用户说明即将执行的全局变更并取得授权。用户当前请求已经明确包含“安装、升级、更新、初始化吾码 CLI/Codex 插件/AI 配置”时,该请求本身就是授权,不重复询问。获得授权后必须连续执行完整闭环:
32
+ 标准入口是非阻塞投递命令:
40
33
 
41
34
  ```bash
42
- npm install --global @microi.net/cli@latest
43
- microi codex install --yes
44
- microi ai init --workspace "<工作区绝对路径>" --json
45
- microi doctor --workspace "<工作区绝对路径>" --json
46
- microi codex status --json
35
+ microi update --background --workspace "<工作区绝对路径>" --json
47
36
  ```
48
37
 
49
- `microi ai init` 默认同时更新工作区 Skills、AI 指令、typings 与全部受支持宿主的 MCP 配置;本流程禁止传 `--no-mcp`。即使只更新了 CLI Codex 插件,也必须重新执行该命令,不能沿用旧工作区生成物。若 Codex 插件被安装或升级,必须新建 Codex 任务或重载 Codex;重载后的任务再次通过本门禁后才可继续,当前旧任务不得声称已热加载新版 Skills/MCP。
38
+ 后台进程会依次检查/安装全局 CLI、幂等更新 Codex 插件、执行 `microi ai init`、`microi doctor` `microi codex status`。`codex install --yes` `--yes` 只保留给旧脚本兼容,不再表示必须先取得用户授权。VS Code 扩展同时使用官方扩展宿主的 `workbench.extensions.installExtension` / 自动更新机制;当前 Extension Host 不强制重载。
50
39
 
51
- npm 官方 registry 无法访问、版本无法解析、用户拒绝授权、安装失败或尚未完成重载时,必须失败关闭:明确报告尚未证明为最新版,不继续 Microi 远端写入、源码实现、构建或发布。禁止改用第三方 registry、离线缓存或旧 CLI 冒充最新版。
40
+ 当前运行中的扩展、CLI、Codex Router 与 MCP 必须继续使用已加载版本,禁止为了升级终止进程、强制重载窗口、结束对话或拒绝新任务。新版本写入版本隔离目录,只在后续新进程或宿主自然重启时接管。npm registry 不可用、版本无法解析、权限不足、文件被占用或安装失败时,写入 `~/.microi/updater/status.json` 并延后重试;可非模态提示“立即重试/查看日志”,但无论用户是否处理,当前、正在进行和新建工作都必须继续。禁止改用第三方 registry 或不明镜像冒充最新版。
52
41
 
53
42
  ## 自然语言入口规则
54
43
 
55
44
  - 任一 AI 宿主开始处理 Microi吾码低代码、V8、MCP、表单/模块/流程、微应用或平台源码任务时,先判断当前任务是否已经提供 `microi` 的 Skills/MCP/CLI 能力。
56
- - 能力不明确时立即做只读检测,不得等到缺少工具或上下文后才检查。
57
- - 用户明确说“安装 `@microi.net/cli`”“初始化 Microi吾码插件”“添加服务器/MCP”或“拉取某连接全部 V8”时,该请求本身就是对应操作授权;立即执行本技能中的确定性命令,不再重复询问同一授权。
58
- - 用户只是在进行普通 Microi 业务对话、尚未要求安装或升级时,发现 CLI、Codex 插件、AI bundle 或 MCP 不是最新版,必须立即说明完整升级闭环会修改哪些全局/工作区配置,并请求一次明确同意。未获同意不得安装、下载或改写配置。
59
- - 用户拒绝或暂不升级时,不得反复提示,但最新版门禁保持未通过;只可回答安装说明或进行不依赖吾码运行能力的只读解释,不得继续 Microi 写入、实现、构建或发布任务。
45
+ - 能力不明确时可立即做只读检测或后台投递 `microi update`,但不得等待检测/更新完成才开始用户工作。
46
+ - 用户明确说“安装 `@microi.net/cli`”“初始化 Microi吾码插件”“添加服务器/MCP”或“拉取某连接全部 V8”时,直接执行确定性命令,不再询问“是否允许升级”。连接地址、帐号、密码以及远端业务写入仍遵守各自原有确认边界。
47
+ - 普通 Microi 对话发现 CLI、Codex 插件、AI bundle 或 MCP 不是最新版时,自动更新并继续任务;如自动更新做不到,只给出不阻塞的重试提示,不得把升级选择变成继续工作的条件。
48
+ - 用户关闭自动更新、忽略提示或暂不重载时,当前版本能力照常可用。只在任务确实依赖一个旧版本不存在的具体能力时,准确说明该能力边界并提供降级方案,不能用笼统“版本未通过”拒绝整个任务。
60
49
 
61
50
  ## 检测
62
51
 
63
- 先完成上一节的 npm 官方在线版本查询,再使用已经安装的 CLI 检查本地状态:
52
+ 需要诊断更新状态时,使用已经安装的 CLI 检查;这些命令是可观测性工具,不是业务门禁:
64
53
 
65
54
  ```bash
66
55
  microi version --json
@@ -75,7 +64,7 @@ codex plugin marketplace list
75
64
  codex plugin list
76
65
  ```
77
66
 
78
- 成功状态必须同时满足:
67
+ 理想状态同时满足:
79
68
 
80
69
  - 全局 CLI、npm 官方最新版与 Codex 插件版本一致;
81
70
  - marketplace 为 `microi-net`;
@@ -86,16 +75,16 @@ codex plugin list
86
75
 
87
76
  `microi-official` 和 `microi@microi-official` 仅是旧标识,不得写入新文档或新配置;安装器会在新版安装成功后迁移并清理旧标识。
88
77
 
89
- ## 获得授权后安装
78
+ ## 自动安装与手动恢复
90
79
 
91
- 安装或升级统一先把全局 CLI 更新到 npm 官方最新版:
80
+ 正常情况由 `microi update --background` 自动完成。需要人工立即恢复时,可直接把全局 CLI 更新到 npm 官方最新版:
92
81
 
93
82
  ```bash
94
83
  npm install --global @microi.net/cli@latest
95
84
  microi codex install --yes
96
85
  ```
97
86
 
98
- 只有在全局安装受宿主限制且用户明确选择不安装全局命令时,才可使用下面的临时执行方式;它不能证明一个既有旧版全局 CLI 已被升级:
87
+ 全局安装受宿主限制时可使用下面的临时执行方式;它不能证明一个既有旧版全局 CLI 已被升级:
99
88
 
100
89
  ```bash
101
90
  npx --yes @microi.net/cli@latest codex install --yes
@@ -103,19 +92,19 @@ npx --yes @microi.net/cli@latest codex install --yes
103
92
 
104
93
  这条命令把 npm 仅作为下载通道:安装器会将包内完整 Codex Plugin 安全复制到当前用户的 `${CODEX_HOME:-~/.codex}/microi-net-marketplace/plugins/microi`,生成 Codex 官方支持的本地 marketplace,注册 `microi-net`,再安装并启用 `microi@microi-net`。完成并重载后,Codex 的“插件”页面必须显示 **Microi吾码**,来源为 **microi-net**。禁止重新写入 Codex 不支持的 `source: npm` marketplace 条目。
105
94
 
106
- 在全新 Codex 的空目录中,以下自然语言属于明确安装授权,必须等价执行上述命令,不得仅生成项目 Skill 后就声称 Codex Plugin 已安装:
95
+ 在全新 Codex 的空目录中,以下自然语言必须等价执行上述命令,不得仅生成项目 Skill 后就声称 Codex Plugin 已安装:
107
96
 
108
97
  ```text
109
98
  通过 @microi.net/cli@latest 安装吾码 Codex 插件。
110
99
  ```
111
100
 
112
- `--yes` 只表示当前用户已经授权这次全局修改,不得由 AI 在普通 Microi 对话中自行补上。只有版本不一致且普通安装不能升级、并确认目标 npm 包已经公开可读时,才使用:
101
+ `--yes` 仅兼容旧版无人值守脚本,安装器不再把它当作工作授权。只有版本不一致且普通安装不能升级、并确认目标 npm 包已经公开可读时,才使用:
113
102
 
114
103
  ```bash
115
104
  microi codex install --yes --force
116
105
  ```
117
106
 
118
- CLI 或 Codex 插件安装/升级完成后,必须立即重新初始化当前工作区 AI 配置并更新 MCP,然后双重验收:
107
+ CLI 或 Codex 插件安装/升级完成后,后台幂等重新初始化当前工作区 AI 配置并更新 MCP,然后双重验收:
119
108
 
120
109
  ```bash
121
110
  microi ai init --workspace "<工作区绝对路径>" --json
@@ -123,7 +112,7 @@ microi doctor --workspace "<工作区绝对路径>" --json
123
112
  microi codex status --json
124
113
  ```
125
114
 
126
- 不得用单独的 `microi mcp init` 代替完整 AI 重新初始化;`ai init` 已默认包含 MCP 更新。只有诊断表明 MCP 仍有明确残留问题时,才追加 `microi mcp init` 做定向恢复。
115
+ 不得用单独的 `microi mcp init` 代替完整 AI 重新初始化;`ai init` 已默认包含 MCP 更新。只有诊断表明 MCP 仍有明确残留问题时,才追加 `microi mcp init` 做定向恢复。初始化写入采用幂等/原子方式,不终止已启动的 MCP;当前进程继续旧版本,新进程读取新版本。
127
116
 
128
117
  开发者从可信本地源码验收时,可以显式指定 marketplace 源:
129
118
 
@@ -164,7 +153,7 @@ microi init --workspace <工作区> --pull
164
153
  microi doctor --workspace <工作区> --json
165
154
  ```
166
155
 
167
- 当前宿主不会热加载新 Skills/MCP 时,新建任务、重载 Skills/MCP 或重启宿主后再验收。
156
+ 当前宿主不会热加载新 Skills/MCP 时,不要求用户立即重载;当前工作继续,用户自然新建任务、重载 Skills/MCP 或重启宿主后再验收新版能力。
168
157
 
169
158
  ## 按服务器连接拉取全部 V8
170
159
 
@@ -200,6 +189,6 @@ CodeBuddy CLI 可把该 `packageRoot` 作为本地 marketplace 添加,再安
200
189
  microi codex status --json
201
190
  ```
202
191
 
203
- 只有返回 `ok: true` 且选择器、状态和版本全部正确,才报告安装完成;必要时再用 `codex plugin list` 核对路径。随后明确提示用户新建 Codex 任务或重载 Codex;当前已经打开的任务通常不会热加载新增 Skills/MCP,桌面端插件页面也可能需要重载后刷新。
192
+ 返回 `ok: true` 且选择器、状态和版本全部正确时可报告安装完成;必要时再用 `codex plugin list` 核对路径。若宿主尚未热加载,只说明“新版将在下一次自然启动时生效”,不得要求用户立即新建任务或重载才能继续当前工作。
204
193
 
205
194
  若 npm 返回 `E404`,说明 `@microi.net/cli` 的目标版本尚未公开或仍在传播。不得删除仍可用的旧插件、不得重复发布同一不可变版本,也不得声称安装成功。
@@ -3,7 +3,7 @@ name: microi-datasource-mapping
3
3
  description: Microi 选项类字段的数据源 Key/Value 映射规范。用于 Select、Radio、Checkbox、UniApp 枚举显示、KeyValue 配置、数据迁移和接口返回标签映射。
4
4
  ---
5
5
 
6
- > **Codex 强制前置:** 当前宿主为 Codex 时,在使用本 Skill 前必须先完整读取 `../microi-codex-installer/SKILL.md`,完成“Codex 每任务最新版硬门禁”;门禁未通过不得继续本 Skill。非 Codex 宿主跳过此项。
6
+ > **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
7
7
 
8
8
  # microi-datasource-mapping — 数据源 Key/Value 映射规范
9
9
 
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  name: microi-db-schema
3
- description: Microi 吾码数据库结构与字典指南。用于检查或解释 AI-Project/microi/db.json 中的 Microi 平台表,梳理 diy_table/diy_field/sys_menu 关系,定位 V8 事件存储字段,生成安全的系统表 V8 FormEngine 查询,或分析工作流、SaaS、权限、菜单、接口引擎、数据源和系统配置结构。
3
+ description: Microi 吾码数据库结构与字典指南。用于通过实时 MCP Schema 或当前租户快照检查 Microi 平台表,梳理 diy_table/diy_field/sys_menu 关系,定位 V8 事件存储字段,生成安全的系统表 V8 FormEngine 查询,或分析工作流、SaaS、权限、菜单、接口引擎、数据源和系统配置结构。
4
4
  ---
5
5
 
6
- > **Codex 强制前置:** 当前宿主为 Codex 时,在使用本 Skill 前必须先完整读取 `../microi-codex-installer/SKILL.md`,完成“Codex 每任务最新版硬门禁”;门禁未通过不得继续本 Skill。非 Codex 宿主跳过此项。
6
+ > **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
7
7
 
8
8
  # Microi DB Schema
9
9
 
@@ -11,9 +11,9 @@ description: Microi 吾码数据库结构与字典指南。用于检查或解释
11
11
 
12
12
  ## 快速流程
13
13
 
14
- 1. 阅读 `references/schema.md` 获取完整数据库结构:固定字段、核心关系、V8 事件字段、全部表分类,以及每张核心表的字段明细。
14
+ 1. 优先调用 `microi_get_db_schema` 获取当前服务器的实时表结构;无法连接时才读取当前引擎所属 OsClient 目录的 `.microi-db-schema.md`,并明确说明快照可能过期。`references/schema.md` 只用于理解通用关系,不是任何租户的权威字段清单。
15
15
  2. 编写感知结构的 V8 代码时,优先使用带 `_Where` 的 `V8.FormEngine`。只有联表、聚合或 FormEngine 无法表达的场景才使用 `V8.Db.FromSql`,并且必须参数化动态值。
16
- 3. `AI-Project/microi/db.json` 视为当前导出字段列表的权威来源。它列出可配置字段;DIY 表还带有导出中未列出的固定系统字段(`Id`、`CreateTime`、`UpdateTime`、`UserId`、`UserName`、`IsDeleted`)。
16
+ 3. 实时 MCP Schema 是字段事实源;本地 `.microi-db-schema.md` 仅作离线快照。不要假设普通用户拥有某个仓库专属数据库文件。DIY 表还带有固定系统字段(`Id`、`CreateTime`、`UpdateTime`、`UserId`、`UserName`、`IsDeleted`)。
17
17
 
18
18
  ## 核心模型
19
19
 
@@ -1,6 +1,6 @@
1
1
  # Microi DB Schema Overview
2
2
 
3
- - Source: `ai-helper/microi/db.json`
3
+ - Source: generic reference snapshot; current tenant truth must come from `microi_get_db_schema`.
4
4
  - Tables: 75
5
5
  - Configurable fields: 975
6
6
 
@@ -1,6 +1,6 @@
1
1
  # Microi 平台标准数据库结构
2
2
 
3
- > 来源:`AI-Project/microi/db.json`(共 75 张表,975 个可配置字段)
3
+ > 通用参考快照,不代表当前租户。实际字段以 `microi_get_db_schema` 实时回读为准;离线时仅使用当前 OsClient 目录的 `.microi-db-schema.md` 并标注快照时间。
4
4
 
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  # Microi Table Catalog
2
2
 
3
- Full generated catalog from `ai-helper/microi/db.json`. Load this only when a task needs exact fields outside the core tables.
3
+ Generic reference catalog. Load it only to understand common platform tables; never use it as the exact field authority for a tenant. Query `microi_get_db_schema` first.
4
4
 
5
5
  ## All Tables
6
6
 
@@ -3,7 +3,7 @@ name: microi-deployment
3
3
  description: Microi 安装、部署、升级和本地运行指南。用于 Docker Compose、离线安装、Windows IIS、源码运行、MySQL、Redis、MongoDB、MinIO、反向代理、滚动发布、健康检查、备份恢复和生产部署验收。
4
4
  ---
5
5
 
6
- > **Codex 强制前置:** 当前宿主为 Codex 时,在使用本 Skill 前必须先完整读取 `../microi-codex-installer/SKILL.md`,完成“Codex 每任务最新版硬门禁”;门禁未通过不得继续本 Skill。非 Codex 宿主跳过此项。
6
+ > **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
7
7
 
8
8
  # Microi 安装与部署
9
9
 
@@ -3,7 +3,7 @@ name: microi-docs-coverage
3
3
  description: Microi 中文官网文档与 Skills 能力覆盖审计。用于全面分析 microi.doc/docs/doc 与 docs/case、核对官方能力和 V8 函数是否已进入 microi.skills、补充或重构 Skills、维护文档到 Skill 的责任映射,以及防止后续新增中文文档造成 AI 知识漏项。
4
4
  ---
5
5
 
6
- > **Codex 强制前置:** 当前宿主为 Codex 时,在使用本 Skill 前必须先完整读取 `../microi-codex-installer/SKILL.md`,完成“Codex 每任务最新版硬门禁”;门禁未通过不得继续本 Skill。非 Codex 宿主跳过此项。
6
+ > **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
7
7
 
8
8
  # Microi 中文官网文档与 Skills 覆盖审计
9
9
 
@@ -3,7 +3,7 @@ name: microi-form-engine
3
3
  description: Microi 表单引擎设计与控件配置指南。用于创建或修改 diy_table、diy_field、表单组件、字段属性、选项/SQL/数据源引擎数据源、子表、关联表单、定制组件、表单布局和字段事件。
4
4
  ---
5
5
 
6
- > **Codex 强制前置:** 当前宿主为 Codex 时,在使用本 Skill 前必须先完整读取 `../microi-codex-installer/SKILL.md`,完成“Codex 每任务最新版硬门禁”;门禁未通过不得继续本 Skill。非 Codex 宿主跳过此项。
6
+ > **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
7
7
 
8
8
  # Microi 表单引擎设计
9
9
 
@@ -12,7 +12,7 @@ description: Microi 表单引擎设计与控件配置指南。用于创建或修
12
12
  Config/Data、菜单查询列与缓存保持一致。
13
13
 
14
14
  平台创建 DIY 表时会自动加入 `DiyCommon.FixedDiyField` 定义的 Id、创建/更新时间、
15
- 创建人、租户等固定字段。业务 Manifest 不重复声明这些字段;读取 `db.json` 时也不能
15
+ 创建人、租户等固定字段。业务 Manifest 不重复声明这些字段;读取实时 Schema 或离线快照时也不能
16
16
  因为 `_Fields` 只列出可配置字段,就误判物理表缺少固定字段。
17
17
 
18
18
  ## 必读参考
@@ -3,7 +3,7 @@ name: microi-form-layout
3
3
  description: Microi 吾码低代码表单布局分组规范。用于通过 MCP、Manifest、VS Code 插件或 V8 引擎创建/优化 `diy_table` 和 `diy_field` 时,决定使用 `diy_table.Tabs` 表单全局 Tab、字段级 `Tabs` 控件、字段级 `CollapseGroup` 折叠分组,还是直接平铺字段。覆盖"何时分 Tab、何时分折叠分组、有效表单行判断阈值、JSON 配置示例、回读验收与回滚"。
4
4
  ---
5
5
 
6
- > **Codex 强制前置:** 当前宿主为 Codex 时,在使用本 Skill 前必须先完整读取 `../microi-codex-installer/SKILL.md`,完成“Codex 每任务最新版硬门禁”;门禁未通过不得继续本 Skill。非 Codex 宿主跳过此项。
6
+ > **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
7
7
 
8
8
  # Microi 表单布局分组规范(Tabs vs CollapseGroup)
9
9
 
@@ -13,6 +13,8 @@ Microi 吾码低代码提供 **三种** 表单分组能力,但每种都有明
13
13
 
14
14
  控件事实源:`Microi.Client/src/views/form-engine/diy-field-component/diy-component-list.json` 中 `Sort=1000` 附近的 `Divider`、`CollapseGroup`、`Tabs`、`Alert`、`StaticText`、`Html`、`RichText` 等都属于 Advanced 布局控件。
15
15
 
16
+ <!-- microi-progressive:begin -->
17
+ <!-- microi-progressive:chunk id=microi-form-layout-000 sha256=cade6a415454aa04f5fcf840e6d9df1323ac9751c0e3c8e1b07b360007413819 -->
16
18
  ## 1. 三种分组能力速查
17
19
 
18
20
  | 能力 | 存储位置 | 控件 | 核心作用 | 适用场景 |
@@ -22,6 +24,8 @@ Microi 吾码低代码提供 **三种** 表单分组能力,但每种都有明
22
24
  | **C. 字段级 CollapseGroup(折叠分组)** | `diy_field.Component='CollapseGroup'` + `Config.CollapseGroup` | 字段是折叠面板标题 | **所有分组可在同一页面展开**,用户一屏看到全部标题和分组字段 | 只占 **≤5 个有效表单行** 的小分组(短字段即使有 8~10 个,也常只占 4~5 行) |
23
25
  | **D. 不分组(默认平铺)** | 无 | — | 全部字段在第一屏 | 总有效表单行 ≤ 6、没有复杂控件,且没有必须强调的业务分组 |
24
26
 
27
+ <!-- /microi-progressive:chunk -->
28
+ <!-- microi-progressive:chunk id=microi-form-layout-001 sha256=f43f8c6f1c156ef3669f0c1f9a9d9d2cb7baf630d0b0cb2f48307a31f3f82ae2 -->
25
29
  ## 2. 黄金决策流程(AI 必须按此顺序判断)
26
30
 
27
31
  ### 2.1 先算“有效表单行”,禁止只数字段
@@ -71,116 +75,8 @@ Q1: 核心可见字段数、子表和强任务域?
71
75
  | 8 字段简单登记表 | D. 不分组 | 禁止任何 Tab/折叠 |
72
76
  | 工作流审批表(≤10 字段) | D. 不分组 | 禁止使用 Tab |
73
77
 
74
- ## 3. 三种分组的存储与配置
75
-
76
- ### 3.1 diy_table.Tabs(表级 Tab)
77
-
78
- 存储:`diy_table.Tabs`(JSON 字符串)+ 每个字段的 `diy_field.Tab`(归属 Tab 名)。
79
-
80
- ```jsonc
81
- // diy_table.Tabs JSON 格式
82
- [
83
- { "Id": "basic", "Name": "基础信息", "Sort": 10 },
84
- { "Id": "business","Name": "业务明细", "Sort": 20 },
85
- { "Id": "attach", "Name": "附件备注", "Sort": 30 }
86
- ]
87
- ```
88
-
89
- 字段归属:在 `diy_field.Tab` 写 `Id`(不是 `Name`)。`Tab` 留空的字段属于"非 Tab 字段"(即 `diy_table.Tabs` 之外的字段),会作为隐藏的剩余字段自动归到最后 Tab。
90
-
91
- - 字段 `Tab="basic"` → 归属"基础信息"Tab
92
- - 字段 `Tab=""` 且 `diy_table.Tabs` 存在 → 自动归到最后一个 Tab 的剩余字段
93
- - 字段 `Tab=""` 且 `diy_table.Tabs` 不存在 → 全部在第一屏平铺
94
-
95
- **不推荐用法**:把 `diy_table.Tabs` 拆出 3 个 Tab、每个 Tab 内只有 2~3 个字段。这会让用户必须点击 3 次 Tab 才能看完一张表,且首屏只看到 2~3 个字段。
96
-
97
- ### 3.2 字段级 Tabs 控件(`diy_field.Component='Tabs'`)
98
-
99
- 存储:`diy_field` 行 + `Config.FieldTabs`(JSON)。
100
-
101
- ```jsonc
102
- // diy_field 必要字段
103
- {
104
- "Id": "TabsField_Main",
105
- "Name": "TabsMain",
106
- "Label": "主分组",
107
- "Component": "Tabs",
108
- "Type": "varchar(50)",
109
- "Sort": 50,
110
- "Visible": 0, // 通常设为 0,因为 Tabs 本身是布局控件
111
- "AppVisible": 0,
112
- "Config": "{\"FieldTabs\":{...}}"
113
- }
114
-
115
- // Config.FieldTabs
116
- {
117
- "ScopeMode": "FieldCount", // 或 "Manual"
118
- "TotalFieldCount": 0, // 0 表示直到下一个 Tabs
119
- "DefaultActiveKey": "tab1",
120
- "Type": "card", // "" | "card" | "border-card"
121
- "Position": "top", // top | bottom | left | right
122
- "Stretch": false,
123
- "ShowFieldCount": true,
124
- "CaptureRest": true,
125
- "Description": "",
126
- "Theme": "default",
127
- "Tabs": [
128
- { "Key": "tab1", "Title": "页签一", "Icon": "fas fa-info-circle", "FieldCount": 6, "Disabled": false }
129
- ]
130
- }
131
- ```
132
-
133
- **作用范围**:从该 Tabs 字段开始,到下一个 `Component in (Tabs, CollapseGroup, Divider)` 字段为止。
134
-
135
- ### 3.3 字段级 CollapseGroup 折叠分组(`diy_field.Component='CollapseGroup'`)
136
-
137
- 存储:`diy_field` 行 + `Config.CollapseGroup`(JSON)。
138
-
139
- ```jsonc
140
- // diy_field 必要字段
141
- {
142
- "Id": "CollapseGroup_MRP",
143
- "Name": "MrpGroup",
144
- "Label": "MRP 运算",
145
- "Component": "CollapseGroup",
146
- "Type": "",
147
- "Sort": 120,
148
- "Visible": 1,
149
- "AppVisible": 1,
150
- "FormWidth": 24,
151
- "Config": "{\"CollapseGroup\":{...}}"
152
- }
153
-
154
- // Config.CollapseGroup
155
- {
156
- "DefaultCollapsed": false, // 默认展开;高频访问分组可设 false
157
- "ScopeMode": "UntilNextGroup", // 直到下一个折叠/Tab/Divider
158
- "FieldCount": 5, // ScopeMode=FieldCount 时生效
159
- "Description": "MRP 运算结果与时间",
160
- "Icon": "fas fa-calculator",
161
- "Theme": "primary", // default | primary | success | warning | danger
162
- "ShowFieldCount": true
163
- }
164
- ```
165
-
166
- **作用范围**:从该 CollapseGroup 字段开始,到下一个 `Component in (Tabs, CollapseGroup, Divider)` 字段为止。
167
-
168
- **默认值硬规则**:`CollapseGroup` 必须保存 `FormWidth=24`(PC 表单 100% 宽度);
169
- `Config.CollapseGroup.ShowFieldCount` 省略时必须补为 `true`。只有用户明确要求隐藏数量时
170
- 才允许写 `ShowFieldCount=false`,只有用户明确要求非整行实验布局时才允许覆盖宽度。
171
-
172
- **与 Tab 的关键区别**:所有 CollapseGroup 标题**始终可见**,分组内字段**默认展开**或**默认收起**,但所有分组的字段**都在同一页面**,可同时展开多个。
173
-
174
- ### 3.4 控件视觉对比
175
-
176
- | 视觉表现 | Tabs | CollapseGroup |
177
- |---------|------|---------------|
178
- | 首屏可见字段数 | 仅一个 Tab 的字段 | **所有分组的标题 + 展开分组的字段** |
179
- | 用户切换分组方式 | 必须点击 Tab 头 | 可直接滚动或逐个点击展开 |
180
- | 同时看到多组 | ❌ | ✅ |
181
- | 适合"展开后阅读" | ❌(频繁切换会烦) | ✅ |
182
- | 适合"互斥分组" | ✅ | ❌ |
183
-
78
+ <!-- /microi-progressive:chunk -->
79
+ <!-- microi-progressive:chunk id=microi-form-layout-002 sha256=9165f561ba90696ce130d24f71a0e56c521b5f8935eac2ddcffb852f3af5d9b2 -->
184
80
  ## 4. AI 生成表单布局的标准动作
185
81
 
186
82
  ### 4.1 必做顺序
@@ -221,6 +117,8 @@ Q1: 核心可见字段数、子表和强任务域?
221
117
 
222
118
  V8 事件中可用 `V8.HideFormTab('tabId')` / `V8.ShowFormTab('tabId')` / `V8.ClickFormTab('tabId')` 动态控制 Tab 显隐和默认选中。
223
119
 
120
+ <!-- /microi-progressive:chunk -->
121
+ <!-- microi-progressive:chunk id=microi-form-layout-003 sha256=eebf51aec08023443964d82e1140026ec7cef627b3d2ed6ead169e1fd14353a3 -->
224
122
  ## 5. 必填与禁止
225
123
 
226
124
  ### 5.1 必填
@@ -245,6 +143,8 @@ V8 事件中可用 `V8.HideFormTab('tabId')` / `V8.ShowFormTab('tabId')` / `V8.C
245
143
  - ❌ **禁止**把高频访问的字段(如单据编号、项目名称)放进默认收起的 CollapseGroup。
246
144
  - ❌ **禁止**用普通新增字段或通用表单数据写入创建布局节点;这类路径可能对目标业务表执行物理 DDL。
247
145
 
146
+ <!-- /microi-progressive:chunk -->
147
+ <!-- microi-progressive:chunk id=microi-form-layout-004 sha256=539ae919554ca9eda5b5a26ac405181f601f4195f6a59baf1fd368d315987e6c -->
248
148
  ## 6. 验收清单
249
149
 
250
150
  修改或新建表单布局后,AI 必须按以下顺序验收:
@@ -264,121 +164,8 @@ V8 事件中可用 `V8.HideFormTab('tabId')` / `V8.ShowFormTab('tabId')` / `V8.C
264
164
  以及相关字段 V8,搜索 `V8.FieldSet`、`hideField`、`Visible=false`、`HideFields`。设计模式
265
165
  通常跳过这些运行态事件;未完成这一步不得直接判定为 Microi.Client 渲染缺陷。
266
166
 
267
- ## 7. 反例参考(必须避免)
268
-
269
- ### 反例 1:MRP 运算 3 字段单独建 Tab
270
-
271
- ```
272
- ❌ 错误:
273
- diy_table.Tabs = [
274
- { Id: 'basic', Name: '基础信息' }, // 5 字段
275
- { Id: 'mrp', Name: 'MRP 运算' }, // 3 字段
276
- { Id: 'remark', Name: '备注' } // 1 字段
277
- ]
278
- // 用户打开表单,第一屏只看到 5 个"基础信息"字段,"MRP 运算"和"备注"被藏在 Tab 里
279
-
280
- ✅ 正确:
281
- // 不创建 diy_table.Tabs,把"MRP 运算" 3 字段用 CollapseGroup 收在表单末尾(默认展开)
282
- // 把"备注"也用 CollapseGroup 或 Divider 收
283
- // 第一屏用户能看到所有基础信息 + MRP 运算
284
- ```
285
-
286
- ### 反例 1.1:项目收款记录拆成 2/9/2 三个 Tab
287
-
288
- ```
289
- ❌ 错误:
290
- 项目(2 个短字段) + 收款(9 个短字段) + 附件备注(2 个整行字段)分别建 Tab。
291
- 结果是每页只有 1~5 行内容,桌面抽屉出现大面积空白,用户要切换三次才能看完整记录。
292
-
293
- ✅ 正确:
294
- 取消表级 Tab,按原顺序建立“项目信息 / 收款信息 / 附件备注”三个 CollapseGroup。
295
- 核心组默认展开,低频附件备注可默认收起;保留原字段、数据源、必填规则和 V8 代码。
296
- ```
297
-
298
- ### 反例 2:13 字段表全平铺
299
-
300
- ```
301
- ❌ 错误:
302
- // 13 字段全部 Tab 留空
303
- // 用户必须向下滚动 3 屏才能看到所有字段
304
-
305
- ✅ 正确:
306
- // 13 字段按业务分两组:8 字段"基础信息" + 5 字段"业务明细"
307
- // 用 1 个 diy_table.Tabs(基础信息 + 业务明细)
308
- // 或用 1 个 CollapseGroup 把"业务明细"5 字段收起
309
- ```
310
-
311
- ### 反例 3:42 字段表用 6 个 Tab
312
-
313
- ```
314
- ❌ 错误:
315
- // 6 个 Tab:基础(14) + 项目业主(2) + 发货通知(13) + 生产需求(3) + 审核(4) + ERP出库(4) + 其他(2)
316
- // 用户要点 6 次才能看完,且"项目业主"和"生产需求"这种 2~3 字段的 Tab 完全没必要
317
-
318
- ✅ 正确:
319
- // 4 个 Tab:基础(14) + 发货通知+生产需求(16) + 审核+ERP出库(8) + 其他(4)
320
- // 或 3 个 Tab + 内部嵌套 CollapseGroup
321
- ```
322
-
323
- ## 8. 快速参考代码片段
324
-
325
- ### 8.1 MCP 创建表级 Tab
326
-
327
- ```js
328
- // 假设已创建 diy_table,通过 microi_update_table 设置 Tabs
329
- // 注意:microi_create_table 不直接接收 Tabs JSON,需创建后 microi_update_table 补全
330
- microi_update_table({
331
- name: "yutaoliaojieguo",
332
- // 暂未直接传 Tabs,需要通过 microi_update_table 文档化的方式补全
333
- })
334
- ```
335
-
336
- > 实际写入 `diy_table.Tabs` 优先用 `microi_update_field` 之外的元数据写入方式或 `microi_upsert_engine` 委托接口引擎;后续 MCP 工具可补强 `Tabs` 参数。
337
-
338
- ### 8.2 MCP 创建字段级 CollapseGroup
339
-
340
- ```js
341
- // 1. 创建一个 CollapseGroup 字段
342
- microi_add_layout_field({
343
- tableId: "01KTASHWEBE514R1XTB0WVJJRX",
344
- name: "MrpGroup",
345
- label: "MRP 运算",
346
- component: "CollapseGroup",
347
- sort: 150,
348
- visible: 1,
349
- appVisible: 1,
350
- config: JSON.stringify({
351
- CollapseGroup: {
352
- DefaultCollapsed: false,
353
- ScopeMode: "UntilNextGroup",
354
- Description: "MRP 运算状态、批次号与时间",
355
- Icon: "fas fa-calculator",
356
- Theme: "primary",
357
- ShowFieldCount: true
358
- }
359
- }),
360
- confirmExecution: "MrpGroup"
361
- })
362
-
363
- // 工具默认写入 FormWidth=24;回读必须确认宽度为 24 且 ShowFieldCount=true。
364
-
365
- // 2. 让"MRP 运算"相关字段归属到该 CollapseGroup
366
- // 范围方式:把 CalcStatus、CalcBatchNo、MrpTime 三个字段的 Sort 排在 150~300 之间,
367
- // 下一个 CollapseGroup/Tabs/Divider 字段之前的所有字段都属于该分组
368
- ```
369
-
370
- ### 8.3 MCP 把字段 Tab 归属到 diy_table.Tabs
371
-
372
- ```js
373
- // 创建表级 Tab
374
- // 1. microi_update_table 设置 diy_table.Tabs 字段(待 MCP 工具补全)
375
- // 2. 给字段写 Tab 归属
376
- microi_update_field({
377
- id: "01KVTWDJ7WXB3Z60HGJ5BPTBJ0",
378
- tab: "basic" // 归属到 diy_table.Tabs.Id='basic' 的 Tab
379
- })
380
- ```
381
-
167
+ <!-- /microi-progressive:chunk -->
168
+ <!-- microi-progressive:chunk id=microi-form-layout-005 sha256=db6759bef83e520e5f137347070f85df1275e14dcbc742bebfdaac4da14be375 -->
382
169
  ## 9. 与其他 Skill 的关系
383
170
 
384
171
  - 字段创建流程:`v8-table-event/SKILL.md` 写 InFormV8 / SubmitFormV8 等。
@@ -386,3 +173,10 @@ microi_update_field({
386
173
  - 整行控件规则:`microi-system-delivery/SKILL.md` 中 `FormWidth=24` 的使用条件。
387
174
  - 表单设计器与按钮:`v8-menu-buttons/SKILL.md`。
388
175
  - V8 事件 Tab 显隐 API:`v8-table-event/SKILL.md` 中 `V8.HideFormTab` / `V8.ShowFormTab` / `V8.ClickFormTab`。
176
+ <!-- /microi-progressive:chunk -->
177
+ ## 详细参考路由(渐进披露)
178
+
179
+ 仅在当前任务涉及对应主题时读取;下列文件合计保留了原 SKILL.md 的全部详细知识。
180
+
181
+ - [references/progressive-01-3-三种分组的存储与配置.md](references/progressive-01-3-三种分组的存储与配置.md):3. 三种分组的存储与配置;7. 反例参考(必须避免);8. 快速参考代码片段
182
+ <!-- microi-progressive:end -->