@microi.net/cli 5.1.2 → 5.1.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.
@@ -5,13 +5,13 @@
5
5
  "url": "https://microi.net"
6
6
  },
7
7
  "description": "Microi吾码官方 AI 插件市场",
8
- "version": "5.1.2",
8
+ "version": "5.1.4",
9
9
  "plugins": [
10
10
  {
11
11
  "name": "microi",
12
12
  "source": ".",
13
13
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
14
- "version": "5.1.2",
14
+ "version": "5.1.4",
15
15
  "strict": true
16
16
  }
17
17
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microi",
3
- "version": "5.1.2",
3
+ "version": "5.1.4",
4
4
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
5
5
  "author": {
6
6
  "name": "Microi.Net",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microi",
3
- "version": "5.1.2",
3
+ "version": "5.1.4",
4
4
  "description": "Microi吾码低代码平台的 Codex 开发插件,共享 VS Code/CLI 的连接、同步、MCP、V8 与交付能力。",
5
5
  "author": {
6
6
  "name": "Microi.Net",
@@ -5,13 +5,13 @@
5
5
  "url": "https://microi.net"
6
6
  },
7
7
  "description": "Microi吾码官方 AI 插件市场",
8
- "version": "5.1.2",
8
+ "version": "5.1.4",
9
9
  "plugins": [
10
10
  {
11
11
  "name": "microi",
12
12
  "source": ".",
13
13
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
14
- "version": "5.1.2",
14
+ "version": "5.1.4",
15
15
  "strict": true
16
16
  }
17
17
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "microi",
3
- "version": "5.1.2",
3
+ "version": "5.1.4",
4
4
  "description": "Microi吾码 AI 开发插件:服务器连接、Skills、MCP、V8 全量同步与低代码交付",
5
5
  "author": {
6
6
  "name": "Microi.Net",
@@ -1,6 +1,6 @@
1
1
  {
2
- "builtAt": "2026-08-18T19:18:24.372Z",
3
- "version": "5.1.2",
2
+ "builtAt": "2026-08-19T03:30:05.502Z",
3
+ "version": "5.1.4",
4
4
  "sourceProducts": [
5
5
  "vscode-extension",
6
6
  "microi-cli",
@@ -13,6 +13,6 @@
13
13
  "cli": "5edab92236a3bea1e10a878584b97bbef20610b4448f655d7c42d2ab832532cb",
14
14
  "router": "ffc14787fc2d3d6173b7a779b77139b759eb1d482cea787f71283f4017a4e223",
15
15
  "broker": "42a9d89ad7b960a324da949939ef46266aa66e21068e6fbfd040cecc58b7c956",
16
- "dshBundle": "868a9aedd48610377d826a78d65e34d13c7e498b7287996f0177c691959dbf29"
16
+ "dshBundle": "90a70f8a2c46df27ecd033d4dbf4a8da2596d5a54fdda91153006a3c5930761a"
17
17
  }
18
18
  }
package/cordis.patch.yml CHANGED
@@ -7,7 +7,7 @@
7
7
  serverName: microi
8
8
  transport: stdio
9
9
  command: !!js process.execPath
10
- args: ["-e","/*\n * DeepSeek Harness 通过 profile bundle 加载此 `node -e` 引导脚本。\n * DSH 不保证 MCP 子进程 cwd 位于 npm 包根,因此按 DSH_HOME/profile 定位\n * 当前版本的 @microi.net/cli,再复用 Codex 同源适配器与多连接路由器。\n */\nconst fs = require('node:fs');\nconst os = require('node:os');\nconst path = require('node:path');\nconst packageName = '@microi.net/cli';\nconst expectedVersion = '5.1.2';\n\nfunction readJson(filePath) {\n try { return JSON.parse(fs.readFileSync(filePath, 'utf8')); }\n catch { return undefined; }\n}\n\nfunction expandHome(value) {\n if (value === '~') return os.homedir();\n if (value.startsWith('~/') || value.startsWith('~\\\\')) return path.join(os.homedir(), value.slice(2));\n return value;\n}\n\nfunction validRoot(value) {\n const root = path.resolve(value);\n const pkg = readJson(path.join(root, 'package.json'));\n const patch = path.join(root, 'cordis.patch.yml');\n const adapter = path.join(root, 'scripts', 'mcp-codex-stdio-adapter.js');\n const router = path.join(root, 'scripts', 'microi-codex-router.js');\n if (pkg?.name !== packageName || pkg?.version !== expectedVersion) return undefined;\n if (pkg?.dsh?.bundle?.patch !== './cordis.patch.yml') return undefined;\n if (![patch, adapter, router].every(filePath => fs.existsSync(filePath))) return undefined;\n return { root: fs.realpathSync(root), adapter, router, modifiedAt: fs.statSync(router).mtimeMs };\n}\n\nfunction findPlugin() {\n const explicit = String(process.env.MICROI_DSH_PLUGIN_ROOT || '').trim();\n if (explicit) {\n const plugin = validRoot(explicit);\n if (!plugin) throw new Error(`MICROI_DSH_PLUGIN_ROOT 不是版本 ${expectedVersion} 的有效 Microi DSH bundle:${explicit}`);\n return plugin;\n }\n const configuredHome = String(process.env.DSH_HOME || '').trim();\n const dshHome = path.resolve(expandHome(configuredHome || path.join(os.homedir(), '.dsh')));\n const profilesRoot = path.join(dshHome, 'profiles');\n const candidates = [];\n if (fs.existsSync(profilesRoot)) {\n for (const entry of fs.readdirSync(profilesRoot, { withFileTypes: true })) {\n if (!entry.isDirectory() || entry.name === 'node_modules') continue;\n const root = path.join(profilesRoot, entry.name, 'node_modules', '@microi.net', 'cli');\n const plugin = validRoot(root);\n if (plugin) candidates.push(plugin);\n }\n }\n candidates.sort((left, right) => right.modifiedAt - left.modifiedAt);\n if (!candidates[0]) throw new Error(`未在 ${profilesRoot} 找到版本 ${expectedVersion} 的 ${packageName}`);\n return candidates[0];\n}\n\ntry {\n const plugin = findPlugin();\n process.env.MICROI_DSH_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_CODEX_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_TOOL_SOURCE = 'dsh';\n process.env.MICROI_TOOL_VERSION = expectedVersion;\n process.env.MICROI_WORKSPACE_ROOT = process.env.MICROI_WORKSPACE_ROOT || process.cwd();\n process.argv[2] = plugin.router;\n require(plugin.adapter);\n} catch (error) {\n console.error(`[microi-dsh-bootstrap] ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n}\n"]
10
+ args: ["-e","/*\n * DeepSeek Harness 通过 profile bundle 加载此 `node -e` 引导脚本。\n * DSH 不保证 MCP 子进程 cwd 位于 npm 包根,因此按 DSH_HOME/profile 定位\n * 当前版本的 @microi.net/cli,再复用 Codex 同源适配器与多连接路由器。\n */\nconst fs = require('node:fs');\nconst os = require('node:os');\nconst path = require('node:path');\nconst packageName = '@microi.net/cli';\nconst expectedVersion = '5.1.4';\n\nfunction readJson(filePath) {\n try { return JSON.parse(fs.readFileSync(filePath, 'utf8')); }\n catch { return undefined; }\n}\n\nfunction expandHome(value) {\n if (value === '~') return os.homedir();\n if (value.startsWith('~/') || value.startsWith('~\\\\')) return path.join(os.homedir(), value.slice(2));\n return value;\n}\n\nfunction validRoot(value) {\n const root = path.resolve(value);\n const pkg = readJson(path.join(root, 'package.json'));\n const patch = path.join(root, 'cordis.patch.yml');\n const adapter = path.join(root, 'scripts', 'mcp-codex-stdio-adapter.js');\n const router = path.join(root, 'scripts', 'microi-codex-router.js');\n if (pkg?.name !== packageName || pkg?.version !== expectedVersion) return undefined;\n if (pkg?.dsh?.bundle?.patch !== './cordis.patch.yml') return undefined;\n if (![patch, adapter, router].every(filePath => fs.existsSync(filePath))) return undefined;\n return { root: fs.realpathSync(root), adapter, router, modifiedAt: fs.statSync(router).mtimeMs };\n}\n\nfunction findPlugin() {\n const explicit = String(process.env.MICROI_DSH_PLUGIN_ROOT || '').trim();\n if (explicit) {\n const plugin = validRoot(explicit);\n if (!plugin) throw new Error(`MICROI_DSH_PLUGIN_ROOT 不是版本 ${expectedVersion} 的有效 Microi DSH bundle:${explicit}`);\n return plugin;\n }\n const configuredHome = String(process.env.DSH_HOME || '').trim();\n const dshHome = path.resolve(expandHome(configuredHome || path.join(os.homedir(), '.dsh')));\n const profilesRoot = path.join(dshHome, 'profiles');\n const candidates = [];\n if (fs.existsSync(profilesRoot)) {\n for (const entry of fs.readdirSync(profilesRoot, { withFileTypes: true })) {\n if (!entry.isDirectory() || entry.name === 'node_modules') continue;\n const root = path.join(profilesRoot, entry.name, 'node_modules', '@microi.net', 'cli');\n const plugin = validRoot(root);\n if (plugin) candidates.push(plugin);\n }\n }\n candidates.sort((left, right) => right.modifiedAt - left.modifiedAt);\n if (!candidates[0]) throw new Error(`未在 ${profilesRoot} 找到版本 ${expectedVersion} 的 ${packageName}`);\n return candidates[0];\n}\n\ntry {\n const plugin = findPlugin();\n process.env.MICROI_DSH_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_CODEX_PLUGIN_ROOT = plugin.root;\n process.env.MICROI_TOOL_SOURCE = 'dsh';\n process.env.MICROI_TOOL_VERSION = expectedVersion;\n process.env.MICROI_WORKSPACE_ROOT = process.env.MICROI_WORKSPACE_ROOT || process.cwd();\n process.argv[2] = plugin.router;\n require(plugin.adapter);\n} catch (error) {\n console.error(`[microi-dsh-bootstrap] ${error instanceof Error ? error.message : String(error)}`);\n process.exit(1);\n}\n"]
11
11
  env:
12
12
  MICROI_TOOL_SOURCE: dsh
13
13
  cwd: !!js process.cwd()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microi.net/cli",
3
- "version": "5.1.2",
3
+ "version": "5.1.4",
4
4
  "description": "Microi吾码 AI 开发 CLI 与多宿主 Plugin:服务器连接、Skills、MCP、V8 同步和低代码交付",
5
5
  "license": "MIT",
6
6
  "homepage": "https://microi.net/doc/v8-engine/vs-code-plugin.html",
@@ -1,13 +1,13 @@
1
1
  {
2
- "builtAt": "2026-08-18T19:18:23.238Z",
2
+ "builtAt": "2026-08-19T03:30:04.691Z",
3
3
  "source": "../microi.skills",
4
4
  "extension": {
5
5
  "name": "v8-engine",
6
- "version": "5.1.2",
6
+ "version": "5.1.4",
7
7
  "publisher": "Microi"
8
8
  },
9
9
  "skills": {
10
- "version": "5.1.2",
10
+ "version": "5.1.4",
11
11
  "versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
12
12
  "managedBy": "Microi.VSCode/bump-version.js"
13
13
  },
@@ -15,17 +15,17 @@
15
15
  "dir": "dist/microi.skills",
16
16
  "files": 172,
17
17
  "skills": 63,
18
- "bytes": 2101947
18
+ "bytes": 2104849
19
19
  },
20
20
  "fileHashes": {
21
- ".microi-skills-version.json": "998d872cc0f735327ccce6007f1d9eb32df716edf59ce06d270e5b251e62f51e",
22
- ".progressive-disclosure-manifest.json": "dc5cfc483df88dfd1f9f5bfba62bceddec5bb28ab551d07b6ed9a91ec33c8e51",
21
+ ".microi-skills-version.json": "fa367eace361a98f58765691ecb21b93070d3874a62e0db99034ecdb9da21f6a",
22
+ ".progressive-disclosure-manifest.json": "d52e5dafab1afe0ab6868cd79885edc04c88d2e4f55f87e5ccd77b51df6a36ed",
23
23
  "README.md": "e4c36c39515953ac1953622f19671d2c377a8828aae20f877bdd39ab1dcb0cb1",
24
24
  "ai-engine/SKILL.md": "a9d3b152c6d8ca03bfa37669d4e81cf33c7361f3105165e40cb357f1b23b2bfb",
25
25
  "ai-engine/agents/openai.yaml": "40deb07801006a46b9a7f0020d13251955eeadd04c8e591160210479936f8b5b",
26
- "ai-platform-governance/SKILL.md": "e45979b1b135958834ce2eb40be612a1a84aee05933af862f157026d8fc00be9",
26
+ "ai-platform-governance/SKILL.md": "84ca4bcacf15deecd0c04dc1a664b23041a6a5f020d3a5288c5458b5e7da4b8e",
27
27
  "ai-platform-governance/references/progressive-01-功能开关.md": "ea46fb02267e9e3ace3d9d72e67b02183c61e5c198f4b2f27e8196d6ee6d0bec",
28
- "app-store/SKILL.md": "292e9a27939d7c77c1cc95ef2b2f2f3f0b4366658bc5677c2898911de93ca5ef",
28
+ "app-store/SKILL.md": "a66bc28eee7f1438b9f0caf665cdf585954594f81676c51d60face0fd03b8885",
29
29
  "app-store/agents/openai.yaml": "eda8f5cf043e7b8fb0e4fb3acf0625fef95eb49586b43187ced277cd0ae4a2c4",
30
30
  "business-blueprint/SKILL.md": "01619a3b6d37b5b67649ee59d2701301222006d3b943882b2802b1721c58f8a9",
31
31
  "datasource-engine/SKILL.md": "bed8352f1d43b55145e1c492d1ea0ca1ec8750b5c4d74e1e80cd71aa7b9a2e6f",
@@ -111,11 +111,11 @@
111
111
  "spider-engine/SKILL.md": "e24018f7ab2a07706a70bb592adb7a2f91f0a66e3f9bc944593e18731c53d77e",
112
112
  "translate-engine/SKILL.md": "8f4c49d49049dfc0ed5e0a792b35a2c2490e2279a4e3be90f29309a4e55a9d53",
113
113
  "translate-engine/agents/openai.yaml": "8eb47e08a691219bbe22a797ddbdf73234ec77f86e5724bc735fb0738d899112",
114
- "ui-design/SKILL.md": "9301d789fd9de4323c964e77df20f3509bf2acd7a05da9071043b4acf3f9cc35",
114
+ "ui-design/SKILL.md": "bfc06dec43ef08f7090ac63692140e655a8d28ef5524ef37597640b1192f7447",
115
115
  "ui-design/assets/pattern-showcase/app.js": "68a8d404c30096da853c6edbc7cb27f336982147ddfebccd66c03ba3d99427cd",
116
116
  "ui-design/assets/pattern-showcase/index.html": "242f94772a5f14e38296f1e925f30a9a5fef2103975831cbd47861a3fc14d5bc",
117
117
  "ui-design/assets/pattern-showcase/styles.css": "77c34ddae0dd9c665c8774dc6def4bd8f4f5ed02470d4343d116ed141c87eccb",
118
- "ui-design/assets/templates/MCI-DESIGN.md": "24ec5c46a60fb180e041878277614feeb3ab42851d27cdea74f9f462c533cfb0",
118
+ "ui-design/assets/templates/MCI-DESIGN.md": "761b28a335a772d814202a4a628701bdba948dd1adc3b4cf9bc2a676f8bb3e30",
119
119
  "ui-design/references/design-pattern-library.md": "dd8c4a4855fa3f9a3c616eaa635b93f2b594f8bc826122f237a6e0ded9317e97",
120
120
  "ui-design/references/mci-design-contract.md": "3312b7ecc09567d4da18289b4e0bbb4061ed3ff94b71b6f72b46ea7d65a577eb",
121
121
  "ui-design/references/motion-and-media.md": "3d73161a5ad19e3d1ebecf681febd592ea0e1bca42e6340ef6a08cd9a9fd25be",
@@ -192,178 +192,178 @@
192
192
  "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "86db1f03700fd54dd824d28c553c678202e8f74b796fd0f9d91f63bf53a530b1"
193
193
  },
194
194
  "fileVersions": {
195
- ".microi-skills-version.json": "5.1.2",
196
- ".progressive-disclosure-manifest.json": "5.1.2",
197
- "README.md": "5.1.2",
198
- "ai-engine/SKILL.md": "5.1.2",
199
- "ai-engine/agents/openai.yaml": "5.1.2",
200
- "ai-platform-governance/SKILL.md": "5.1.2",
201
- "ai-platform-governance/references/progressive-01-功能开关.md": "5.1.2",
202
- "app-store/SKILL.md": "5.1.2",
203
- "app-store/agents/openai.yaml": "5.1.2",
204
- "business-blueprint/SKILL.md": "5.1.2",
205
- "datasource-engine/SKILL.md": "5.1.2",
206
- "datasource-engine/agents/openai.yaml": "5.1.2",
207
- "dos-orm/SKILL.md": "5.1.2",
208
- "dos-orm/references/api-reference.md": "5.1.2",
209
- "job-engine/SKILL.md": "5.1.2",
210
- "job-engine/agents/openai.yaml": "5.1.2",
211
- "message-notification/SKILL.md": "5.1.2",
212
- "message-notification/agents/openai.yaml": "5.1.2",
213
- "message-notification/references/contracts.md": "5.1.2",
214
- "microi-ai-app-auth.js": "5.1.2",
215
- "microi-ai-application/SKILL.md": "5.1.2",
216
- "microi-ai-application/agents/openai.yaml": "5.1.2",
217
- "microi-ai-application/references/frontend-baseline.md": "5.1.2",
218
- "microi-client-frontend/SKILL.md": "5.1.2",
219
- "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.1.2",
220
- "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.1.2",
221
- "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.1.2",
222
- "microi-codex-installer/SKILL.md": "5.1.2",
223
- "microi-codex-installer/agents/openai.yaml": "5.1.2",
224
- "microi-codex/SKILL.md": "5.1.2",
225
- "microi-datasource-mapping/SKILL.md": "5.1.2",
226
- "microi-db-schema/SKILL.md": "5.1.2",
227
- "microi-db-schema/agents/openai.yaml": "5.1.2",
228
- "microi-db-schema/references/core-tables.md": "5.1.2",
229
- "microi-db-schema/references/form-component-options.md": "5.1.2",
230
- "microi-db-schema/references/schema-overview.md": "5.1.2",
231
- "microi-db-schema/references/schema.md": "5.1.2",
232
- "microi-db-schema/references/table-catalog.md": "5.1.2",
233
- "microi-deployment/SKILL.md": "5.1.2",
234
- "microi-deployment/references/deployment-matrix.md": "5.1.2",
235
- "microi-docs-coverage/SKILL.md": "5.1.2",
236
- "microi-docs-coverage/references/capability-map.md": "5.1.2",
237
- "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.1.2",
238
- "microi-form-engine/SKILL.md": "5.1.2",
239
- "microi-form-engine/references/component-catalog.md": "5.1.2",
240
- "microi-form-engine/references/data-source-events.md": "5.1.2",
241
- "microi-form-layout/SKILL.md": "5.1.2",
242
- "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.1.2",
243
- "microi-frontend-sdk/SKILL.md": "5.1.2",
244
- "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.1.2",
245
- "microi-left-right-layout/SKILL.md": "5.1.2",
246
- "microi-microservice/SKILL.md": "5.1.2",
247
- "microi-microservice/references/runtime-delivery.md": "5.1.2",
248
- "microi-mobile-app-quality/SKILL.md": "5.1.2",
249
- "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.1.2",
250
- "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.1.2",
251
- "microi-solution-quotation/SKILL.md": "5.1.2",
252
- "microi-solution-quotation/agents/openai.yaml": "5.1.2",
253
- "microi-solution-quotation/scripts/build_solution_quote.py": "5.1.2",
254
- "microi-system-delivery/SKILL.md": "5.1.2",
255
- "microi-system-delivery/references/progressive-01-标准工作流.md": "5.1.2",
256
- "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.1.2",
257
- "microi-ui/SKILL.md": "5.1.2",
258
- "microi-ui/references/progressive-01-移动端场景蓝图.md": "5.1.2",
259
- "microi-uniapp-frontend/SKILL.md": "5.1.2",
260
- "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.1.2",
261
- "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.1.2",
262
- "microi.v8.js": "5.1.2",
263
- "module-engine/SKILL.md": "5.1.2",
264
- "module-engine/references/module-config.md": "5.1.2",
265
- "ocr-engine/SKILL.md": "5.1.2",
266
- "ocr-engine/agents/openai.yaml": "5.1.2",
267
- "page-engine/SKILL.md": "5.1.2",
268
- "page-engine/references/progressive-01-所有组件类型.md": "5.1.2",
269
- "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.1.2",
270
- "performance-testing/SKILL.md": "5.1.2",
271
- "playwright-e2e/SKILL.md": "5.1.2",
272
- "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.1.2",
273
- "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.1.2",
274
- "playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.1.2",
275
- "playwright-e2e/references/progressive-04-ci-建议.md": "5.1.2",
276
- "print-engine/SKILL.md": "5.1.2",
277
- "production-readonly-audit/SKILL.md": "5.1.2",
278
- "report-engine/SKILL.md": "5.1.2",
279
- "report-engine/agents/openai.yaml": "5.1.2",
280
- "scripts/optimize-progressive-disclosure.mjs": "5.1.2",
281
- "scripts/refresh-progressive-disclosure.mjs": "5.1.2",
282
- "scripts/validate-progressive-disclosure.mjs": "5.1.2",
283
- "search-engine/SKILL.md": "5.1.2",
284
- "search-engine/agents/openai.yaml": "5.1.2",
285
- "spider-engine/SKILL.md": "5.1.2",
286
- "translate-engine/SKILL.md": "5.1.2",
287
- "translate-engine/agents/openai.yaml": "5.1.2",
288
- "ui-design/SKILL.md": "5.1.2",
289
- "ui-design/assets/pattern-showcase/app.js": "5.1.2",
290
- "ui-design/assets/pattern-showcase/index.html": "5.1.2",
291
- "ui-design/assets/pattern-showcase/styles.css": "5.1.2",
292
- "ui-design/assets/templates/MCI-DESIGN.md": "5.1.2",
293
- "ui-design/references/design-pattern-library.md": "5.1.2",
294
- "ui-design/references/mci-design-contract.md": "5.1.2",
295
- "ui-design/references/motion-and-media.md": "5.1.2",
296
- "ui-design/references/product-flow-recipes.md": "5.1.2",
297
- "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.1.2",
298
- "ui-design/references/progressive-02-字体.md": "5.1.2",
299
- "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.1.2",
300
- "ui-design/references/progressive-04-组件风格速查.md": "5.1.2",
301
- "ui-design/references/progressive-05-移动端专用规范.md": "5.1.2",
302
- "ui-design/references/progressive-06-主题切换实现.md": "5.1.2",
303
- "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.1.2",
304
- "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.1.2",
305
- "uniapp-mall-assets/SKILL.md": "5.1.2",
306
- "unity-integration/SKILL.md": "5.1.2",
307
- "unity-integration/agents/openai.yaml": "5.1.2",
308
- "unity-integration/references/ai-app-delivery.md": "5.1.2",
309
- "unity-integration/references/sdk-api.md": "5.1.2",
310
- "unity-integration/references/toolbox-migration.md": "5.1.2",
311
- "unity-integration/references/webgl-hosting.md": "5.1.2",
312
- "v8-api-config/SKILL.md": "5.1.2",
313
- "v8-cache-pattern/SKILL.md": "5.1.2",
314
- "v8-crud-api/SKILL.md": "5.1.2",
315
- "v8-crud-api/references/progressive-01-查询列表-分页.md": "5.1.2",
316
- "v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.1.2",
317
- "v8-debugging/SKILL.md": "5.1.2",
318
- "v8-explorer-tree/SKILL.md": "5.1.2",
319
- "v8-export-import/SKILL.md": "5.1.2",
320
- "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.1.2",
321
- "v8-export-import/references/progressive-02-powerpoint-导出.md": "5.1.2",
322
- "v8-export-import/references/progressive-03-安全-性能注意.md": "5.1.2",
323
- "v8-file-upload/SKILL.md": "5.1.2",
324
- "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.1.2",
325
- "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.1.2",
326
- "v8-formengine-http/SKILL.md": "5.1.2",
327
- "v8-frontend-events/SKILL.md": "5.1.2",
328
- "v8-frontend-events/references/bluetooth-print-api.md": "5.1.2",
329
- "v8-frontend-events/references/bluetooth-print.md": "5.1.2",
330
- "v8-frontend-events/references/progressive-01-列表事件.md": "5.1.2",
331
- "v8-http-integration/SKILL.md": "5.1.2",
332
- "v8-http-integration/references/progressive-01-get-请求.md": "5.1.2",
333
- "v8-http-integration/references/progressive-02-错误处理模式.md": "5.1.2",
334
- "v8-image-processing/SKILL.md": "5.1.2",
335
- "v8-image-processing/agents/openai.yaml": "5.1.2",
336
- "v8-image-processing/references/api-reference.md": "5.1.2",
337
- "v8-menu-buttons/SKILL.md": "5.1.2",
338
- "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.1.2",
339
- "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.1.2",
340
- "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.1.2",
341
- "v8-mongodb/SKILL.md": "5.1.2",
342
- "v8-mq-mqtt/SKILL.md": "5.1.2",
343
- "v8-mq-mqtt/references/mqtt-production.md": "5.1.2",
344
- "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.1.2",
345
- "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.1.2",
346
- "v8-saas-multi-tenant/SKILL.md": "5.1.2",
347
- "v8-security/SKILL.md": "5.1.2",
348
- "v8-security/references/progressive-01-2-权限校验.md": "5.1.2",
349
- "v8-security/references/progressive-02-7-日志记录.md": "5.1.2",
350
- "v8-sql-query/SKILL.md": "5.1.2",
351
- "v8-table-event/SKILL.md": "5.1.2",
352
- "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.1.2",
353
- "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.1.2",
354
- "v8-tcp-integration/SKILL.md": "5.1.2",
355
- "v8-tcp-integration/agents/openai.yaml": "5.1.2",
356
- "v8-template-engine/SKILL.md": "5.1.2",
357
- "v8-utilities/SKILL.md": "5.1.2",
358
- "v8-utilities/references/client-api-index.md": "5.1.2",
359
- "v8-utilities/references/platform-http-routes.md": "5.1.2",
360
- "v8-utilities/references/server-api-index.md": "5.1.2",
361
- "v8-workflow/SKILL.md": "5.1.2",
362
- "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.1.2",
363
- "workspace-conventions/SKILL.md": "5.1.2",
364
- "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.1.2",
365
- "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.1.2",
366
- "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.1.2"
195
+ ".microi-skills-version.json": "5.1.4",
196
+ ".progressive-disclosure-manifest.json": "5.1.4",
197
+ "README.md": "5.1.4",
198
+ "ai-engine/SKILL.md": "5.1.4",
199
+ "ai-engine/agents/openai.yaml": "5.1.4",
200
+ "ai-platform-governance/SKILL.md": "5.1.4",
201
+ "ai-platform-governance/references/progressive-01-功能开关.md": "5.1.4",
202
+ "app-store/SKILL.md": "5.1.4",
203
+ "app-store/agents/openai.yaml": "5.1.4",
204
+ "business-blueprint/SKILL.md": "5.1.4",
205
+ "datasource-engine/SKILL.md": "5.1.4",
206
+ "datasource-engine/agents/openai.yaml": "5.1.4",
207
+ "dos-orm/SKILL.md": "5.1.4",
208
+ "dos-orm/references/api-reference.md": "5.1.4",
209
+ "job-engine/SKILL.md": "5.1.4",
210
+ "job-engine/agents/openai.yaml": "5.1.4",
211
+ "message-notification/SKILL.md": "5.1.4",
212
+ "message-notification/agents/openai.yaml": "5.1.4",
213
+ "message-notification/references/contracts.md": "5.1.4",
214
+ "microi-ai-app-auth.js": "5.1.4",
215
+ "microi-ai-application/SKILL.md": "5.1.4",
216
+ "microi-ai-application/agents/openai.yaml": "5.1.4",
217
+ "microi-ai-application/references/frontend-baseline.md": "5.1.4",
218
+ "microi-client-frontend/SKILL.md": "5.1.4",
219
+ "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.1.4",
220
+ "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.1.4",
221
+ "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.1.4",
222
+ "microi-codex-installer/SKILL.md": "5.1.4",
223
+ "microi-codex-installer/agents/openai.yaml": "5.1.4",
224
+ "microi-codex/SKILL.md": "5.1.4",
225
+ "microi-datasource-mapping/SKILL.md": "5.1.4",
226
+ "microi-db-schema/SKILL.md": "5.1.4",
227
+ "microi-db-schema/agents/openai.yaml": "5.1.4",
228
+ "microi-db-schema/references/core-tables.md": "5.1.4",
229
+ "microi-db-schema/references/form-component-options.md": "5.1.4",
230
+ "microi-db-schema/references/schema-overview.md": "5.1.4",
231
+ "microi-db-schema/references/schema.md": "5.1.4",
232
+ "microi-db-schema/references/table-catalog.md": "5.1.4",
233
+ "microi-deployment/SKILL.md": "5.1.4",
234
+ "microi-deployment/references/deployment-matrix.md": "5.1.4",
235
+ "microi-docs-coverage/SKILL.md": "5.1.4",
236
+ "microi-docs-coverage/references/capability-map.md": "5.1.4",
237
+ "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.1.4",
238
+ "microi-form-engine/SKILL.md": "5.1.4",
239
+ "microi-form-engine/references/component-catalog.md": "5.1.4",
240
+ "microi-form-engine/references/data-source-events.md": "5.1.4",
241
+ "microi-form-layout/SKILL.md": "5.1.4",
242
+ "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.1.4",
243
+ "microi-frontend-sdk/SKILL.md": "5.1.4",
244
+ "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.1.4",
245
+ "microi-left-right-layout/SKILL.md": "5.1.4",
246
+ "microi-microservice/SKILL.md": "5.1.4",
247
+ "microi-microservice/references/runtime-delivery.md": "5.1.4",
248
+ "microi-mobile-app-quality/SKILL.md": "5.1.4",
249
+ "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.1.4",
250
+ "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.1.4",
251
+ "microi-solution-quotation/SKILL.md": "5.1.4",
252
+ "microi-solution-quotation/agents/openai.yaml": "5.1.4",
253
+ "microi-solution-quotation/scripts/build_solution_quote.py": "5.1.4",
254
+ "microi-system-delivery/SKILL.md": "5.1.4",
255
+ "microi-system-delivery/references/progressive-01-标准工作流.md": "5.1.4",
256
+ "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.1.4",
257
+ "microi-ui/SKILL.md": "5.1.4",
258
+ "microi-ui/references/progressive-01-移动端场景蓝图.md": "5.1.4",
259
+ "microi-uniapp-frontend/SKILL.md": "5.1.4",
260
+ "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.1.4",
261
+ "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.1.4",
262
+ "microi.v8.js": "5.1.4",
263
+ "module-engine/SKILL.md": "5.1.4",
264
+ "module-engine/references/module-config.md": "5.1.4",
265
+ "ocr-engine/SKILL.md": "5.1.4",
266
+ "ocr-engine/agents/openai.yaml": "5.1.4",
267
+ "page-engine/SKILL.md": "5.1.4",
268
+ "page-engine/references/progressive-01-所有组件类型.md": "5.1.4",
269
+ "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.1.4",
270
+ "performance-testing/SKILL.md": "5.1.4",
271
+ "playwright-e2e/SKILL.md": "5.1.4",
272
+ "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.1.4",
273
+ "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.1.4",
274
+ "playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.1.4",
275
+ "playwright-e2e/references/progressive-04-ci-建议.md": "5.1.4",
276
+ "print-engine/SKILL.md": "5.1.4",
277
+ "production-readonly-audit/SKILL.md": "5.1.4",
278
+ "report-engine/SKILL.md": "5.1.4",
279
+ "report-engine/agents/openai.yaml": "5.1.4",
280
+ "scripts/optimize-progressive-disclosure.mjs": "5.1.4",
281
+ "scripts/refresh-progressive-disclosure.mjs": "5.1.4",
282
+ "scripts/validate-progressive-disclosure.mjs": "5.1.4",
283
+ "search-engine/SKILL.md": "5.1.4",
284
+ "search-engine/agents/openai.yaml": "5.1.4",
285
+ "spider-engine/SKILL.md": "5.1.4",
286
+ "translate-engine/SKILL.md": "5.1.4",
287
+ "translate-engine/agents/openai.yaml": "5.1.4",
288
+ "ui-design/SKILL.md": "5.1.4",
289
+ "ui-design/assets/pattern-showcase/app.js": "5.1.4",
290
+ "ui-design/assets/pattern-showcase/index.html": "5.1.4",
291
+ "ui-design/assets/pattern-showcase/styles.css": "5.1.4",
292
+ "ui-design/assets/templates/MCI-DESIGN.md": "5.1.4",
293
+ "ui-design/references/design-pattern-library.md": "5.1.4",
294
+ "ui-design/references/mci-design-contract.md": "5.1.4",
295
+ "ui-design/references/motion-and-media.md": "5.1.4",
296
+ "ui-design/references/product-flow-recipes.md": "5.1.4",
297
+ "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.1.4",
298
+ "ui-design/references/progressive-02-字体.md": "5.1.4",
299
+ "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.1.4",
300
+ "ui-design/references/progressive-04-组件风格速查.md": "5.1.4",
301
+ "ui-design/references/progressive-05-移动端专用规范.md": "5.1.4",
302
+ "ui-design/references/progressive-06-主题切换实现.md": "5.1.4",
303
+ "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.1.4",
304
+ "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.1.4",
305
+ "uniapp-mall-assets/SKILL.md": "5.1.4",
306
+ "unity-integration/SKILL.md": "5.1.4",
307
+ "unity-integration/agents/openai.yaml": "5.1.4",
308
+ "unity-integration/references/ai-app-delivery.md": "5.1.4",
309
+ "unity-integration/references/sdk-api.md": "5.1.4",
310
+ "unity-integration/references/toolbox-migration.md": "5.1.4",
311
+ "unity-integration/references/webgl-hosting.md": "5.1.4",
312
+ "v8-api-config/SKILL.md": "5.1.4",
313
+ "v8-cache-pattern/SKILL.md": "5.1.4",
314
+ "v8-crud-api/SKILL.md": "5.1.4",
315
+ "v8-crud-api/references/progressive-01-查询列表-分页.md": "5.1.4",
316
+ "v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.1.4",
317
+ "v8-debugging/SKILL.md": "5.1.4",
318
+ "v8-explorer-tree/SKILL.md": "5.1.4",
319
+ "v8-export-import/SKILL.md": "5.1.4",
320
+ "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.1.4",
321
+ "v8-export-import/references/progressive-02-powerpoint-导出.md": "5.1.4",
322
+ "v8-export-import/references/progressive-03-安全-性能注意.md": "5.1.4",
323
+ "v8-file-upload/SKILL.md": "5.1.4",
324
+ "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.1.4",
325
+ "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.1.4",
326
+ "v8-formengine-http/SKILL.md": "5.1.4",
327
+ "v8-frontend-events/SKILL.md": "5.1.4",
328
+ "v8-frontend-events/references/bluetooth-print-api.md": "5.1.4",
329
+ "v8-frontend-events/references/bluetooth-print.md": "5.1.4",
330
+ "v8-frontend-events/references/progressive-01-列表事件.md": "5.1.4",
331
+ "v8-http-integration/SKILL.md": "5.1.4",
332
+ "v8-http-integration/references/progressive-01-get-请求.md": "5.1.4",
333
+ "v8-http-integration/references/progressive-02-错误处理模式.md": "5.1.4",
334
+ "v8-image-processing/SKILL.md": "5.1.4",
335
+ "v8-image-processing/agents/openai.yaml": "5.1.4",
336
+ "v8-image-processing/references/api-reference.md": "5.1.4",
337
+ "v8-menu-buttons/SKILL.md": "5.1.4",
338
+ "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.1.4",
339
+ "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.1.4",
340
+ "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.1.4",
341
+ "v8-mongodb/SKILL.md": "5.1.4",
342
+ "v8-mq-mqtt/SKILL.md": "5.1.4",
343
+ "v8-mq-mqtt/references/mqtt-production.md": "5.1.4",
344
+ "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.1.4",
345
+ "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.1.4",
346
+ "v8-saas-multi-tenant/SKILL.md": "5.1.4",
347
+ "v8-security/SKILL.md": "5.1.4",
348
+ "v8-security/references/progressive-01-2-权限校验.md": "5.1.4",
349
+ "v8-security/references/progressive-02-7-日志记录.md": "5.1.4",
350
+ "v8-sql-query/SKILL.md": "5.1.4",
351
+ "v8-table-event/SKILL.md": "5.1.4",
352
+ "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.1.4",
353
+ "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.1.4",
354
+ "v8-tcp-integration/SKILL.md": "5.1.4",
355
+ "v8-tcp-integration/agents/openai.yaml": "5.1.4",
356
+ "v8-template-engine/SKILL.md": "5.1.4",
357
+ "v8-utilities/SKILL.md": "5.1.4",
358
+ "v8-utilities/references/client-api-index.md": "5.1.4",
359
+ "v8-utilities/references/platform-http-routes.md": "5.1.4",
360
+ "v8-utilities/references/server-api-index.md": "5.1.4",
361
+ "v8-workflow/SKILL.md": "5.1.4",
362
+ "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.1.4",
363
+ "workspace-conventions/SKILL.md": "5.1.4",
364
+ "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.1.4",
365
+ "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.1.4",
366
+ "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.1.4"
367
367
  },
368
368
  "files": [
369
369
  ".microi-skills-version.json",
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "5.1.2",
2
+ "version": "5.1.4",
3
3
  "versionRule": "Microi version uses three numeric parts. Each publish increments the last part; when a part exceeds 9 it carries to the previous part: 1.0.9 -> 1.1.0, 1.9.9 -> 2.0.0.",
4
4
  "managedBy": "Microi.VSCode/bump-version.js",
5
- "updatedAt": "2026-08-18T19:17:55.929Z"
5
+ "updatedAt": "2026-08-19T03:29:34.626Z"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-08-18T02:40:05.582Z",
3
+ "generatedAt": "2026-08-18T21:52:02.147Z",
4
4
  "policy": {
5
5
  "maxEntryLines": 285,
6
6
  "referenceBudgetLines": 245,
@@ -8,11 +8,11 @@
8
8
  },
9
9
  "skills": {
10
10
  "ai-platform-governance": {
11
- "originalSha256": "606692e87154209148312ad78b8f028c80dc915e0e1d7bb1ce383903173d359f",
12
- "originalLines": 325,
11
+ "originalSha256": "05f3d5e9251f98c5e1ad91d21999ad689e820c403056327b7bf30c364b787636",
12
+ "originalLines": 323,
13
13
  "prefixSha256": "dba917e613767e37f033527a17d009ba3e94b44ac9970ef59556d689f92a8bda",
14
14
  "prefixBytes": 765,
15
- "entryLines": 180,
15
+ "entryLines": 178,
16
16
  "chunks": [
17
17
  {
18
18
  "id": "ai-platform-governance-000",
@@ -34,7 +34,7 @@
34
34
  "id": "ai-platform-governance-002",
35
35
  "ordinal": 2,
36
36
  "destination": "ai-platform-governance/SKILL.md",
37
- "sha256": "682eba607296c69de8b3dd9b6d0e72dadf380f839b15f66b5ff271b3d2bae0a9",
37
+ "sha256": "527f1cda978f88d0d1507d90aac71089f7585699f0ad7d5266dc7e40ba026b7c",
38
38
  "lines": 26,
39
39
  "heading": "官方应用事实"
40
40
  },
@@ -42,8 +42,8 @@
42
42
  "id": "ai-platform-governance-003",
43
43
  "ordinal": 3,
44
44
  "destination": "ai-platform-governance/SKILL.md",
45
- "sha256": "d70597d2cd0cdc2cf7e96d18613a3a65ba8da5c28312bf913f6abe1c0850cf9d",
46
- "lines": 28,
45
+ "sha256": "3d43295846e19e8b5cb526442ff8aff8f0317db88f5be803b5798e63118546e2",
46
+ "lines": 26,
47
47
  "heading": "菜单层级与语义"
48
48
  },
49
49
  {
@@ -36,17 +36,17 @@ description: Microi吾码 AI 平台治理中心设计、调用、扩展、应用
36
36
  - Secret 只保存引用;列表、Diff、错误、日志、截图、导出和运行台账不得出现密码、Token、私钥或连接串原文。
37
37
 
38
38
  <!-- /microi-progressive:chunk -->
39
- <!-- microi-progressive:chunk id=ai-platform-governance-002 sha256=682eba607296c69de8b3dd9b6d0e72dadf380f839b15f66b5ff271b3d2bae0a9 -->
39
+ <!-- microi-progressive:chunk id=ai-platform-governance-002 sha256=527f1cda978f88d0d1507d90aac71089f7585699f0ad7d5266dc7e40ba026b7c -->
40
40
  ## 官方应用事实
41
41
 
42
- 应用 Key:`ai-platform-studio`,当前资源合同版本:`v2.0.4`。
42
+ 应用 Key:`ai-platform-studio`,当前资源合同版本:`v2.0.9`。
43
43
 
44
44
  - 40 张 `mci_` 治理表和 5 张运行基础表,应用包共 45 张表、873 个字段;
45
- - 42 个后台菜单:1 `AI平台治理` 父菜单、1 `AI平台治理工作台` 微服务菜单和 40 个数据菜单;
45
+ - 42 条后台菜单兼容记录:仅 `AI平台治理` 作为可见 MicroService 入口;历史工作台和 40 个数据菜单保留原 Id、权限与升级身份,但统一隐藏;
46
46
  - 64 个接口引擎:57 个 `Managed`,7 个 `CreateIfMissing`;
47
47
  - 1 个 `MciAiPlatformMinuteSweep` 维护任务;
48
48
  - 10 个微服务路由:`overview`、`portal`、`identity`、`access`、`configuration`、`release`、`services`、`observability`、`assets`、`import`。
49
- - v2.0.4 保持数据资源合同不变;内部菜单只切换异步内容区并显示局部骨架屏,主题/reset/装饰样式限定在 `[data-mci-ui-root="ai-platform-studio"]`,不得重挂宿主 Tab 或污染吾码 Logo 与主菜单。
49
+ - v2.0.9 保持表、接口、任务和菜单 Id 合同不变;10 个业务域页面及 40 类治理资源全部由工作台内部路由、操作面板和台账入口承载。隐藏的历史工作台菜单必须使用独立兼容 URL,不能与新的唯一入口争用 `sys_menu.Url`。发行版本、Manifest 版本与 `.microi-micro-app.json` 运行时版本必须同时提升并保持一致。内部切换只更新异步内容区并显示局部骨架屏,主题/reset/装饰样式限定在 `[data-mci-ui-root="ai-platform-studio"]`,不得重挂宿主 Tab 或污染吾码 Logo 与主菜单。
50
50
 
51
51
  租户 Hook:
52
52
 
@@ -63,19 +63,17 @@ mci-release-execute-extension
63
63
  Hook 首次创建后归租户维护,升级永不覆盖,也不得把同 Key 改回 `Managed`。
64
64
 
65
65
  <!-- /microi-progressive:chunk -->
66
- <!-- microi-progressive:chunk id=ai-platform-governance-003 sha256=d70597d2cd0cdc2cf7e96d18613a3a65ba8da5c28312bf913f6abe1c0850cf9d -->
66
+ <!-- microi-progressive:chunk id=ai-platform-governance-003 sha256=3d43295846e19e8b5cb526442ff8aff8f0317db88f5be803b5798e63118546e2 -->
67
67
  ## 菜单层级与语义
68
68
 
69
- 应用安装或升级后必须形成以下层级,禁止把 40 个数据菜单平铺到根级或直接平铺在系统引擎下:
69
+ 应用安装或升级后只保留一个可见入口,禁止把历史工作台或 40 个数据菜单继续暴露到导航:
70
70
 
71
71
  ```text
72
72
  系统引擎 (cdc0844b-7249-4d64-a9c3-563a15c9cd20)
73
- └─ AI平台治理 (SecondMenu)
74
- ├─ AI平台治理工作台 (MicroService: /micro-app/ai-platform-studio/overview)
75
- └─ 40 个 AI平台治理·* 数据菜单
73
+ └─ AI平台治理 (MicroService: /micro-app/ai-platform-studio/overview)
76
74
  ```
77
75
 
78
- `AI平台治理工作台` 是 10 个治理页面的统一操作入口,必须同时绑定 `MicroServiceId`、`MicroServicePageId`、`MicroServiceRoutePath=/overview` 和 `MicroServiceKey=ai-platform-studio`;不得只创建普通 URL 菜单。`system.manifest.json.menuCatalog` 是数据菜单用途与排序的事实源。40 个数据菜单按以下 9 个业务域排序:
76
+ `AI平台治理` 是 10 个治理页面的唯一可见操作入口,必须同时绑定 `MicroServiceId`、`MicroServicePageId`、`MicroServiceRoutePath=/overview` 和 `MicroServiceKey=ai-platform-studio`;不得只创建普通 URL 菜单。历史菜单记录必须保持稳定 Id 并设置 `Display=0`、`AppDisplay=0`,避免删除后破坏旧角色权限、收藏与升级定位。`system.manifest.json.menuCatalog` 40 类治理资源用途与工作台内部分组的事实源,它们按以下 9 个业务域组织:
79
77
 
80
78
  | 业务域 | 数据菜单 | 主要作用 |
81
79
  |---|---|---|
@@ -73,6 +73,8 @@ description: Microi 应用商城开发、打包、安装和升级规范。用于
73
73
  - 商城主页面统一承载应用市场、已安装、我发布的应用、安装离线包和来源管理,不能再通过独立菜单或路由割裂上下文。来源增删改启停逐项自动保存;来源管理、详情和复杂配置使用平台统一 `80%` 可拖动大圆角 Dialog,遮罩服从 `sys_config.DisableFormMaskBlur`。
74
74
  - 每张应用卡必须显示预览图、公开范围、分类、最新版本、当前租户已安装版本及状态色。来源卡必须显示其公开数和当前授权可访问总数;平台官方发布节点只显示“平台官方应用源”身份标记,不显示安装、更新或重新安装操作。
75
75
  - 安装可明确选择 `sys_microistore` 当前版本或 `mic_data_version` 中仍含完整包正文的历史快照;后台任务必须把 `StoreVersionId` 一直传到详情取包并把实际安装版本写回 `sys_microistoreversion`。回退旧版属于重新安装,不得静默换成最新版。
76
+ - 应用详情的版本选择必须服务端分页和搜索,默认每页不超过 20 条;当前版本固定置顶,历史版本只返回仍包含完整包正文的可安装状态。禁止用 `_PageSize:500` 或一次加载全部版本后在浏览器过滤。翻页、搜索与页大小切换都必须保持已选版本语义并显示总数。
77
+ - 商城详情、来源管理等 Teleport 弹层必须使用宿主级固定遮罩,毛玻璃覆盖完整可视区域;标题栏拖动按弹层真实尺寸限制四边,窗口缩放后重新限制,不能依赖固定像素最大位移或允许内容越出视口。
76
78
  - “我发布的应用”只读取当前登录用户拥有的记录,可以包含草稿和构建失败项;普通商城列表只读取已发布项。两者必须在服务端按 Owner 和发布状态过滤,不能依赖浏览器过滤后再分页。
77
79
 
78
80
  ## 发布版本与资源选择
@@ -192,10 +192,10 @@ Microi 项目必须支持用户或项目级形态偏好:`data-mci-shape="round
192
192
 
193
193
  - **只升级呈现,不改变业务链路**:不得删除、合并或绕开页面 V8 按钮、行 V8 按钮、批量按钮、字段事件、表单事件、权限判断、校验、工作流与保存逻辑。按钮仍应出现在其业务语义对应的位置;只有原本属于“更多”的操作才进入更多菜单。
194
194
  - **普通表单使用连续画布**:弹窗/页面的表单区使用柔和底色,普通字段外壳透明、无独立边框和阴影,只有输入、选择、日期、文本域等真实控件使用白色/主题高亮表面;禁止把每个字段切成一张小卡片。系统设置、控制中心等明确配置为工作台的模式可以保留分区卡片。字段间距以一屏可读更多信息为目标,布局字段、富文本、上传、地图、代码编辑器、子表等重型控件不强制固定高度。
195
- - **尊重三种标签布局**:`left`、`right`、`top` 三种 `FormLabelPosition` 必须完整保留,标签宽度继续服从表单配置;移动窄屏允许回落到顶部标签,但不能破坏桌面配置语义。
195
+ - **尊重三种标签布局**:`left`、`right`、`top` 三种 `FormLabelPosition` 必须完整保留,标签宽度继续服从表单配置;移动窄屏允许回落到顶部标签,但不能破坏桌面配置语义。字段存在说明文字时,`left/right` 把灰色小字放在 Label 与控件整行下方,默认最多两行并压缩上下间距;`top` 把说明放在 Label 右侧,单行省略并通过原生 `title` 或等价可访问方式查看全文。不得再以孤立 `i` 图标和仅鼠标悬停 Tooltip 作为默认说明入口。
196
196
  - **Label 与紧凑控件共用中心线**:左右标签布局下,普通字段 Label、输入控件、日期文字与日期前缀图标必须共用同一控件高度和垂直中心线;不得保留会把 Label 单独上抬/下压的底部外边距。多行文本、上传、子表等高控件才切换为顶部对齐。
197
197
  - **弹窗与抽屉边界有区别**:表单对话框采用中性细边界、柔和遮罩与模糊背景,标题顶部不加装饰色线;抽屉必须贴边且无圆角,可在顶部保留克制的 2–3px 主题色识别线。两者都使用连续的柔和表单画布和紧凑操作区;设计器双击字段弹窗必须可拖动,并继续提供控件专项配置入口。
198
- - **平台 Dialog 统一壳**:除 Drawer 外,框架弹层、微应用弹层、系统设置、商城、通知与业务表单默认使用 20–24px 大圆角、居中、标题栏可拖动的 Dialog;禁止页面自行恢复方角壳或顶部主题色粗线。遮罩默认毛玻璃,只有 `sys_config.DisableFormMaskBlur=1/true` 才全局关闭;`prefers-reduced-motion` 只能停止动画与过渡,不得关闭静态毛玻璃。
198
+ - **平台 Dialog 统一壳**:除 Drawer 外,框架弹层、微应用弹层、系统设置、商城、通知与业务表单默认使用 20–24px 大圆角、上下左右居中、标题栏可拖动的 Dialog;禁止页面自行恢复方角壳或顶部主题色粗线。标题栏左侧依次提供语义图标、英文眉题、大字标题和可选小字副标题;右上关闭按钮与标题区垂直居中并必须有可辨识的按钮底色。内容区使用连续、固定的柔和背景和整齐栅格;底部操作区右对齐大号关闭/保存按钮,两者都带语义图标。拖动与窗口缩放必须按弹层真实宽高重新约束,四边至少保留 8–18px 可视余量,不得把内容拖出视口。Teleport 到 `body` 的微应用弹层必须在弹层根同步 `data-mci-ui-root`、主题与必要 token,不能只依赖原祖先 CSS 变量。遮罩默认毛玻璃,只有 `sys_config.DisableFormMaskBlur=1/true` 才全局关闭;`prefers-reduced-motion` 只能停止动画与过渡,不得关闭静态毛玻璃。
199
199
  - **Tabs 统一视觉**:顶部工作区、数据列表 PageTabs、表单 Tabs 与右侧关联数据 Tabs 使用同一套清爽、独立标签视觉。横向 Tabs 禁止铺设贯穿整行的有色轨道、边框底板、下划线或其它装饰线;未选项保持透明,悬停与选中只使用克制的文字色、浅色独立表面和轻阴影。纵向 Tabs 可使用截图式中性浅色分组容器,选中项是独立浅色卡片。数字角标放在标签文本之后且不得挤压标题;过渡只用于交互,并尊重 `prefers-reduced-motion`。
200
200
  - **表格与卡片行为完整**:桌面数据卡片采用连续白色表面、弱边界和轻阴影,操作区不得再叠加有色底板或硬分割线;表格模块门头的标题/副标题卡片与每个动态统计卡片必须彼此独立,父布局保持透明,禁止用一个大卡片或外框把标题和全部统计项包在一起。表格默认取消无意义的纵向网格,只保留浅表头与轻量横向行节奏,工具栏和分页不得层层套框。`PageBtns`、`BatchSelect`、行内/行外 V8 按钮均不可因改版丢失;需多选而当前未选中时,应先把当前记录纳入选中集再执行。
201
201
  - **启动状态可理解、可恢复**:Vue 挂载和业务就绪是两个状态。进度到 100% 后若仍在初始化,应显示“正在连接/后端响应较慢/仍在等待”等阶段文字;明确失败时提供原因摘要与刷新重试,禁止撤掉启动层后留下空白页。
@@ -123,7 +123,14 @@ omissions: []
123
123
  | 搜索 / 筛选 | | | | | | |
124
124
  | 列表 / 数据卡片 | | | | | - | |
125
125
  | 表单 | | | | | | |
126
- | 弹层 | | | | | | |
126
+ | 弹层 | 20–24px 大圆角、居中;图标 + 英文眉题 + 标题 + 副标题;连续柔和内容底 | 关闭按钮有可见底色;标题栏可拖动且四边留在视口 | 首个可操作控件获得焦点,Esc/关闭路径明确 | 拖动边界按真实尺寸钳制,窗口缩放后重新钳制 | 提交按钮显示进度并防重复 | 错误留在关联字段或底部操作区,可恢复 |
127
+
128
+ ### 弹层
129
+
130
+ - 页头:左侧语义图标、英文眉题、大字标题、可选小字副标题;右上关闭按钮有独立背景并垂直居中。
131
+ - 内容:使用连续柔和背景和整齐栅格,不把普通字段拆成小卡片。
132
+ - 页脚:右侧大号关闭与保存按钮,均带语义图标。
133
+ - 行为:默认上下左右居中,PC 标题栏可拖动;按弹层真实宽高限制四边并在窗口缩放后重新限制。Teleport 到 `body` 时同步应用根标识与主题 token。
127
134
 
128
135
  ### 数据卡片
129
136