@microi.net/cli 5.2.7 → 5.2.8

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.
@@ -1,13 +1,13 @@
1
1
  {
2
- "builtAt": "2026-08-24T10:38:42.263Z",
2
+ "builtAt": "2026-08-25T00:14:29.656Z",
3
3
  "source": "../microi.skills",
4
4
  "extension": {
5
5
  "name": "v8-engine",
6
- "version": "5.2.7",
6
+ "version": "5.2.8",
7
7
  "publisher": "Microi"
8
8
  },
9
9
  "skills": {
10
- "version": "5.2.7",
10
+ "version": "5.2.8",
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": 178,
17
17
  "skills": 65,
18
- "bytes": 2228342
18
+ "bytes": 2250096
19
19
  },
20
20
  "fileHashes": {
21
- ".microi-skills-version.json": "f7087f6478f393478c654fc3a3641b2fa853933673423505705d785b85b9cf7c",
22
- ".progressive-disclosure-manifest.json": "4bf7470dd5bfbd69f193a7b8634048adfbb007a06753793609d63d67eee5e00d",
21
+ ".microi-skills-version.json": "ad39d3393432fa2341308d8b5926a7a3bb839d18a6413cad2472dab561150b12",
22
+ ".progressive-disclosure-manifest.json": "647fb9b710b958ca64713c45bb0e8a17252ec7f2913179327a26525a2cd5a31d",
23
23
  "README.md": "332aade05015acac5f1387829a42529f37fc203ff0fcfb2f16cc3afdbb23b1ed",
24
- "ai-engine/SKILL.md": "e3a5fb5084a9ed92d90a85b203065f0172c75cd363e744beb151d442e6f8a5e5",
24
+ "ai-engine/SKILL.md": "df63cf56bd06027f30bd0597003c65b479049141fc0b4a31d33cbc9a5fa044cf",
25
25
  "ai-engine/agents/openai.yaml": "40deb07801006a46b9a7f0020d13251955eeadd04c8e591160210479936f8b5b",
26
26
  "ai-platform-governance/SKILL.md": "84ca4bcacf15deecd0c04dc1a664b23041a6a5f020d3a5288c5458b5e7da4b8e",
27
27
  "ai-platform-governance/references/progressive-01-功能开关.md": "ea46fb02267e9e3ace3d9d72e67b02183c61e5c198f4b2f27e8196d6ee6d0bec",
28
- "app-store/SKILL.md": "361a260b61b19df0903f92eee349a78c4c22fb30ef582a71e5722c9af814cff8",
28
+ "app-store/SKILL.md": "55f03986168fb5bac82b631e88baa1bc0b666412e34c9b7b92b3302642c2324a",
29
29
  "app-store/agents/openai.yaml": "eda8f5cf043e7b8fb0e4fb3acf0625fef95eb49586b43187ced277cd0ae4a2c4",
30
30
  "business-blueprint/SKILL.md": "01619a3b6d37b5b67649ee59d2701301222006d3b943882b2802b1721c58f8a9",
31
31
  "datasource-engine/SKILL.md": "bed8352f1d43b55145e1c492d1ea0ca1ec8750b5c4d74e1e80cd71aa7b9a2e6f",
@@ -34,7 +34,7 @@
34
34
  "dos-orm/references/api-reference.md": "facc5e62cd6439a06263580dab9656271118d4bb5a91b5d9230a79136e6daa72",
35
35
  "job-engine/SKILL.md": "5d3322f183475bdb7acfa157112bcee3b859b740caeafb57a7afaba0efb58d0d",
36
36
  "job-engine/agents/openai.yaml": "65889ee39bc34caca9085539d8954a381aab93590c5635eea3bb6f4c001934af",
37
- "message-notification/SKILL.md": "54c92a1bfd4ae7fa42ef87775f209ea3e935d0fcec4fa352511553084b23bd75",
37
+ "message-notification/SKILL.md": "6a74c82fa2aa4295a027c72e3cd364dc71e0836fd77d5ae207cbbfa24fcbd2ee",
38
38
  "message-notification/agents/openai.yaml": "d0e259921410e94caaf8b376d690a529842446e3f32c9523b7dfd1bda599f58c",
39
39
  "message-notification/references/contracts.md": "752a5acdd6481dd2386d116eaa8b59401dcef8fc07185208c5e835e17b979afe",
40
40
  "microi-ai-app-auth.js": "8023db6ae655bc33027f389a64ef7937ac09da35eb1b8a497aaefb986834242a",
@@ -152,7 +152,7 @@
152
152
  "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "71ab3c94a6034f2d0c374de594104543770cb1313a6515494a213a1ecdf5baf7",
153
153
  "v8-export-import/references/progressive-02-powerpoint-导出.md": "5837905a195be7c38fe37e0abd40eee95a8bc26acdab1f3a9aba01c264a125ae",
154
154
  "v8-export-import/references/progressive-03-安全-性能注意.md": "a2acc492740eb693be5a0ad275cabcba7a813aa7378c844e43b04233d03a9d0c",
155
- "v8-file-upload/SKILL.md": "e6254bea7663c475963619feadfb5c44f2cfd7a18577d4fec364cf9e23f9eb34",
155
+ "v8-file-upload/SKILL.md": "d05c6f18e4099ce67f3f56ded1c2934fa4a0224d5bc9fc9ff34d92a8e4df8192",
156
156
  "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "bd81f9f6a07251016dd8abb7ce52b1148685c47116b0aadd3082bf8bc7587774",
157
157
  "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "ab5a0d6f9e0f39a036d48d7f87cfac8aed5575f42dcbabc9f34ad723ade2e1be",
158
158
  "v8-formengine-http/SKILL.md": "8338e9087e93bb41ad260863b076db387373c606e481bf49809c447083c761d1",
@@ -170,13 +170,13 @@
170
170
  "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "d64938d7b17a77fd8a83e16baf9a34a35a79f05a96b47794cfd8401e173df6cc",
171
171
  "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "7a3ab56864a0485279e53bad65ff8f3f880a3495b16a48a4bbf9b71e9e83ea2a",
172
172
  "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "36487289e5f20ba7d0b4e4a2fba737d1ac45395ffba037b84c88a8d50ed44901",
173
- "v8-mongodb/SKILL.md": "dbd34ce9b9577c5623ca68ea20bd72785a5bacb9eacaf1311026b2ed4c9bca22",
173
+ "v8-mongodb/SKILL.md": "526d77b0afd20417a0c03b2a8f958a6f8c99241f3f65bc01f642824ec55127ee",
174
174
  "v8-mq-mqtt/SKILL.md": "a96679cd2c87ade78dfe271a52d8562895c0d91b227cb28947cccbbf37a0320d",
175
175
  "v8-mq-mqtt/references/mqtt-production.md": "fec6dd18d58c0f0fc90a295286945f6e7cb7f43c60022c4fd9d48f9baafb35b9",
176
176
  "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "842c74bd8bc30b932346e34c0d4154edffc1bf6a5a8aaafaaa344f250394762c",
177
177
  "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "433b922578f37e95483a3d794ad0bf60ba6344fe9ea580eeb3d34b42c50d352f",
178
- "v8-saas-multi-tenant/SKILL.md": "7c2683b80e9b571408f79a2fa0ec7ed0e266c753183109b812d61da5b95f911f",
179
- "v8-security/SKILL.md": "f53f9882286bfa2e1977e8848c9726d4ca1ae6dfd9229000be260c318b6fc13c",
178
+ "v8-saas-multi-tenant/SKILL.md": "24754fb8fe34d5c3b0bf76925b0e82c033736135fa70aa4e314677bc23547b4d",
179
+ "v8-security/SKILL.md": "f7736752de7981deb6b62e468b20a2b7ca5654b6d7a93c56be1ce18a32a15e9b",
180
180
  "v8-security/references/progressive-01-2-权限校验.md": "a7e2314b8f2f9bf413956191ffeda6d2f823760def2b06bf6b4c1565e8f71816",
181
181
  "v8-security/references/progressive-02-7-日志记录.md": "2758de279da56e90587df8422e25a1ccfce5c3bdc1f1c363a90c666b6c3f298a",
182
182
  "v8-sql-query/SKILL.md": "23a12c6801627890d18ff9f1d09cdd1abbd9b08ffc12ef6a12c915d504ed3255",
@@ -189,7 +189,7 @@
189
189
  "v8-utilities/SKILL.md": "2cf8fc6d1a9296ea60bb89ea1b130ac5c9a1f9eb94802fed0cceaf8b61de1b30",
190
190
  "v8-utilities/references/client-api-index.md": "3362126197bd34191640d6bd532b16f1ed446c4a8a9d805f4973be5d58b90a4a",
191
191
  "v8-utilities/references/platform-http-routes.md": "ad07cc0c6b54a155cc22d071783ccef92cff2c295dcc09bb34da604c341d934f",
192
- "v8-utilities/references/server-api-index.md": "20f4cca2973e1180c9c69c4141b23719288fe3856be66ef62802b14b90e14b24",
192
+ "v8-utilities/references/server-api-index.md": "8e4392ac26fcf0c2a4715d966d526cb142a077dfb68bea0a117971ffaf23bc15",
193
193
  "v8-workflow/SKILL.md": "d068ceded6f338fece9443f354dff21dfcf744dd192dd6329b2e98692bb8181e",
194
194
  "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "9b6b01e7ac03c0a11bc837671a30107ff5c5f253029d74fd17713084104d7e99",
195
195
  "workspace-conventions/SKILL.md": "1ba87f3812a83469dfbec33e7efa34a401d3efda5bdbccb083c9c8e0f93f0321",
@@ -198,184 +198,184 @@
198
198
  "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "86db1f03700fd54dd824d28c553c678202e8f74b796fd0f9d91f63bf53a530b1"
199
199
  },
200
200
  "fileVersions": {
201
- ".microi-skills-version.json": "5.2.7",
202
- ".progressive-disclosure-manifest.json": "5.2.7",
203
- "README.md": "5.2.7",
204
- "ai-engine/SKILL.md": "5.2.7",
205
- "ai-engine/agents/openai.yaml": "5.2.7",
206
- "ai-platform-governance/SKILL.md": "5.2.7",
207
- "ai-platform-governance/references/progressive-01-功能开关.md": "5.2.7",
208
- "app-store/SKILL.md": "5.2.7",
209
- "app-store/agents/openai.yaml": "5.2.7",
210
- "business-blueprint/SKILL.md": "5.2.7",
211
- "datasource-engine/SKILL.md": "5.2.7",
212
- "datasource-engine/agents/openai.yaml": "5.2.7",
213
- "dos-orm/SKILL.md": "5.2.7",
214
- "dos-orm/references/api-reference.md": "5.2.7",
215
- "job-engine/SKILL.md": "5.2.7",
216
- "job-engine/agents/openai.yaml": "5.2.7",
217
- "message-notification/SKILL.md": "5.2.7",
218
- "message-notification/agents/openai.yaml": "5.2.7",
219
- "message-notification/references/contracts.md": "5.2.7",
220
- "microi-ai-app-auth.js": "5.2.7",
221
- "microi-ai-application/SKILL.md": "5.2.7",
222
- "microi-ai-application/agents/openai.yaml": "5.2.7",
223
- "microi-ai-application/references/frontend-baseline.md": "5.2.7",
224
- "microi-client-frontend/SKILL.md": "5.2.7",
225
- "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.2.7",
226
- "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.2.7",
227
- "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.2.7",
228
- "microi-codex-installer/SKILL.md": "5.2.7",
229
- "microi-codex-installer/agents/openai.yaml": "5.2.7",
230
- "microi-codex/SKILL.md": "5.2.7",
231
- "microi-datasource-mapping/SKILL.md": "5.2.7",
232
- "microi-db-schema/SKILL.md": "5.2.7",
233
- "microi-db-schema/agents/openai.yaml": "5.2.7",
234
- "microi-db-schema/references/core-tables.md": "5.2.7",
235
- "microi-db-schema/references/form-component-options.md": "5.2.7",
236
- "microi-db-schema/references/schema-overview.md": "5.2.7",
237
- "microi-db-schema/references/schema.md": "5.2.7",
238
- "microi-db-schema/references/table-catalog.md": "5.2.7",
239
- "microi-deployment/SKILL.md": "5.2.7",
240
- "microi-deployment/references/deployment-matrix.md": "5.2.7",
241
- "microi-docs-coverage/SKILL.md": "5.2.7",
242
- "microi-docs-coverage/references/capability-map.md": "5.2.7",
243
- "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.2.7",
244
- "microi-form-engine/SKILL.md": "5.2.7",
245
- "microi-form-engine/references/component-catalog.md": "5.2.7",
246
- "microi-form-engine/references/data-source-events.md": "5.2.7",
247
- "microi-form-layout/SKILL.md": "5.2.7",
248
- "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.2.7",
249
- "microi-frontend-sdk/SKILL.md": "5.2.7",
250
- "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.2.7",
251
- "microi-left-right-layout/SKILL.md": "5.2.7",
252
- "microi-microservice/SKILL.md": "5.2.7",
253
- "microi-microservice/references/runtime-delivery.md": "5.2.7",
254
- "microi-mobile-app-quality/SKILL.md": "5.2.7",
255
- "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.2.7",
256
- "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.2.7",
257
- "microi-solution-quotation/SKILL.md": "5.2.7",
258
- "microi-solution-quotation/agents/openai.yaml": "5.2.7",
259
- "microi-solution-quotation/scripts/build_solution_quote.py": "5.2.7",
260
- "microi-sso/SKILL.md": "5.2.7",
261
- "microi-sso/references/acceptance.md": "5.2.7",
262
- "microi-sso/references/configuration-and-security.md": "5.2.7",
263
- "microi-sso/references/inbound.md": "5.2.7",
264
- "microi-sso/references/outbound.md": "5.2.7",
265
- "microi-system-delivery/SKILL.md": "5.2.7",
266
- "microi-system-delivery/references/progressive-01-标准工作流.md": "5.2.7",
267
- "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.2.7",
268
- "microi-ui/SKILL.md": "5.2.7",
269
- "microi-ui/references/progressive-01-移动端场景蓝图.md": "5.2.7",
270
- "microi-uniapp-frontend/SKILL.md": "5.2.7",
271
- "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.2.7",
272
- "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.2.7",
273
- "microi.v8.js": "5.2.7",
274
- "module-engine/SKILL.md": "5.2.7",
275
- "module-engine/references/module-config.md": "5.2.7",
276
- "ocr-engine/SKILL.md": "5.2.7",
277
- "ocr-engine/agents/openai.yaml": "5.2.7",
278
- "page-engine/SKILL.md": "5.2.7",
279
- "page-engine/references/progressive-01-所有组件类型.md": "5.2.7",
280
- "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.2.7",
281
- "performance-testing/SKILL.md": "5.2.7",
282
- "playwright-e2e/SKILL.md": "5.2.7",
283
- "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.2.7",
284
- "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.2.7",
285
- "playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.2.7",
286
- "playwright-e2e/references/progressive-04-ci-建议.md": "5.2.7",
287
- "print-engine/SKILL.md": "5.2.7",
288
- "production-readonly-audit/SKILL.md": "5.2.7",
289
- "report-engine/SKILL.md": "5.2.7",
290
- "report-engine/agents/openai.yaml": "5.2.7",
291
- "scripts/optimize-progressive-disclosure.mjs": "5.2.7",
292
- "scripts/refresh-progressive-disclosure.mjs": "5.2.7",
293
- "scripts/validate-progressive-disclosure.mjs": "5.2.7",
294
- "search-engine/SKILL.md": "5.2.7",
295
- "search-engine/agents/openai.yaml": "5.2.7",
296
- "spider-engine/SKILL.md": "5.2.7",
297
- "system-observability/SKILL.md": "5.2.7",
298
- "translate-engine/SKILL.md": "5.2.7",
299
- "translate-engine/agents/openai.yaml": "5.2.7",
300
- "ui-design/SKILL.md": "5.2.7",
301
- "ui-design/assets/pattern-showcase/app.js": "5.2.7",
302
- "ui-design/assets/pattern-showcase/index.html": "5.2.7",
303
- "ui-design/assets/pattern-showcase/styles.css": "5.2.7",
304
- "ui-design/assets/templates/MCI-DESIGN.md": "5.2.7",
305
- "ui-design/references/design-pattern-library.md": "5.2.7",
306
- "ui-design/references/mci-design-contract.md": "5.2.7",
307
- "ui-design/references/motion-and-media.md": "5.2.7",
308
- "ui-design/references/product-flow-recipes.md": "5.2.7",
309
- "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.2.7",
310
- "ui-design/references/progressive-02-字体.md": "5.2.7",
311
- "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.2.7",
312
- "ui-design/references/progressive-04-组件风格速查.md": "5.2.7",
313
- "ui-design/references/progressive-05-移动端专用规范.md": "5.2.7",
314
- "ui-design/references/progressive-06-主题切换实现.md": "5.2.7",
315
- "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.2.7",
316
- "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.2.7",
317
- "uniapp-mall-assets/SKILL.md": "5.2.7",
318
- "unity-integration/SKILL.md": "5.2.7",
319
- "unity-integration/agents/openai.yaml": "5.2.7",
320
- "unity-integration/references/ai-app-delivery.md": "5.2.7",
321
- "unity-integration/references/sdk-api.md": "5.2.7",
322
- "unity-integration/references/toolbox-migration.md": "5.2.7",
323
- "unity-integration/references/webgl-hosting.md": "5.2.7",
324
- "v8-api-config/SKILL.md": "5.2.7",
325
- "v8-cache-pattern/SKILL.md": "5.2.7",
326
- "v8-crud-api/SKILL.md": "5.2.7",
327
- "v8-crud-api/references/progressive-01-查询列表-分页.md": "5.2.7",
328
- "v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.2.7",
329
- "v8-debugging/SKILL.md": "5.2.7",
330
- "v8-explorer-tree/SKILL.md": "5.2.7",
331
- "v8-export-import/SKILL.md": "5.2.7",
332
- "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.2.7",
333
- "v8-export-import/references/progressive-02-powerpoint-导出.md": "5.2.7",
334
- "v8-export-import/references/progressive-03-安全-性能注意.md": "5.2.7",
335
- "v8-file-upload/SKILL.md": "5.2.7",
336
- "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.2.7",
337
- "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.2.7",
338
- "v8-formengine-http/SKILL.md": "5.2.7",
339
- "v8-frontend-events/SKILL.md": "5.2.7",
340
- "v8-frontend-events/references/bluetooth-print-api.md": "5.2.7",
341
- "v8-frontend-events/references/bluetooth-print.md": "5.2.7",
342
- "v8-frontend-events/references/progressive-01-列表事件.md": "5.2.7",
343
- "v8-http-integration/SKILL.md": "5.2.7",
344
- "v8-http-integration/references/progressive-01-get-请求.md": "5.2.7",
345
- "v8-http-integration/references/progressive-02-错误处理模式.md": "5.2.7",
346
- "v8-image-processing/SKILL.md": "5.2.7",
347
- "v8-image-processing/agents/openai.yaml": "5.2.7",
348
- "v8-image-processing/references/api-reference.md": "5.2.7",
349
- "v8-menu-buttons/SKILL.md": "5.2.7",
350
- "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.2.7",
351
- "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.2.7",
352
- "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.2.7",
353
- "v8-mongodb/SKILL.md": "5.2.7",
354
- "v8-mq-mqtt/SKILL.md": "5.2.7",
355
- "v8-mq-mqtt/references/mqtt-production.md": "5.2.7",
356
- "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.2.7",
357
- "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.2.7",
358
- "v8-saas-multi-tenant/SKILL.md": "5.2.7",
359
- "v8-security/SKILL.md": "5.2.7",
360
- "v8-security/references/progressive-01-2-权限校验.md": "5.2.7",
361
- "v8-security/references/progressive-02-7-日志记录.md": "5.2.7",
362
- "v8-sql-query/SKILL.md": "5.2.7",
363
- "v8-table-event/SKILL.md": "5.2.7",
364
- "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.2.7",
365
- "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.2.7",
366
- "v8-tcp-integration/SKILL.md": "5.2.7",
367
- "v8-tcp-integration/agents/openai.yaml": "5.2.7",
368
- "v8-template-engine/SKILL.md": "5.2.7",
369
- "v8-utilities/SKILL.md": "5.2.7",
370
- "v8-utilities/references/client-api-index.md": "5.2.7",
371
- "v8-utilities/references/platform-http-routes.md": "5.2.7",
372
- "v8-utilities/references/server-api-index.md": "5.2.7",
373
- "v8-workflow/SKILL.md": "5.2.7",
374
- "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.2.7",
375
- "workspace-conventions/SKILL.md": "5.2.7",
376
- "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.2.7",
377
- "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.2.7",
378
- "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.2.7"
201
+ ".microi-skills-version.json": "5.2.8",
202
+ ".progressive-disclosure-manifest.json": "5.2.8",
203
+ "README.md": "5.2.8",
204
+ "ai-engine/SKILL.md": "5.2.8",
205
+ "ai-engine/agents/openai.yaml": "5.2.8",
206
+ "ai-platform-governance/SKILL.md": "5.2.8",
207
+ "ai-platform-governance/references/progressive-01-功能开关.md": "5.2.8",
208
+ "app-store/SKILL.md": "5.2.8",
209
+ "app-store/agents/openai.yaml": "5.2.8",
210
+ "business-blueprint/SKILL.md": "5.2.8",
211
+ "datasource-engine/SKILL.md": "5.2.8",
212
+ "datasource-engine/agents/openai.yaml": "5.2.8",
213
+ "dos-orm/SKILL.md": "5.2.8",
214
+ "dos-orm/references/api-reference.md": "5.2.8",
215
+ "job-engine/SKILL.md": "5.2.8",
216
+ "job-engine/agents/openai.yaml": "5.2.8",
217
+ "message-notification/SKILL.md": "5.2.8",
218
+ "message-notification/agents/openai.yaml": "5.2.8",
219
+ "message-notification/references/contracts.md": "5.2.8",
220
+ "microi-ai-app-auth.js": "5.2.8",
221
+ "microi-ai-application/SKILL.md": "5.2.8",
222
+ "microi-ai-application/agents/openai.yaml": "5.2.8",
223
+ "microi-ai-application/references/frontend-baseline.md": "5.2.8",
224
+ "microi-client-frontend/SKILL.md": "5.2.8",
225
+ "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.2.8",
226
+ "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.2.8",
227
+ "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.2.8",
228
+ "microi-codex-installer/SKILL.md": "5.2.8",
229
+ "microi-codex-installer/agents/openai.yaml": "5.2.8",
230
+ "microi-codex/SKILL.md": "5.2.8",
231
+ "microi-datasource-mapping/SKILL.md": "5.2.8",
232
+ "microi-db-schema/SKILL.md": "5.2.8",
233
+ "microi-db-schema/agents/openai.yaml": "5.2.8",
234
+ "microi-db-schema/references/core-tables.md": "5.2.8",
235
+ "microi-db-schema/references/form-component-options.md": "5.2.8",
236
+ "microi-db-schema/references/schema-overview.md": "5.2.8",
237
+ "microi-db-schema/references/schema.md": "5.2.8",
238
+ "microi-db-schema/references/table-catalog.md": "5.2.8",
239
+ "microi-deployment/SKILL.md": "5.2.8",
240
+ "microi-deployment/references/deployment-matrix.md": "5.2.8",
241
+ "microi-docs-coverage/SKILL.md": "5.2.8",
242
+ "microi-docs-coverage/references/capability-map.md": "5.2.8",
243
+ "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.2.8",
244
+ "microi-form-engine/SKILL.md": "5.2.8",
245
+ "microi-form-engine/references/component-catalog.md": "5.2.8",
246
+ "microi-form-engine/references/data-source-events.md": "5.2.8",
247
+ "microi-form-layout/SKILL.md": "5.2.8",
248
+ "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.2.8",
249
+ "microi-frontend-sdk/SKILL.md": "5.2.8",
250
+ "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.2.8",
251
+ "microi-left-right-layout/SKILL.md": "5.2.8",
252
+ "microi-microservice/SKILL.md": "5.2.8",
253
+ "microi-microservice/references/runtime-delivery.md": "5.2.8",
254
+ "microi-mobile-app-quality/SKILL.md": "5.2.8",
255
+ "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.2.8",
256
+ "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.2.8",
257
+ "microi-solution-quotation/SKILL.md": "5.2.8",
258
+ "microi-solution-quotation/agents/openai.yaml": "5.2.8",
259
+ "microi-solution-quotation/scripts/build_solution_quote.py": "5.2.8",
260
+ "microi-sso/SKILL.md": "5.2.8",
261
+ "microi-sso/references/acceptance.md": "5.2.8",
262
+ "microi-sso/references/configuration-and-security.md": "5.2.8",
263
+ "microi-sso/references/inbound.md": "5.2.8",
264
+ "microi-sso/references/outbound.md": "5.2.8",
265
+ "microi-system-delivery/SKILL.md": "5.2.8",
266
+ "microi-system-delivery/references/progressive-01-标准工作流.md": "5.2.8",
267
+ "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.2.8",
268
+ "microi-ui/SKILL.md": "5.2.8",
269
+ "microi-ui/references/progressive-01-移动端场景蓝图.md": "5.2.8",
270
+ "microi-uniapp-frontend/SKILL.md": "5.2.8",
271
+ "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.2.8",
272
+ "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.2.8",
273
+ "microi.v8.js": "5.2.8",
274
+ "module-engine/SKILL.md": "5.2.8",
275
+ "module-engine/references/module-config.md": "5.2.8",
276
+ "ocr-engine/SKILL.md": "5.2.8",
277
+ "ocr-engine/agents/openai.yaml": "5.2.8",
278
+ "page-engine/SKILL.md": "5.2.8",
279
+ "page-engine/references/progressive-01-所有组件类型.md": "5.2.8",
280
+ "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.2.8",
281
+ "performance-testing/SKILL.md": "5.2.8",
282
+ "playwright-e2e/SKILL.md": "5.2.8",
283
+ "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.2.8",
284
+ "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.2.8",
285
+ "playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.2.8",
286
+ "playwright-e2e/references/progressive-04-ci-建议.md": "5.2.8",
287
+ "print-engine/SKILL.md": "5.2.8",
288
+ "production-readonly-audit/SKILL.md": "5.2.8",
289
+ "report-engine/SKILL.md": "5.2.8",
290
+ "report-engine/agents/openai.yaml": "5.2.8",
291
+ "scripts/optimize-progressive-disclosure.mjs": "5.2.8",
292
+ "scripts/refresh-progressive-disclosure.mjs": "5.2.8",
293
+ "scripts/validate-progressive-disclosure.mjs": "5.2.8",
294
+ "search-engine/SKILL.md": "5.2.8",
295
+ "search-engine/agents/openai.yaml": "5.2.8",
296
+ "spider-engine/SKILL.md": "5.2.8",
297
+ "system-observability/SKILL.md": "5.2.8",
298
+ "translate-engine/SKILL.md": "5.2.8",
299
+ "translate-engine/agents/openai.yaml": "5.2.8",
300
+ "ui-design/SKILL.md": "5.2.8",
301
+ "ui-design/assets/pattern-showcase/app.js": "5.2.8",
302
+ "ui-design/assets/pattern-showcase/index.html": "5.2.8",
303
+ "ui-design/assets/pattern-showcase/styles.css": "5.2.8",
304
+ "ui-design/assets/templates/MCI-DESIGN.md": "5.2.8",
305
+ "ui-design/references/design-pattern-library.md": "5.2.8",
306
+ "ui-design/references/mci-design-contract.md": "5.2.8",
307
+ "ui-design/references/motion-and-media.md": "5.2.8",
308
+ "ui-design/references/product-flow-recipes.md": "5.2.8",
309
+ "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.2.8",
310
+ "ui-design/references/progressive-02-字体.md": "5.2.8",
311
+ "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.2.8",
312
+ "ui-design/references/progressive-04-组件风格速查.md": "5.2.8",
313
+ "ui-design/references/progressive-05-移动端专用规范.md": "5.2.8",
314
+ "ui-design/references/progressive-06-主题切换实现.md": "5.2.8",
315
+ "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.2.8",
316
+ "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.2.8",
317
+ "uniapp-mall-assets/SKILL.md": "5.2.8",
318
+ "unity-integration/SKILL.md": "5.2.8",
319
+ "unity-integration/agents/openai.yaml": "5.2.8",
320
+ "unity-integration/references/ai-app-delivery.md": "5.2.8",
321
+ "unity-integration/references/sdk-api.md": "5.2.8",
322
+ "unity-integration/references/toolbox-migration.md": "5.2.8",
323
+ "unity-integration/references/webgl-hosting.md": "5.2.8",
324
+ "v8-api-config/SKILL.md": "5.2.8",
325
+ "v8-cache-pattern/SKILL.md": "5.2.8",
326
+ "v8-crud-api/SKILL.md": "5.2.8",
327
+ "v8-crud-api/references/progressive-01-查询列表-分页.md": "5.2.8",
328
+ "v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.2.8",
329
+ "v8-debugging/SKILL.md": "5.2.8",
330
+ "v8-explorer-tree/SKILL.md": "5.2.8",
331
+ "v8-export-import/SKILL.md": "5.2.8",
332
+ "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.2.8",
333
+ "v8-export-import/references/progressive-02-powerpoint-导出.md": "5.2.8",
334
+ "v8-export-import/references/progressive-03-安全-性能注意.md": "5.2.8",
335
+ "v8-file-upload/SKILL.md": "5.2.8",
336
+ "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.2.8",
337
+ "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.2.8",
338
+ "v8-formengine-http/SKILL.md": "5.2.8",
339
+ "v8-frontend-events/SKILL.md": "5.2.8",
340
+ "v8-frontend-events/references/bluetooth-print-api.md": "5.2.8",
341
+ "v8-frontend-events/references/bluetooth-print.md": "5.2.8",
342
+ "v8-frontend-events/references/progressive-01-列表事件.md": "5.2.8",
343
+ "v8-http-integration/SKILL.md": "5.2.8",
344
+ "v8-http-integration/references/progressive-01-get-请求.md": "5.2.8",
345
+ "v8-http-integration/references/progressive-02-错误处理模式.md": "5.2.8",
346
+ "v8-image-processing/SKILL.md": "5.2.8",
347
+ "v8-image-processing/agents/openai.yaml": "5.2.8",
348
+ "v8-image-processing/references/api-reference.md": "5.2.8",
349
+ "v8-menu-buttons/SKILL.md": "5.2.8",
350
+ "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.2.8",
351
+ "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.2.8",
352
+ "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.2.8",
353
+ "v8-mongodb/SKILL.md": "5.2.8",
354
+ "v8-mq-mqtt/SKILL.md": "5.2.8",
355
+ "v8-mq-mqtt/references/mqtt-production.md": "5.2.8",
356
+ "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.2.8",
357
+ "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.2.8",
358
+ "v8-saas-multi-tenant/SKILL.md": "5.2.8",
359
+ "v8-security/SKILL.md": "5.2.8",
360
+ "v8-security/references/progressive-01-2-权限校验.md": "5.2.8",
361
+ "v8-security/references/progressive-02-7-日志记录.md": "5.2.8",
362
+ "v8-sql-query/SKILL.md": "5.2.8",
363
+ "v8-table-event/SKILL.md": "5.2.8",
364
+ "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.2.8",
365
+ "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.2.8",
366
+ "v8-tcp-integration/SKILL.md": "5.2.8",
367
+ "v8-tcp-integration/agents/openai.yaml": "5.2.8",
368
+ "v8-template-engine/SKILL.md": "5.2.8",
369
+ "v8-utilities/SKILL.md": "5.2.8",
370
+ "v8-utilities/references/client-api-index.md": "5.2.8",
371
+ "v8-utilities/references/platform-http-routes.md": "5.2.8",
372
+ "v8-utilities/references/server-api-index.md": "5.2.8",
373
+ "v8-workflow/SKILL.md": "5.2.8",
374
+ "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.2.8",
375
+ "workspace-conventions/SKILL.md": "5.2.8",
376
+ "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.2.8",
377
+ "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.2.8",
378
+ "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.2.8"
379
379
  },
380
380
  "files": [
381
381
  ".microi-skills-version.json",
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "5.2.7",
2
+ "version": "5.2.8",
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-24T10:38:18.993Z"
5
+ "updatedAt": "2026-08-25T00:13:51.528Z"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-08-24T10:21:26.245Z",
3
+ "generatedAt": "2026-08-24T23:28:15.830Z",
4
4
  "policy": {
5
5
  "maxEntryLines": 285,
6
6
  "referenceBudgetLines": 245,
@@ -2221,18 +2221,18 @@
2221
2221
  ]
2222
2222
  },
2223
2223
  "v8-file-upload": {
2224
- "originalSha256": "5378f79b6d46af00107a26d466badc5074027bef383084a298c768e93f74803d",
2225
- "originalLines": 554,
2226
- "prefixSha256": "ebc8749554b5ded9e5e7508e017d09cd8eefddfc58e13c87dce1234491eb90bb",
2227
- "prefixBytes": 5841,
2228
- "entryLines": 216,
2224
+ "originalSha256": "c6a1d4ed64cc2abbd9c3bc42c4d9473535564b45277f4a563e1452006325eaeb",
2225
+ "originalLines": 557,
2226
+ "prefixSha256": "dd9e661499692931e0da053fdb6060a3ff2827eb5862d1a820f05159038ead5d",
2227
+ "prefixBytes": 7475,
2228
+ "entryLines": 219,
2229
2229
  "chunks": [
2230
2230
  {
2231
2231
  "id": "v8-file-upload-000",
2232
2232
  "ordinal": 0,
2233
2233
  "destination": "v8-file-upload/SKILL.md",
2234
- "sha256": "b48ce09f93a43efd30e700af637db3881355e8d2baaf45165ea2bd0bdfda25cf",
2235
- "lines": 11,
2234
+ "sha256": "841bb634227ea21cf97abcbee5dc6220042e73139170e6a6c304bfce83274e7a",
2235
+ "lines": 12,
2236
2236
  "heading": "核心 API"
2237
2237
  },
2238
2238
  {
@@ -2247,7 +2247,7 @@
2247
2247
  "id": "v8-file-upload-002",
2248
2248
  "ordinal": 2,
2249
2249
  "destination": "v8-file-upload/SKILL.md",
2250
- "sha256": "dc69d3bcadb1b40d98e1346a8d9d0a3599cae7f7dd6b850dd95ad054c747b2dd",
2250
+ "sha256": "c20863b68d13b3bd41caee90a5e12878501a35b3d9f8d40a80efe3f6b46125a9",
2251
2251
  "lines": 101,
2252
2252
  "heading": "接收前端上传的文件"
2253
2253
  },
@@ -2255,7 +2255,7 @@
2255
2255
  "id": "v8-file-upload-003",
2256
2256
  "ordinal": 5,
2257
2257
  "destination": "v8-file-upload/SKILL.md",
2258
- "sha256": "a31f0170454bb9e44007e24ed280873e99ae4ca4f4ecc7307ecc3e738eb51df9",
2258
+ "sha256": "d02dfde4abd2349cd92de1daee129bc08ba42142b5f6229736588cb3e0dbf43c",
2259
2259
  "lines": 13,
2260
2260
  "heading": "跨平台文件同步登录会话"
2261
2261
  },
@@ -2786,11 +2786,11 @@
2786
2786
  ]
2787
2787
  },
2788
2788
  "v8-security": {
2789
- "originalSha256": "ddf2ac0fceae3cf50c240b0740be07ae2ba59520950e039fd10413c247390813",
2790
- "originalLines": 495,
2791
- "prefixSha256": "e94c6e73f300d807957d87a76f4db2fc7c377855be352ce8c1e7cac9c17d703c",
2792
- "prefixBytes": 1077,
2793
- "entryLines": 182,
2789
+ "originalSha256": "47f1d4392b637af2b25a658e475bdcf8ee888b6e51098b888e477ce1aa1c9985",
2790
+ "originalLines": 497,
2791
+ "prefixSha256": "c3b2ae10a39461ee69fda3c7e994d072ca6d8c9dc6f2338742bc8f07e0dcffd0",
2792
+ "prefixBytes": 1648,
2793
+ "entryLines": 184,
2794
2794
  "chunks": [
2795
2795
  {
2796
2796
  "id": "v8-security-000",
@@ -38,7 +38,7 @@ description: Microi AI 引擎、MiniMax 图片/音乐/视频生成与预览、
38
38
 
39
39
  `Chat/ChatStream` 虽声明 GET/POST,含问题、附件和会话上下文的业务调用默认使用 POST,避免敏感内容进入 URL 日志。Controller 和 `V8.AI` 必须从可信执行上下文覆盖当前用户和 `OsClient`,并清除客户端提交的 `ApiKey/Endpoint`。所谓打字机效果必须来自真实 SSE 增量块;`microi_chat` 只返回最终结果,不能被描述成逐 token MCP 流。
40
40
 
41
- 安全数据分析必须继续调用 `/api/Ai/NL2SQL`,由服务端从当前用户权限生成表白名单;通用 AI 包装接口不得接受客户端自报的表名作为授权。
41
+ 安全数据分析的新客户端调用 `/apiengine/platform-ai-runtime` 并固定 `Action=NL2SQL`;旧 `/api/Ai/NL2SQL` 只保留兼容转发。最终都由租户/用户绑定的 `V8.AI.NL2SQL` 从当前用户权限生成表白名单;任何通用包装接口都不得接受客户端自报的表名作为授权。
42
42
 
43
43
  ## 代码分层
44
44
 
@@ -46,8 +46,13 @@ AI 业务统一实现在 `Microi.Server/Microi.AI`。`Microi.Server/Microi.net.A
46
46
 
47
47
  - Controller、Hub 只调用 `IMicroiAI`、`AiProxyService`、`SubscriptionService`、`AiWorkflowService` 等 `Microi.AI` 门面,不直接查询 `mic_ai` / `mic_sub_order`,不接触上游密钥和向量基础设施。
48
48
  - “授权 + 执行”必须由领域门面原子完成,不能让接口层先生成可伪造的 `AllowedTables` 或遗漏某一步。
49
- - AI 的 Qdrant/Ollama/Embedding 配置、Schema 初始化和其它生命周期任务由 `AddMicroiAI()` 在模块内自注册;API 的 `Program.cs` 只负责调用模块注册。
50
- - `Microi.Core` 只承载跨模块契约和模型。新增入口时先扩展 AI 领域服务,再添加薄 Controller/Hub 适配,禁止复制业务流程。
49
+ - AI 的 Qdrant/Ollama/Embedding 配置、Schema 初始化和其它生命周期任务由 `AddMicroiAI()` 在模块内自注册;API 的 `Program.cs` 只负责调用模块注册。
50
+ - `Microi.Core` 只承载跨模块契约和模型。新增入口时先扩展 AI 领域服务,再添加薄 Controller/Hub 适配,禁止复制业务流程。
51
+ - AI 账户统一入口是 Managed 接口引擎 `/apiengine/platform-ai-account`;套餐、订阅和订单由 V8 编排。支付宝回调 C# 只做可信租户选择/归一化、该租户配置验签和一次性 Managed 调用;`CompletePayment` 在同一接口引擎事务内完成订单条件认领、金额校验、订阅续期/新建与平台/供应商 API Key 分配。供应商协议、密钥隔离、分布式额度原子、任务句柄和受控媒体落盘仍由绑定原子完成。
52
+ - 非流式 `UpdateConversationTitle / RecognizeIntent / Chat / NL2SQL / NL2V8EngineSync` 统一进入 Managed `/apiengine/platform-ai-runtime`,旧 Controller 同名路由只做兼容转发;SSE/流式、Provider Proxy、媒体、文件和策略元数据保持原生。`platform-ai-runtime` 只调用绑定当前租户和当前用户的 `V8.AI` 原子,不接收客户端伪造的租户、用户、Endpoint、ApiKey、表白名单或管理员标记。
53
+ - AI 官方应用只有一个应用级租户扩展点 `platform-ai-custom-hook`,策略为 `CreateIfMissing`。`mci_ai_data_assistant` 与 `platform-ai-runtime` 只传 `Stage`、`SourceApiEngineKey`、`Action`;支付动作最多增加 `EventId`、`Provider`,账户其它动作只增加白名单资源元数据。Hook 禁止接收订单号、交易号、金额、标题、SQL、模型、附件、提示词或问题原文及其摘要、回答、供应商/平台密钥、供应商任务号、文件句柄或媒体内容。匿名发现接口不调用 Hook,`/v1/usage` 继续由 C# 凭据网关直接校验,使 `Authorization` 永不进入 V8。
54
+ - 9 张 `mic_sub_*` 订阅表与 `mci_ai_token_account`、`mci_ai_token_log` 由官方 `app.microi.ai-engine` 应用升级提供,必须同时声明 DDL、PhysicalColumns、DiyTables、DiyFields;`PromptPreview` 属于日志表正式字段。`mci_ai_token_recharge` 当前不在该运行时实体闭包内,禁止根据线上残留自行扩包。运行时发现缺失时失败关闭,禁止在请求路径自动建表、加列或修改业务 Schema。
55
+ - `Sys_User.AiApiKey` 归官方 `app.microi.sys_user`,由系统账号包同时维护建表 DDL、PhysicalColumns 和隐藏只读 DiyField;AI助手包不得重复声明 `Sys_User`。缺列错误必须提示升级系统账号应用,不能误导用户升级 AI助手。
51
56
 
52
57
  ## 模型与密钥
53
58
 
@@ -73,6 +78,9 @@ AI 业务统一实现在 `Microi.Server/Microi.AI`。`Microi.Server/Microi.net.A
73
78
  ## 跨端 AI 助手与商城交付
74
79
 
75
80
  - PC 与移动端复用 `mci_ai_data_assistant`。`Bootstrap` 返回的 `Enabled`、`Models`、`AllowedDomains` 和 `Prompts` 是跨端共同事实源;快捷问题来自启用的 `mci_ai_data_domain.PromptExamples`,前端不能维护另一套固定文案。
81
+ - 官方 AI助手应用归 `app.microi.ai-engine`。v6.3.6 的接口引擎必须严格只有 Managed `mci_ai_data_assistant`、Managed `platform-ai-account`、Managed `platform-ai-runtime` 和 CreateIfMissing `platform-ai-custom-hook` 四项,并声明 `V8.Method.ManageAiPlatform`、`V8.Method.RequireManagedProtocolContext` 与所需 `V8.AI` 能力;后端缺少任一能力时安装预检失败关闭。
82
+ - `ai_app_list`、`ai_app_detail`、`ai_app_get_file`、`ai_app_save_file`、`ai_app_create`、`ai_app_build`、`ai_app_preview`、`ai_app_download_source_zip`、`ai_app_download_build_zip`、`ai_app_moveobject_probe`、`ai_app_moveobject_exec_probe`、`ai_app_publish_store` 这 12 个 `ai_app_*` 归 `app.microi.store` 维护。AI助手包移除它们的资源选择和所有权声明,但不会删除目标租户既有运行时接口记录;既有记录继续由应用商城包升级。
83
+ - v6.3.6 还必须保持 AI助手包的 DDL、PhysicalColumns、DiyTables、DiyFields、DataSets 全层不再包含重复的 `mci_ai_app_version`、`mci_ai_app_file`、`sys_microistore`,这些表交回 Store/SaaS 既有平台包维护;当前仅 AI助手包拥有的 `app_mic_aiapp`、`mci_ai_app` 继续保留。
76
84
  - 普通角色必须匹配启用的 `mci_ai_role_policy`。只有后端可信的 `V8.CurrentUser.Level >= 9999` 可以在新安装租户缺少角色策略时获得安全兜底:从目标租户动态读取已启用业务域和模型,范围为 `All`,仍保持 `AllowRawSql=false`、敏感字段默认关闭。不得相信客户端提交的 Level、角色名或账号名。
77
85
  - 当租户要求“所有角色均可使用 AI 助手”时,必须为 `sys_role` 中每个目标角色建立显式启用策略;受限角色使用 `Self`/`Department` 与最小业务域,管理角色才可使用经确认的 `All`。禁止把“人人可打开助手”实现成普通角色默认全库可读。
78
86
  - `Sys_Config.DisableAiAssistant` 是负向开关:缺失、空值或 `0/false` 都显示 AI 助手,只有显式 `1/true` 才关闭图标。商城升级应复用旧 `IsShowAiAssistant` 的字段元数据 Id 就地改名;兼容读取可以保留旧物理列,但旧字段元数据必须在 PC 与移动端隐藏,禁止同时暴露正向、负向两个开关。关闭该开关前后都要做策略覆盖验收:回读 `sys_role` 与 `mci_ai_role_policy`,断言每个目标角色都有唯一启用策略,`AllowedDomains`、`AllowedModels` 均非空且模型仍处于启用状态;再至少用超级管理员、普通员工和客户身份分别调用 `Bootstrap`,确认 `Enabled=true` 且返回范围符合角色。仅看到入口图标不算可用。