@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.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/README.md +7 -12
- package/assets/build-meta.json +6 -5
- package/package.json +1 -1
- package/scripts/mcp-server.js +83 -83
- package/scripts/microi-cli.js +80 -92
- package/scripts/microi-codex-broker.js +418 -0
- package/scripts/microi-codex-router.js +159 -65
- package/scripts/microi-skills.meta.json +349 -190
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +3566 -0
- package/skills/ai-engine/SKILL.md +1 -1
- package/skills/ai-platform-governance/SKILL.md +22 -167
- package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -0
- package/skills/app-store/SKILL.md +1 -1
- package/skills/business-blueprint/SKILL.md +1 -1
- package/skills/datasource-engine/SKILL.md +1 -1
- package/skills/dos-orm/SKILL.md +1 -1
- package/skills/job-engine/SKILL.md +1 -1
- package/skills/message-notification/SKILL.md +1 -1
- package/skills/microi-ai-application/SKILL.md +1 -1
- package/skills/microi-client-frontend/SKILL.md +18 -435
- 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
- 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
- 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
- package/skills/microi-codex/SKILL.md +4 -4
- package/skills/microi-codex-installer/SKILL.md +25 -36
- package/skills/microi-datasource-mapping/SKILL.md +1 -1
- package/skills/microi-db-schema/SKILL.md +4 -4
- package/skills/microi-db-schema/references/schema-overview.md +1 -1
- package/skills/microi-db-schema/references/schema.md +1 -1
- package/skills/microi-db-schema/references/table-catalog.md +1 -1
- package/skills/microi-deployment/SKILL.md +1 -1
- package/skills/microi-docs-coverage/SKILL.md +1 -1
- package/skills/microi-form-engine/SKILL.md +2 -2
- package/skills/microi-form-layout/SKILL.md +20 -226
- 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
- package/skills/microi-frontend-sdk/SKILL.md +18 -152
- 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
- package/skills/microi-left-right-layout/SKILL.md +1 -1
- package/skills/microi-microservice/SKILL.md +8 -1
- package/skills/microi-microservice/references/runtime-delivery.md +4 -0
- package/skills/microi-mobile-app-quality/SKILL.md +23 -289
- 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
- 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
- package/skills/microi-solution-quotation/SKILL.md +1 -1
- package/skills/microi-system-delivery/SKILL.md +17 -381
- 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
- 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
- package/skills/microi-ui/SKILL.md +20 -170
- 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
- package/skills/microi-uniapp-frontend/SKILL.md +27 -336
- 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
- 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
- package/skills/module-engine/SKILL.md +1 -1
- package/skills/ocr-engine/SKILL.md +1 -1
- package/skills/page-engine/SKILL.md +24 -272
- 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
- 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
- package/skills/performance-testing/SKILL.md +1 -1
- package/skills/playwright-e2e/SKILL.md +25 -591
- 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
- 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
- package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -0
- package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +69 -0
- package/skills/print-engine/SKILL.md +1 -1
- package/skills/production-readonly-audit/SKILL.md +1 -1
- package/skills/report-engine/SKILL.md +1 -1
- package/skills/scripts/optimize-progressive-disclosure.mjs +204 -0
- package/skills/scripts/refresh-progressive-disclosure.mjs +64 -0
- package/skills/scripts/validate-progressive-disclosure.mjs +52 -0
- package/skills/search-engine/SKILL.md +1 -1
- package/skills/spider-engine/SKILL.md +1 -1
- package/skills/translate-engine/SKILL.md +1 -1
- package/skills/ui-design/SKILL.md +27 -1462
- 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
- package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +155 -0
- 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
- 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
- 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
- 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
- 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
- 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
- package/skills/uniapp-mall-assets/SKILL.md +1 -1
- package/skills/unity-integration/SKILL.md +1 -1
- package/skills/v8-api-config/SKILL.md +1 -1
- package/skills/v8-cache-pattern/SKILL.md +1 -1
- package/skills/v8-crud-api/SKILL.md +21 -246
- 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
- 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
- package/skills/v8-debugging/SKILL.md +1 -1
- package/skills/v8-explorer-tree/SKILL.md +1 -1
- package/skills/v8-export-import/SKILL.md +16 -426
- 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
- package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -0
- 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
- package/skills/v8-file-upload/SKILL.md +17 -355
- 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
- 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
- package/skills/v8-formengine-http/SKILL.md +1 -1
- package/skills/v8-frontend-events/SKILL.md +20 -206
- package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -0
- package/skills/v8-http-integration/SKILL.md +15 -237
- package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -0
- 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
- package/skills/v8-image-processing/SKILL.md +1 -1
- package/skills/v8-menu-buttons/SKILL.md +16 -512
- 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
- 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
- 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
- package/skills/v8-mongodb/SKILL.md +1 -1
- package/skills/v8-mq-mqtt/SKILL.md +12 -176
- package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -0
- package/skills/v8-saas-multi-tenant/SKILL.md +1 -1
- package/skills/v8-security/SKILL.md +17 -330
- package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +199 -0
- package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +158 -0
- package/skills/v8-sql-query/SKILL.md +1 -1
- package/skills/v8-table-event/SKILL.md +17 -237
- 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
- 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
- package/skills/v8-template-engine/SKILL.md +1 -1
- package/skills/v8-utilities/SKILL.md +1 -1
- package/skills/v8-workflow/SKILL.md +20 -161
- 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
- package/skills/workspace-conventions/SKILL.md +36 -369
- 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
- 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
- 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
|
|
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
|
-
##
|
|
12
|
+
## 非阻塞自动更新(强制)
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
只要当前宿主已装有 Microi VS Code 扩展、`@microi.net/cli` 或 Codex 插件,就应由宿主/CLI 在后台投递自动更新。更新检查与业务工作并行,绝不能成为分析、MCP 调用、源码修改、构建、测试、发布或新任务的前置门禁。
|
|
15
15
|
|
|
16
|
-
|
|
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`
|
|
30
|
+
旧版 CLI 尚不支持 `microi version --json` 时,可使用 `npm list --global '@microi.net/cli' --depth=0 --json` 读取全局安装版本。`microi codex status --json` 的 `expectedVersion` 来自当前 CLI 自带快照,只检查本地一致性,不能代替 npm 在线查询。
|
|
31
31
|
|
|
32
|
-
|
|
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
|
-
|
|
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`
|
|
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
|
|
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
|
-
-
|
|
59
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
95
|
+
在全新 Codex 的空目录中,以下自然语言必须等价执行上述命令,不得仅生成项目 Skill 后就声称 Codex Plugin 已安装:
|
|
107
96
|
|
|
108
97
|
```text
|
|
109
98
|
通过 @microi.net/cli@latest 安装吾码 Codex 插件。
|
|
110
99
|
```
|
|
111
100
|
|
|
112
|
-
`--yes`
|
|
101
|
+
`--yes` 仅兼容旧版无人值守脚本,安装器不再把它当作工作授权。只有版本不一致且普通安装不能升级、并确认目标 npm 包已经公开可读时,才使用:
|
|
113
102
|
|
|
114
103
|
```bash
|
|
115
104
|
microi codex install --yes --force
|
|
116
105
|
```
|
|
117
106
|
|
|
118
|
-
CLI 或 Codex
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
3
|
+
description: Microi 吾码数据库结构与字典指南。用于通过实时 MCP Schema 或当前租户快照检查 Microi 平台表,梳理 diy_table/diy_field/sys_menu 关系,定位 V8 事件存储字段,生成安全的系统表 V8 FormEngine 查询,或分析工作流、SaaS、权限、菜单、接口引擎、数据源和系统配置结构。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
> **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.
|
|
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.
|
|
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 Table Catalog
|
|
2
2
|
|
|
3
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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 -->
|