@microi.net/cli 4.9.9 → 5.0.1

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.
@@ -139,6 +139,18 @@ function profileIdentity(profile) {
139
139
  ].join('|');
140
140
  }
141
141
 
142
+ function workspaceSecretKey(baseKey, profileWorkspace) {
143
+ const normalized = path.resolve(profileWorkspace).toLowerCase();
144
+ const hash = crypto.createHash('sha256').update(normalized).digest('hex').slice(0, 16);
145
+ return `${baseKey}.workspace.${hash}`;
146
+ }
147
+
148
+ function credentialSecretKey(baseKey, profile, profileWorkspace) {
149
+ const apiBaseUrl = safeText(profile.apiBaseUrl).trim().replace(/\/+$/, '');
150
+ const osClient = safeText(profile.osClient).trim();
151
+ return workspaceSecretKey(`${baseKey}.${apiBaseUrl}|${osClient}`, profileWorkspace);
152
+ }
153
+
142
154
  function validateProfile(raw) {
143
155
  const profile = raw && typeof raw === 'object' ? raw : {};
144
156
  const profileWorkspace = path.resolve(safeText(profile.workspaceRoot || workspaceRoot));
@@ -148,6 +160,7 @@ function validateProfile(raw) {
148
160
  throw new Error('Broker workspace mismatch');
149
161
  }
150
162
  if (!/^https?:\/\//i.test(safeText(profile.apiBaseUrl))) throw new Error('Invalid Microi API URL');
163
+ const syncRoot = path.resolve(safeText(profile.syncRoot || path.join(profileWorkspace, 'Microi-V8-Engine')));
151
164
  return {
152
165
  identity: profileIdentity(profile),
153
166
  name: safeText(profile.name || profile.osClient || 'microi'),
@@ -157,9 +170,12 @@ function validateProfile(raw) {
157
170
  osClientType: safeText(profile.osClientType).trim(),
158
171
  osClientNetwork: safeText(profile.osClientNetwork).trim(),
159
172
  workspaceRoot: profileWorkspace,
160
- syncRoot: path.resolve(safeText(profile.syncRoot || path.join(profileWorkspace, 'Microi-V8-Engine'))),
173
+ syncRoot,
161
174
  tokenPath: path.resolve(safeText(profile.tokenPath || path.join(profileWorkspace, 'Microi-V8-Engine', '.microi-mcp-tokens.json'))),
162
175
  applicationsDir: path.resolve(safeText(profile.applicationsDir || path.join(profileWorkspace, 'Microi-V8-Engine'))),
176
+ workspaceCredentialFilePath: path.join(syncRoot, '.microi-workspace-secrets.dpapi.json'),
177
+ workspaceCredentialUsernameKey: credentialSecretKey('microi.username', profile, profileWorkspace),
178
+ workspaceCredentialPasswordKey: credentialSecretKey('microi.password', profile, profileWorkspace),
163
179
  };
164
180
  }
165
181
 
@@ -189,6 +205,9 @@ class ChildMcp {
189
205
  MICROI_API_URL: this.profile.apiBaseUrl,
190
206
  MICROI_TOKEN_FILE: this.profile.tokenPath,
191
207
  MICROI_AUTH_RECOVERY_DIR: `${this.profile.tokenPath}.recovery`,
208
+ MICROI_WORKSPACE_CREDENTIAL_FILE: this.profile.workspaceCredentialFilePath,
209
+ MICROI_WORKSPACE_USERNAME_KEY: this.profile.workspaceCredentialUsernameKey,
210
+ MICROI_WORKSPACE_PASSWORD_KEY: this.profile.workspaceCredentialPasswordKey,
192
211
  MICROI_OS_CLIENT: this.profile.osClient,
193
212
  MICROI_OS_CLIENT_TYPE: this.profile.osClientType,
194
213
  MICROI_OS_CLIENT_NETWORK: this.profile.osClientNetwork,
@@ -1,13 +1,13 @@
1
1
  {
2
- "builtAt": "2026-08-13T06:30:33.690Z",
2
+ "builtAt": "2026-08-13T12:51:19.721Z",
3
3
  "source": "../microi.skills",
4
4
  "extension": {
5
5
  "name": "v8-engine",
6
- "version": "4.9.9",
6
+ "version": "5.0.1",
7
7
  "publisher": "Microi"
8
8
  },
9
9
  "skills": {
10
- "version": "4.9.9",
10
+ "version": "5.0.1",
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,13 +15,13 @@
15
15
  "dir": "dist/microi.skills",
16
16
  "files": 170,
17
17
  "skills": 62,
18
- "bytes": 2048429
18
+ "bytes": 2056310
19
19
  },
20
20
  "fileHashes": {
21
- ".microi-skills-version.json": "d9fa09a156a672f30ad54de0231b9aa2f3d0d920db2edd4866281d0ac33d5bd8",
22
- ".progressive-disclosure-manifest.json": "c0b3640cb5837e3123dc46caae6dd8e73dc2155defbb0dd71f3a332672088f4a",
21
+ ".microi-skills-version.json": "d6ad94a2fb1b8289cbccc768567dc071ad994d4d1c59fccf88e2bd9c94b67d23",
22
+ ".progressive-disclosure-manifest.json": "b9ab810503f1a107708dd6e238665f1d1fae9a8fd355a8ec6cb21d3cd4843338",
23
23
  "README.md": "168697be6864bbb12befa9a6723d93ea9d1c8b5a615006038c31b09e1171860c",
24
- "ai-engine/SKILL.md": "8a652a1db5eb7c4e65668a36d9d91356d94f58331c683180c83019133830c2fe",
24
+ "ai-engine/SKILL.md": "8cfb43bcc18335ba5dcc0ef5f0604ac32a74ae6ea13dbc07bce9fe8bd2df551c",
25
25
  "ai-engine/agents/openai.yaml": "40deb07801006a46b9a7f0020d13251955eeadd04c8e591160210479936f8b5b",
26
26
  "ai-platform-governance/SKILL.md": "e45979b1b135958834ce2eb40be612a1a84aee05933af862f157026d8fc00be9",
27
27
  "ai-platform-governance/references/progressive-01-功能开关.md": "ea46fb02267e9e3ace3d9d72e67b02183c61e5c198f4b2f27e8196d6ee6d0bec",
@@ -34,17 +34,17 @@
34
34
  "dos-orm/references/api-reference.md": "facc5e62cd6439a06263580dab9656271118d4bb5a91b5d9230a79136e6daa72",
35
35
  "job-engine/SKILL.md": "684b6884e924cfc334a3368937c6802ebaf84e60d60d90bbf42ad61fa999023b",
36
36
  "job-engine/agents/openai.yaml": "65889ee39bc34caca9085539d8954a381aab93590c5635eea3bb6f4c001934af",
37
- "message-notification/SKILL.md": "8efb5f0d96ffa54bdf0655947bd799d0e327822ca953ed118e46073d85fef560",
37
+ "message-notification/SKILL.md": "54c92a1bfd4ae7fa42ef87775f209ea3e935d0fcec4fa352511553084b23bd75",
38
38
  "message-notification/agents/openai.yaml": "d0e259921410e94caaf8b376d690a529842446e3f32c9523b7dfd1bda599f58c",
39
39
  "message-notification/references/contracts.md": "a33e3dd4093430ed1dc5b79a978d8981479e975a7dd30fde6f68559360369f06",
40
40
  "microi-ai-app-auth.js": "8023db6ae655bc33027f389a64ef7937ac09da35eb1b8a497aaefb986834242a",
41
41
  "microi-ai-application/SKILL.md": "f7b2970872763c7d2c17f336490e7851c648cd4f716c05c26ee6e2d1ba9ae21e",
42
42
  "microi-ai-application/agents/openai.yaml": "d3dfc4d0f2fda3391e90e661ca9d8d051cb43824b011d1a88e99db135870454f",
43
43
  "microi-ai-application/references/frontend-baseline.md": "c21a2d38292fd8d445a7538afb45d609881f624f32d39c0fc4bbbb3c2fa64a74",
44
- "microi-client-frontend/SKILL.md": "3071624b2926738163bb5f3cbb45b8e15113924a94eb6be720c3a5c1507efbc0",
44
+ "microi-client-frontend/SKILL.md": "93bffc4ff8f2a32631d59b3bdfc79f9bab7319906eeee4ae4af016e868e49f27",
45
45
  "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "ca6771d303c3fb08f647b62b247bd5b14545e317fb6643500319bdffca74a178",
46
46
  "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "6f456eb61a8f2dcd23d299b94e9dcf35bd5f453a35bf4a6680f304ed725ddf5d",
47
- "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "e882344dbd36233898fb513c74c1e2270060b7a213c0a2d9f2b6d54c735372fd",
47
+ "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "8f14849068eb2efac2d174d54fb775f616a4a83cfd245da4b955c585d88ad816",
48
48
  "microi-codex-installer/SKILL.md": "d501a250d1541bae726272c9188d8a6846b310c5399e24d59ae8c242cfbc057e",
49
49
  "microi-codex-installer/agents/openai.yaml": "e531219b74a70204893a156b1c22c69013a4c9d24b132ead912746b1b312cf80",
50
50
  "microi-codex/SKILL.md": "83ae8fde45e04c9ec61310e668e45417fcaac70a88b008f3bfc227b91947d928",
@@ -69,8 +69,8 @@
69
69
  "microi-frontend-sdk/SKILL.md": "010e5e10a0cbe47a450cb6e4a699b8b26605f23f340adf9d86c66fb2fbef2f7f",
70
70
  "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "fdcc7aca57eaf7d0fa509dc28ef96abeb1099ed4da1e48411b4bb476d9f51390",
71
71
  "microi-left-right-layout/SKILL.md": "aa5b3c6424e6d69b16df7879a4fba85e551b32bb60a7eb676000568057430231",
72
- "microi-microservice/SKILL.md": "3944553acfbf6d09cfb740451dfbc07ecfa6e8c41d7e1c07d192b58439e99737",
73
- "microi-microservice/references/runtime-delivery.md": "31f008828f1967ccae043cfa26c722598b6b9061bbf36aa45193bb950fc58bd6",
72
+ "microi-microservice/SKILL.md": "4e9d461474dd478f4e8bf2a125c08582528fcee39754b6a2c79c03221024fb23",
73
+ "microi-microservice/references/runtime-delivery.md": "35c592d17b8bd3c5d44200ebaeeb9527821e5fb3f0340944018790d25a0e27de",
74
74
  "microi-mobile-app-quality/SKILL.md": "79cb796df3a486c9a39db10d47df53d9dafb259826067799486def659683144a",
75
75
  "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "8114fdf548ee6f466238a3f5fd4efe067b2f7569769e4e4881c042dfc319baa2",
76
76
  "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "070ad110ed5a87046b2daf36c899debe2f1d08680148f6ff7549be4432bd3492",
@@ -94,11 +94,11 @@
94
94
  "page-engine/references/progressive-01-所有组件类型.md": "6fff4216181d8d7e473ef18c27f2224a9acb06129fba339fac22f10184131c0d",
95
95
  "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "6a2d64aa21d8aaed4607dc37f467e91309776d8dd6bc36b83bb4bd0737071764",
96
96
  "performance-testing/SKILL.md": "98139f3d09565847b3ed6d9122fc281e333e6dbd719c888927a5f023f0a399e2",
97
- "playwright-e2e/SKILL.md": "02cc51b067011570f1abd4d16d7a943be200941b74bb43ff69680e3e664484cc",
97
+ "playwright-e2e/SKILL.md": "de92eeb416383ea8cc09381cef0aa3aa606cd2a2fe1981eb63d73902bc23751f",
98
98
  "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "de0a720ccb8b967cbc610da1e5aa4c558aa9a46ce7989c1231447d442c296ece",
99
99
  "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "d8a0074aa941b3893c1b07841a37ed39f7a414cd97d59e45e459a45c1b0d15a7",
100
100
  "playwright-e2e/references/progressive-03-microi-helper-模板.md": "6df9c3427bd6ba8e971c5c7b2d5b4257b6a517e045076577cbf4b47dc8e8b5c3",
101
- "playwright-e2e/references/progressive-04-ci-建议.md": "fea944964dc045ccfd2cc5a49ce89c84bc03e8ffb42833a02f3677beb32019c9",
101
+ "playwright-e2e/references/progressive-04-ci-建议.md": "a9b46c3ee3842401df8c3fe471861402538af08bf18f6847cd8561feeee7ba6e",
102
102
  "print-engine/SKILL.md": "8d71b572a8da5cb5c0928d30e177a49ba7f79fb7785779127e19d5d47efac421",
103
103
  "production-readonly-audit/SKILL.md": "da8a47202f51850f879c387b75607ebde70b31b58c550f0959c54fc3da908972",
104
104
  "report-engine/SKILL.md": "40f1d24013cf8bcb446ab084cfca26e71fec9806980b33b244478e34cc8c1ded",
@@ -190,176 +190,176 @@
190
190
  "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "86db1f03700fd54dd824d28c553c678202e8f74b796fd0f9d91f63bf53a530b1"
191
191
  },
192
192
  "fileVersions": {
193
- ".microi-skills-version.json": "4.9.9",
194
- ".progressive-disclosure-manifest.json": "4.9.9",
195
- "README.md": "4.9.9",
196
- "ai-engine/SKILL.md": "4.9.9",
197
- "ai-engine/agents/openai.yaml": "4.9.9",
198
- "ai-platform-governance/SKILL.md": "4.9.9",
199
- "ai-platform-governance/references/progressive-01-功能开关.md": "4.9.9",
200
- "app-store/SKILL.md": "4.9.9",
201
- "app-store/agents/openai.yaml": "4.9.9",
202
- "business-blueprint/SKILL.md": "4.9.9",
203
- "datasource-engine/SKILL.md": "4.9.9",
204
- "datasource-engine/agents/openai.yaml": "4.9.9",
205
- "dos-orm/SKILL.md": "4.9.9",
206
- "dos-orm/references/api-reference.md": "4.9.9",
207
- "job-engine/SKILL.md": "4.9.9",
208
- "job-engine/agents/openai.yaml": "4.9.9",
209
- "message-notification/SKILL.md": "4.9.9",
210
- "message-notification/agents/openai.yaml": "4.9.9",
211
- "message-notification/references/contracts.md": "4.9.9",
212
- "microi-ai-app-auth.js": "4.9.9",
213
- "microi-ai-application/SKILL.md": "4.9.9",
214
- "microi-ai-application/agents/openai.yaml": "4.9.9",
215
- "microi-ai-application/references/frontend-baseline.md": "4.9.9",
216
- "microi-client-frontend/SKILL.md": "4.9.9",
217
- "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "4.9.9",
218
- "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "4.9.9",
219
- "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "4.9.9",
220
- "microi-codex-installer/SKILL.md": "4.9.9",
221
- "microi-codex-installer/agents/openai.yaml": "4.9.9",
222
- "microi-codex/SKILL.md": "4.9.9",
223
- "microi-datasource-mapping/SKILL.md": "4.9.9",
224
- "microi-db-schema/SKILL.md": "4.9.9",
225
- "microi-db-schema/agents/openai.yaml": "4.9.9",
226
- "microi-db-schema/references/core-tables.md": "4.9.9",
227
- "microi-db-schema/references/form-component-options.md": "4.9.9",
228
- "microi-db-schema/references/schema-overview.md": "4.9.9",
229
- "microi-db-schema/references/schema.md": "4.9.9",
230
- "microi-db-schema/references/table-catalog.md": "4.9.9",
231
- "microi-deployment/SKILL.md": "4.9.9",
232
- "microi-deployment/references/deployment-matrix.md": "4.9.9",
233
- "microi-docs-coverage/SKILL.md": "4.9.9",
234
- "microi-docs-coverage/references/capability-map.md": "4.9.9",
235
- "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "4.9.9",
236
- "microi-form-engine/SKILL.md": "4.9.9",
237
- "microi-form-engine/references/component-catalog.md": "4.9.9",
238
- "microi-form-engine/references/data-source-events.md": "4.9.9",
239
- "microi-form-layout/SKILL.md": "4.9.9",
240
- "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "4.9.9",
241
- "microi-frontend-sdk/SKILL.md": "4.9.9",
242
- "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "4.9.9",
243
- "microi-left-right-layout/SKILL.md": "4.9.9",
244
- "microi-microservice/SKILL.md": "4.9.9",
245
- "microi-microservice/references/runtime-delivery.md": "4.9.9",
246
- "microi-mobile-app-quality/SKILL.md": "4.9.9",
247
- "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "4.9.9",
248
- "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "4.9.9",
249
- "microi-solution-quotation/SKILL.md": "4.9.9",
250
- "microi-solution-quotation/agents/openai.yaml": "4.9.9",
251
- "microi-solution-quotation/scripts/build_solution_quote.py": "4.9.9",
252
- "microi-system-delivery/SKILL.md": "4.9.9",
253
- "microi-system-delivery/references/progressive-01-标准工作流.md": "4.9.9",
254
- "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "4.9.9",
255
- "microi-ui/SKILL.md": "4.9.9",
256
- "microi-ui/references/progressive-01-移动端场景蓝图.md": "4.9.9",
257
- "microi-uniapp-frontend/SKILL.md": "4.9.9",
258
- "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "4.9.9",
259
- "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "4.9.9",
260
- "microi.v8.js": "4.9.9",
261
- "module-engine/SKILL.md": "4.9.9",
262
- "module-engine/references/module-config.md": "4.9.9",
263
- "ocr-engine/SKILL.md": "4.9.9",
264
- "ocr-engine/agents/openai.yaml": "4.9.9",
265
- "page-engine/SKILL.md": "4.9.9",
266
- "page-engine/references/progressive-01-所有组件类型.md": "4.9.9",
267
- "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "4.9.9",
268
- "performance-testing/SKILL.md": "4.9.9",
269
- "playwright-e2e/SKILL.md": "4.9.9",
270
- "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "4.9.9",
271
- "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "4.9.9",
272
- "playwright-e2e/references/progressive-03-microi-helper-模板.md": "4.9.9",
273
- "playwright-e2e/references/progressive-04-ci-建议.md": "4.9.9",
274
- "print-engine/SKILL.md": "4.9.9",
275
- "production-readonly-audit/SKILL.md": "4.9.9",
276
- "report-engine/SKILL.md": "4.9.9",
277
- "report-engine/agents/openai.yaml": "4.9.9",
278
- "scripts/optimize-progressive-disclosure.mjs": "4.9.9",
279
- "scripts/refresh-progressive-disclosure.mjs": "4.9.9",
280
- "scripts/validate-progressive-disclosure.mjs": "4.9.9",
281
- "search-engine/SKILL.md": "4.9.9",
282
- "search-engine/agents/openai.yaml": "4.9.9",
283
- "spider-engine/SKILL.md": "4.9.9",
284
- "translate-engine/SKILL.md": "4.9.9",
285
- "translate-engine/agents/openai.yaml": "4.9.9",
286
- "ui-design/SKILL.md": "4.9.9",
287
- "ui-design/assets/pattern-showcase/app.js": "4.9.9",
288
- "ui-design/assets/pattern-showcase/index.html": "4.9.9",
289
- "ui-design/assets/pattern-showcase/styles.css": "4.9.9",
290
- "ui-design/assets/templates/MCI-DESIGN.md": "4.9.9",
291
- "ui-design/references/design-pattern-library.md": "4.9.9",
292
- "ui-design/references/mci-design-contract.md": "4.9.9",
293
- "ui-design/references/motion-and-media.md": "4.9.9",
294
- "ui-design/references/product-flow-recipes.md": "4.9.9",
295
- "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "4.9.9",
296
- "ui-design/references/progressive-02-字体.md": "4.9.9",
297
- "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "4.9.9",
298
- "ui-design/references/progressive-04-组件风格速查.md": "4.9.9",
299
- "ui-design/references/progressive-05-移动端专用规范.md": "4.9.9",
300
- "ui-design/references/progressive-06-主题切换实现.md": "4.9.9",
301
- "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "4.9.9",
302
- "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "4.9.9",
303
- "uniapp-mall-assets/SKILL.md": "4.9.9",
304
- "unity-integration/SKILL.md": "4.9.9",
305
- "unity-integration/agents/openai.yaml": "4.9.9",
306
- "unity-integration/references/ai-app-delivery.md": "4.9.9",
307
- "unity-integration/references/sdk-api.md": "4.9.9",
308
- "unity-integration/references/toolbox-migration.md": "4.9.9",
309
- "unity-integration/references/webgl-hosting.md": "4.9.9",
310
- "v8-api-config/SKILL.md": "4.9.9",
311
- "v8-cache-pattern/SKILL.md": "4.9.9",
312
- "v8-crud-api/SKILL.md": "4.9.9",
313
- "v8-crud-api/references/progressive-01-查询列表-分页.md": "4.9.9",
314
- "v8-crud-api/references/progressive-02-where-条件语法速查.md": "4.9.9",
315
- "v8-debugging/SKILL.md": "4.9.9",
316
- "v8-explorer-tree/SKILL.md": "4.9.9",
317
- "v8-export-import/SKILL.md": "4.9.9",
318
- "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "4.9.9",
319
- "v8-export-import/references/progressive-02-powerpoint-导出.md": "4.9.9",
320
- "v8-export-import/references/progressive-03-安全-性能注意.md": "4.9.9",
321
- "v8-file-upload/SKILL.md": "4.9.9",
322
- "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "4.9.9",
323
- "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "4.9.9",
324
- "v8-formengine-http/SKILL.md": "4.9.9",
325
- "v8-frontend-events/SKILL.md": "4.9.9",
326
- "v8-frontend-events/references/bluetooth-print-api.md": "4.9.9",
327
- "v8-frontend-events/references/bluetooth-print.md": "4.9.9",
328
- "v8-frontend-events/references/progressive-01-列表事件.md": "4.9.9",
329
- "v8-http-integration/SKILL.md": "4.9.9",
330
- "v8-http-integration/references/progressive-01-get-请求.md": "4.9.9",
331
- "v8-http-integration/references/progressive-02-错误处理模式.md": "4.9.9",
332
- "v8-image-processing/SKILL.md": "4.9.9",
333
- "v8-image-processing/agents/openai.yaml": "4.9.9",
334
- "v8-image-processing/references/api-reference.md": "4.9.9",
335
- "v8-menu-buttons/SKILL.md": "4.9.9",
336
- "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "4.9.9",
337
- "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "4.9.9",
338
- "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "4.9.9",
339
- "v8-mongodb/SKILL.md": "4.9.9",
340
- "v8-mq-mqtt/SKILL.md": "4.9.9",
341
- "v8-mq-mqtt/references/mqtt-production.md": "4.9.9",
342
- "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "4.9.9",
343
- "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "4.9.9",
344
- "v8-saas-multi-tenant/SKILL.md": "4.9.9",
345
- "v8-security/SKILL.md": "4.9.9",
346
- "v8-security/references/progressive-01-2-权限校验.md": "4.9.9",
347
- "v8-security/references/progressive-02-7-日志记录.md": "4.9.9",
348
- "v8-sql-query/SKILL.md": "4.9.9",
349
- "v8-table-event/SKILL.md": "4.9.9",
350
- "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "4.9.9",
351
- "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "4.9.9",
352
- "v8-template-engine/SKILL.md": "4.9.9",
353
- "v8-utilities/SKILL.md": "4.9.9",
354
- "v8-utilities/references/client-api-index.md": "4.9.9",
355
- "v8-utilities/references/platform-http-routes.md": "4.9.9",
356
- "v8-utilities/references/server-api-index.md": "4.9.9",
357
- "v8-workflow/SKILL.md": "4.9.9",
358
- "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "4.9.9",
359
- "workspace-conventions/SKILL.md": "4.9.9",
360
- "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "4.9.9",
361
- "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "4.9.9",
362
- "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "4.9.9"
193
+ ".microi-skills-version.json": "5.0.1",
194
+ ".progressive-disclosure-manifest.json": "5.0.1",
195
+ "README.md": "5.0.1",
196
+ "ai-engine/SKILL.md": "5.0.1",
197
+ "ai-engine/agents/openai.yaml": "5.0.1",
198
+ "ai-platform-governance/SKILL.md": "5.0.1",
199
+ "ai-platform-governance/references/progressive-01-功能开关.md": "5.0.1",
200
+ "app-store/SKILL.md": "5.0.1",
201
+ "app-store/agents/openai.yaml": "5.0.1",
202
+ "business-blueprint/SKILL.md": "5.0.1",
203
+ "datasource-engine/SKILL.md": "5.0.1",
204
+ "datasource-engine/agents/openai.yaml": "5.0.1",
205
+ "dos-orm/SKILL.md": "5.0.1",
206
+ "dos-orm/references/api-reference.md": "5.0.1",
207
+ "job-engine/SKILL.md": "5.0.1",
208
+ "job-engine/agents/openai.yaml": "5.0.1",
209
+ "message-notification/SKILL.md": "5.0.1",
210
+ "message-notification/agents/openai.yaml": "5.0.1",
211
+ "message-notification/references/contracts.md": "5.0.1",
212
+ "microi-ai-app-auth.js": "5.0.1",
213
+ "microi-ai-application/SKILL.md": "5.0.1",
214
+ "microi-ai-application/agents/openai.yaml": "5.0.1",
215
+ "microi-ai-application/references/frontend-baseline.md": "5.0.1",
216
+ "microi-client-frontend/SKILL.md": "5.0.1",
217
+ "microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.0.1",
218
+ "microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.0.1",
219
+ "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.0.1",
220
+ "microi-codex-installer/SKILL.md": "5.0.1",
221
+ "microi-codex-installer/agents/openai.yaml": "5.0.1",
222
+ "microi-codex/SKILL.md": "5.0.1",
223
+ "microi-datasource-mapping/SKILL.md": "5.0.1",
224
+ "microi-db-schema/SKILL.md": "5.0.1",
225
+ "microi-db-schema/agents/openai.yaml": "5.0.1",
226
+ "microi-db-schema/references/core-tables.md": "5.0.1",
227
+ "microi-db-schema/references/form-component-options.md": "5.0.1",
228
+ "microi-db-schema/references/schema-overview.md": "5.0.1",
229
+ "microi-db-schema/references/schema.md": "5.0.1",
230
+ "microi-db-schema/references/table-catalog.md": "5.0.1",
231
+ "microi-deployment/SKILL.md": "5.0.1",
232
+ "microi-deployment/references/deployment-matrix.md": "5.0.1",
233
+ "microi-docs-coverage/SKILL.md": "5.0.1",
234
+ "microi-docs-coverage/references/capability-map.md": "5.0.1",
235
+ "microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.0.1",
236
+ "microi-form-engine/SKILL.md": "5.0.1",
237
+ "microi-form-engine/references/component-catalog.md": "5.0.1",
238
+ "microi-form-engine/references/data-source-events.md": "5.0.1",
239
+ "microi-form-layout/SKILL.md": "5.0.1",
240
+ "microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.0.1",
241
+ "microi-frontend-sdk/SKILL.md": "5.0.1",
242
+ "microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.0.1",
243
+ "microi-left-right-layout/SKILL.md": "5.0.1",
244
+ "microi-microservice/SKILL.md": "5.0.1",
245
+ "microi-microservice/references/runtime-delivery.md": "5.0.1",
246
+ "microi-mobile-app-quality/SKILL.md": "5.0.1",
247
+ "microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.0.1",
248
+ "microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.0.1",
249
+ "microi-solution-quotation/SKILL.md": "5.0.1",
250
+ "microi-solution-quotation/agents/openai.yaml": "5.0.1",
251
+ "microi-solution-quotation/scripts/build_solution_quote.py": "5.0.1",
252
+ "microi-system-delivery/SKILL.md": "5.0.1",
253
+ "microi-system-delivery/references/progressive-01-标准工作流.md": "5.0.1",
254
+ "microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.0.1",
255
+ "microi-ui/SKILL.md": "5.0.1",
256
+ "microi-ui/references/progressive-01-移动端场景蓝图.md": "5.0.1",
257
+ "microi-uniapp-frontend/SKILL.md": "5.0.1",
258
+ "microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.0.1",
259
+ "microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.0.1",
260
+ "microi.v8.js": "5.0.1",
261
+ "module-engine/SKILL.md": "5.0.1",
262
+ "module-engine/references/module-config.md": "5.0.1",
263
+ "ocr-engine/SKILL.md": "5.0.1",
264
+ "ocr-engine/agents/openai.yaml": "5.0.1",
265
+ "page-engine/SKILL.md": "5.0.1",
266
+ "page-engine/references/progressive-01-所有组件类型.md": "5.0.1",
267
+ "page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.0.1",
268
+ "performance-testing/SKILL.md": "5.0.1",
269
+ "playwright-e2e/SKILL.md": "5.0.1",
270
+ "playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.0.1",
271
+ "playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.0.1",
272
+ "playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.0.1",
273
+ "playwright-e2e/references/progressive-04-ci-建议.md": "5.0.1",
274
+ "print-engine/SKILL.md": "5.0.1",
275
+ "production-readonly-audit/SKILL.md": "5.0.1",
276
+ "report-engine/SKILL.md": "5.0.1",
277
+ "report-engine/agents/openai.yaml": "5.0.1",
278
+ "scripts/optimize-progressive-disclosure.mjs": "5.0.1",
279
+ "scripts/refresh-progressive-disclosure.mjs": "5.0.1",
280
+ "scripts/validate-progressive-disclosure.mjs": "5.0.1",
281
+ "search-engine/SKILL.md": "5.0.1",
282
+ "search-engine/agents/openai.yaml": "5.0.1",
283
+ "spider-engine/SKILL.md": "5.0.1",
284
+ "translate-engine/SKILL.md": "5.0.1",
285
+ "translate-engine/agents/openai.yaml": "5.0.1",
286
+ "ui-design/SKILL.md": "5.0.1",
287
+ "ui-design/assets/pattern-showcase/app.js": "5.0.1",
288
+ "ui-design/assets/pattern-showcase/index.html": "5.0.1",
289
+ "ui-design/assets/pattern-showcase/styles.css": "5.0.1",
290
+ "ui-design/assets/templates/MCI-DESIGN.md": "5.0.1",
291
+ "ui-design/references/design-pattern-library.md": "5.0.1",
292
+ "ui-design/references/mci-design-contract.md": "5.0.1",
293
+ "ui-design/references/motion-and-media.md": "5.0.1",
294
+ "ui-design/references/product-flow-recipes.md": "5.0.1",
295
+ "ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.0.1",
296
+ "ui-design/references/progressive-02-字体.md": "5.0.1",
297
+ "ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.0.1",
298
+ "ui-design/references/progressive-04-组件风格速查.md": "5.0.1",
299
+ "ui-design/references/progressive-05-移动端专用规范.md": "5.0.1",
300
+ "ui-design/references/progressive-06-主题切换实现.md": "5.0.1",
301
+ "ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.0.1",
302
+ "ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.0.1",
303
+ "uniapp-mall-assets/SKILL.md": "5.0.1",
304
+ "unity-integration/SKILL.md": "5.0.1",
305
+ "unity-integration/agents/openai.yaml": "5.0.1",
306
+ "unity-integration/references/ai-app-delivery.md": "5.0.1",
307
+ "unity-integration/references/sdk-api.md": "5.0.1",
308
+ "unity-integration/references/toolbox-migration.md": "5.0.1",
309
+ "unity-integration/references/webgl-hosting.md": "5.0.1",
310
+ "v8-api-config/SKILL.md": "5.0.1",
311
+ "v8-cache-pattern/SKILL.md": "5.0.1",
312
+ "v8-crud-api/SKILL.md": "5.0.1",
313
+ "v8-crud-api/references/progressive-01-查询列表-分页.md": "5.0.1",
314
+ "v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.0.1",
315
+ "v8-debugging/SKILL.md": "5.0.1",
316
+ "v8-explorer-tree/SKILL.md": "5.0.1",
317
+ "v8-export-import/SKILL.md": "5.0.1",
318
+ "v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.0.1",
319
+ "v8-export-import/references/progressive-02-powerpoint-导出.md": "5.0.1",
320
+ "v8-export-import/references/progressive-03-安全-性能注意.md": "5.0.1",
321
+ "v8-file-upload/SKILL.md": "5.0.1",
322
+ "v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.0.1",
323
+ "v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.0.1",
324
+ "v8-formengine-http/SKILL.md": "5.0.1",
325
+ "v8-frontend-events/SKILL.md": "5.0.1",
326
+ "v8-frontend-events/references/bluetooth-print-api.md": "5.0.1",
327
+ "v8-frontend-events/references/bluetooth-print.md": "5.0.1",
328
+ "v8-frontend-events/references/progressive-01-列表事件.md": "5.0.1",
329
+ "v8-http-integration/SKILL.md": "5.0.1",
330
+ "v8-http-integration/references/progressive-01-get-请求.md": "5.0.1",
331
+ "v8-http-integration/references/progressive-02-错误处理模式.md": "5.0.1",
332
+ "v8-image-processing/SKILL.md": "5.0.1",
333
+ "v8-image-processing/agents/openai.yaml": "5.0.1",
334
+ "v8-image-processing/references/api-reference.md": "5.0.1",
335
+ "v8-menu-buttons/SKILL.md": "5.0.1",
336
+ "v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.0.1",
337
+ "v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.0.1",
338
+ "v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.0.1",
339
+ "v8-mongodb/SKILL.md": "5.0.1",
340
+ "v8-mq-mqtt/SKILL.md": "5.0.1",
341
+ "v8-mq-mqtt/references/mqtt-production.md": "5.0.1",
342
+ "v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.0.1",
343
+ "v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.0.1",
344
+ "v8-saas-multi-tenant/SKILL.md": "5.0.1",
345
+ "v8-security/SKILL.md": "5.0.1",
346
+ "v8-security/references/progressive-01-2-权限校验.md": "5.0.1",
347
+ "v8-security/references/progressive-02-7-日志记录.md": "5.0.1",
348
+ "v8-sql-query/SKILL.md": "5.0.1",
349
+ "v8-table-event/SKILL.md": "5.0.1",
350
+ "v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.0.1",
351
+ "v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.0.1",
352
+ "v8-template-engine/SKILL.md": "5.0.1",
353
+ "v8-utilities/SKILL.md": "5.0.1",
354
+ "v8-utilities/references/client-api-index.md": "5.0.1",
355
+ "v8-utilities/references/platform-http-routes.md": "5.0.1",
356
+ "v8-utilities/references/server-api-index.md": "5.0.1",
357
+ "v8-workflow/SKILL.md": "5.0.1",
358
+ "v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.0.1",
359
+ "workspace-conventions/SKILL.md": "5.0.1",
360
+ "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.0.1",
361
+ "workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.0.1",
362
+ "workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.0.1"
363
363
  },
364
364
  "files": [
365
365
  ".microi-skills-version.json",
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "4.9.9",
2
+ "version": "5.0.1",
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-13T06:28:57.554Z"
5
+ "updatedAt": "2026-08-13T12:50:14.965Z"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 1,
3
- "generatedAt": "2026-08-12T12:26:00.417Z",
3
+ "generatedAt": "2026-08-13T12:40:41.746Z",
4
4
  "policy": {
5
5
  "maxEntryLines": 285,
6
6
  "referenceBudgetLines": 245,
@@ -169,10 +169,10 @@
169
169
  ]
170
170
  },
171
171
  "microi-client-frontend": {
172
- "originalSha256": "a895090a5fa0930425e6674beb3ec38ddb601eaa99d7dcc9c71a86e405e7e173",
173
- "originalLines": 596,
174
- "prefixSha256": "3da2562f2b34a12495dfe54f8fa881dc31715bf34bcb7cba9a266c34bd1429c9",
175
- "prefixBytes": 656,
172
+ "originalSha256": "508f4d7c021971433d72ff9ed3eb6e3bbe02f2634ba01cb53bc799bdadaedd6f",
173
+ "originalLines": 602,
174
+ "prefixSha256": "5decf25a3ed71a6eb78accc950df73a3e3addf0909921f38389d3c526efb8738",
175
+ "prefixBytes": 720,
176
176
  "entryLines": 179,
177
177
  "chunks": [
178
178
  {
@@ -267,8 +267,8 @@
267
267
  "id": "microi-client-frontend-011",
268
268
  "ordinal": 11,
269
269
  "destination": "microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md",
270
- "sha256": "18261b2eb8de007296bc536802abaf995f0696fd44c54677e0f7141dcef3c5ca",
271
- "lines": 76,
270
+ "sha256": "26acb7297e2d0e794ae447beaba3b19171f9f232255adafc26966187e445e95a",
271
+ "lines": 82,
272
272
  "heading": "Vue3 前端微服务宿主规则"
273
273
  },
274
274
  {
@@ -1344,10 +1344,10 @@
1344
1344
  ]
1345
1345
  },
1346
1346
  "playwright-e2e": {
1347
- "originalSha256": "e9ae52e876bad6413b92875ac83124750432682e72eaf54c087cc155c99e1318",
1348
- "originalLines": 746,
1349
- "prefixSha256": "c95509b6804353c3d7dbfcaa5101284d4b468f4d20e8ffc7dfb1eae22f5cbe49",
1350
- "prefixBytes": 1648,
1347
+ "originalSha256": "dfedb663bea48a7f16bf0c6ae8448ae6cef1249245cf2867fb9585414ceb9d89",
1348
+ "originalLines": 748,
1349
+ "prefixSha256": "8002a056799f289a3d76ae93418f5aaab4fde77a481b25d948ca70034714b30f",
1350
+ "prefixBytes": 1696,
1351
1351
  "entryLines": 180,
1352
1352
  "chunks": [
1353
1353
  {
@@ -1554,8 +1554,8 @@
1554
1554
  "id": "playwright-e2e-025",
1555
1555
  "ordinal": 25,
1556
1556
  "destination": "playwright-e2e/references/progressive-04-ci-建议.md",
1557
- "sha256": "2ae146b962ec19d0f74f9228ccfdb2d67164dea441dccce4dcc68a867269131a",
1558
- "lines": 9,
1557
+ "sha256": "be071153d695081b7c20d34cb5e9563480e3f09d9cd0292f2ca4b0245438787b",
1558
+ "lines": 11,
1559
1559
  "heading": "前端微服务 E2E 必测点"
1560
1560
  },
1561
1561
  {
@@ -57,7 +57,8 @@ AI 业务统一实现在 `Microi.Server/Microi.AI`。`Microi.Server/Microi.net.A
57
57
  - MiniMax Token Plan Key 与按量 API Key 是相互独立的凭据,必须复用现有服务器端 Provider/ApiKey 受保护配置,不新增 API `AppSettings`、`MICROI_*` 环境变量或浏览器可见 Key。视频创建、查询和下载仅允许官方 HTTPS Host `api.minimaxi.com`。
58
58
  - 视频创建必须要求调用方稳定 `RequestId`,先在当前租户共享 Redis 以 `OsClient + 用户 + RequestId` 原子 `NX` 占位;Redis 不可用时失败关闭。相同 RequestId/参数回放返回原任务,不同参数冲突拒绝;上游 POST 超时或结果不确定时禁止自动换 RequestId 重试。查询不再次扣生成额度。
59
59
  - 原始 MiniMax `task_id`/`file_id` 不下发。服务端返回由供应商 Key 签名、绑定当前用户和用途的短句柄;查询/下载验签后才还原。Key 轮换会使旧句柄失效,应先完成或重新登记在途任务。
60
- - 当前官方模型边界必须实时校准:`MiniMax-Hailuo-2.3` 支持文生/图生,`MiniMax-Hailuo-2.3-Fast` 仅图生且必须有首帧,首尾帧使用 `MiniMax-Hailuo-02`。Hailuo 2.3 的清晰优先上限是 6 秒 / 1080P,时长优先上限是 10 秒 / 768P,两者不能同时最大;安全默认值仍可使用 6 / 768P。当前 Token Plan 使用统一用量条、5 小时滚动窗口和周窗口,控制台是剩余额度事实源,不再把固定“每天 N 条”写成官方配额。工作区可按用户明确要求保留 3 条/日等更保守的业务门禁,但领域服务不得硬编码价格或把客户端计数当成供应商权威额度。
60
+ - 当前官方模型边界必须实时校准:`MiniMax-Hailuo-2.3` 支持文生/图生,`MiniMax-Hailuo-2.3-Fast` 仅图生且必须有首帧,首尾帧使用 `MiniMax-Hailuo-02`。Hailuo 2.3 的画质优先上限与平台默认值是 6 秒 / 1080P,时长优先上限是 10 秒 / 768P,两者不能同时最大;API 不提供 fps 参数,必须用媒体探针记录真实帧率,禁止把插帧/画布规格冒充模型原生能力。当前 Token Plan 使用统一用量条、5 小时固定窗口和周窗口,控制台是剩余额度事实源,不再把固定“每天 N 条”写成官方配额。需要自动生成时,在 `Microi.AI` 增加只读、脱敏、管理员限定的 `https://www.minimaxi.com/v1/token_plan/remains` 安全原子能力;不得由浏览器或可编辑 V8 读取 Provider Key,也不得把客户端今日计数当成供应商权威额度。
61
+ - MiniMax 视频任务返回静音画面。需要人物对白时,男/女语音必须通过 `Microi.AI` 的 `GenerateMiniMaxSpeech` 受保护原子能力生成:固定 `speech-2.8-hd`、固定男女系统音色、稳定 RequestId、共享 Redis 幂等,并直接转存租户 HDFS;再由可靠 Worker 按时间轴混音、加准确字幕。无法证明口型同步时使用画外音或反打镜头。背景音乐使用 `GenerateMiniMaxMusic` 并在人声下压低。运行节点尚未部署 Speech 能力、额度未核实或母版混音/探针证据缺失时失败关闭,禁止静音、仅配乐、浏览器直连供应商或伪称模型原生带声。
61
62
  - 使用 Microi.AI 中转站时,租户侧 AI Bootstrap 通过官方 `official_ai_relay_models` 发现可用运行模型。该接口是跨租户只读公共契约,必须保持启用、允许匿名 HTTP 调用,并且只返回模型标识、展示名等公开白名单字段,绝不能返回中转密钥或上游 Endpoint。消费者不得把 `NoAuth` 静默伪装为“没有配置模型”;应返回可诊断错误,同时前端显示明确空态。
62
63
  - PC、UniApp 和其它客户端通过 `POST /apiengine/{key}` 发送的 JSON Body 必须完整进入 `V8.Param`;兼容入口 `/api/ApiEngine/Run` 的 JSON Body 还必须包含 `ApiEngineKey`。API 层只负责请求绑定和清除客户端伪造的可信字段,模型选择、权限策略与对话逻辑仍全部位于 `Microi.AI` 或受控 AI 接口引擎中。
63
64
  - 当前计量记录除问题摘要外还可能持久化完整 `Question`、`Answer`,部分诊断日志也会输出问题或摘要。处理现有版本时必须把这些字段视为敏感业务数据,限制查询权限和留存;不要声称已经全面脱敏。