@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.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +5 -5
- package/package.json +1 -1
- package/scripts/mcp-server.js +86 -86
- package/scripts/microi-cli.js +27 -26
- package/scripts/microi-codex-broker.js +20 -1
- package/scripts/microi-skills.meta.json +184 -184
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +13 -13
- package/skills/ai-engine/SKILL.md +2 -1
- package/skills/message-notification/SKILL.md +1 -1
- package/skills/microi-client-frontend/SKILL.md +1 -1
- package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +8 -2
- package/skills/microi-microservice/SKILL.md +21 -2
- package/skills/microi-microservice/references/runtime-delivery.md +26 -1
- package/skills/playwright-e2e/SKILL.md +1 -1
- package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +4 -2
|
@@ -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
|
|
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-
|
|
2
|
+
"builtAt": "2026-08-13T12:51:19.721Z",
|
|
3
3
|
"source": "../microi.skills",
|
|
4
4
|
"extension": {
|
|
5
5
|
"name": "v8-engine",
|
|
6
|
-
"version": "
|
|
6
|
+
"version": "5.0.1",
|
|
7
7
|
"publisher": "Microi"
|
|
8
8
|
},
|
|
9
9
|
"skills": {
|
|
10
|
-
"version": "
|
|
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":
|
|
18
|
+
"bytes": 2056310
|
|
19
19
|
},
|
|
20
20
|
"fileHashes": {
|
|
21
|
-
".microi-skills-version.json": "
|
|
22
|
-
".progressive-disclosure-manifest.json": "
|
|
21
|
+
".microi-skills-version.json": "d6ad94a2fb1b8289cbccc768567dc071ad994d4d1c59fccf88e2bd9c94b67d23",
|
|
22
|
+
".progressive-disclosure-manifest.json": "b9ab810503f1a107708dd6e238665f1d1fae9a8fd355a8ec6cb21d3cd4843338",
|
|
23
23
|
"README.md": "168697be6864bbb12befa9a6723d93ea9d1c8b5a615006038c31b09e1171860c",
|
|
24
|
-
"ai-engine/SKILL.md": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
73
|
-
"microi-microservice/references/runtime-delivery.md": "
|
|
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": "
|
|
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": "
|
|
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": "
|
|
194
|
-
".progressive-disclosure-manifest.json": "
|
|
195
|
-
"README.md": "
|
|
196
|
-
"ai-engine/SKILL.md": "
|
|
197
|
-
"ai-engine/agents/openai.yaml": "
|
|
198
|
-
"ai-platform-governance/SKILL.md": "
|
|
199
|
-
"ai-platform-governance/references/progressive-01-功能开关.md": "
|
|
200
|
-
"app-store/SKILL.md": "
|
|
201
|
-
"app-store/agents/openai.yaml": "
|
|
202
|
-
"business-blueprint/SKILL.md": "
|
|
203
|
-
"datasource-engine/SKILL.md": "
|
|
204
|
-
"datasource-engine/agents/openai.yaml": "
|
|
205
|
-
"dos-orm/SKILL.md": "
|
|
206
|
-
"dos-orm/references/api-reference.md": "
|
|
207
|
-
"job-engine/SKILL.md": "
|
|
208
|
-
"job-engine/agents/openai.yaml": "
|
|
209
|
-
"message-notification/SKILL.md": "
|
|
210
|
-
"message-notification/agents/openai.yaml": "
|
|
211
|
-
"message-notification/references/contracts.md": "
|
|
212
|
-
"microi-ai-app-auth.js": "
|
|
213
|
-
"microi-ai-application/SKILL.md": "
|
|
214
|
-
"microi-ai-application/agents/openai.yaml": "
|
|
215
|
-
"microi-ai-application/references/frontend-baseline.md": "
|
|
216
|
-
"microi-client-frontend/SKILL.md": "
|
|
217
|
-
"microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "
|
|
218
|
-
"microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "
|
|
219
|
-
"microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "
|
|
220
|
-
"microi-codex-installer/SKILL.md": "
|
|
221
|
-
"microi-codex-installer/agents/openai.yaml": "
|
|
222
|
-
"microi-codex/SKILL.md": "
|
|
223
|
-
"microi-datasource-mapping/SKILL.md": "
|
|
224
|
-
"microi-db-schema/SKILL.md": "
|
|
225
|
-
"microi-db-schema/agents/openai.yaml": "
|
|
226
|
-
"microi-db-schema/references/core-tables.md": "
|
|
227
|
-
"microi-db-schema/references/form-component-options.md": "
|
|
228
|
-
"microi-db-schema/references/schema-overview.md": "
|
|
229
|
-
"microi-db-schema/references/schema.md": "
|
|
230
|
-
"microi-db-schema/references/table-catalog.md": "
|
|
231
|
-
"microi-deployment/SKILL.md": "
|
|
232
|
-
"microi-deployment/references/deployment-matrix.md": "
|
|
233
|
-
"microi-docs-coverage/SKILL.md": "
|
|
234
|
-
"microi-docs-coverage/references/capability-map.md": "
|
|
235
|
-
"microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "
|
|
236
|
-
"microi-form-engine/SKILL.md": "
|
|
237
|
-
"microi-form-engine/references/component-catalog.md": "
|
|
238
|
-
"microi-form-engine/references/data-source-events.md": "
|
|
239
|
-
"microi-form-layout/SKILL.md": "
|
|
240
|
-
"microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "
|
|
241
|
-
"microi-frontend-sdk/SKILL.md": "
|
|
242
|
-
"microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "
|
|
243
|
-
"microi-left-right-layout/SKILL.md": "
|
|
244
|
-
"microi-microservice/SKILL.md": "
|
|
245
|
-
"microi-microservice/references/runtime-delivery.md": "
|
|
246
|
-
"microi-mobile-app-quality/SKILL.md": "
|
|
247
|
-
"microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "
|
|
248
|
-
"microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "
|
|
249
|
-
"microi-solution-quotation/SKILL.md": "
|
|
250
|
-
"microi-solution-quotation/agents/openai.yaml": "
|
|
251
|
-
"microi-solution-quotation/scripts/build_solution_quote.py": "
|
|
252
|
-
"microi-system-delivery/SKILL.md": "
|
|
253
|
-
"microi-system-delivery/references/progressive-01-标准工作流.md": "
|
|
254
|
-
"microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "
|
|
255
|
-
"microi-ui/SKILL.md": "
|
|
256
|
-
"microi-ui/references/progressive-01-移动端场景蓝图.md": "
|
|
257
|
-
"microi-uniapp-frontend/SKILL.md": "
|
|
258
|
-
"microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "
|
|
259
|
-
"microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "
|
|
260
|
-
"microi.v8.js": "
|
|
261
|
-
"module-engine/SKILL.md": "
|
|
262
|
-
"module-engine/references/module-config.md": "
|
|
263
|
-
"ocr-engine/SKILL.md": "
|
|
264
|
-
"ocr-engine/agents/openai.yaml": "
|
|
265
|
-
"page-engine/SKILL.md": "
|
|
266
|
-
"page-engine/references/progressive-01-所有组件类型.md": "
|
|
267
|
-
"page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "
|
|
268
|
-
"performance-testing/SKILL.md": "
|
|
269
|
-
"playwright-e2e/SKILL.md": "
|
|
270
|
-
"playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "
|
|
271
|
-
"playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "
|
|
272
|
-
"playwright-e2e/references/progressive-03-microi-helper-模板.md": "
|
|
273
|
-
"playwright-e2e/references/progressive-04-ci-建议.md": "
|
|
274
|
-
"print-engine/SKILL.md": "
|
|
275
|
-
"production-readonly-audit/SKILL.md": "
|
|
276
|
-
"report-engine/SKILL.md": "
|
|
277
|
-
"report-engine/agents/openai.yaml": "
|
|
278
|
-
"scripts/optimize-progressive-disclosure.mjs": "
|
|
279
|
-
"scripts/refresh-progressive-disclosure.mjs": "
|
|
280
|
-
"scripts/validate-progressive-disclosure.mjs": "
|
|
281
|
-
"search-engine/SKILL.md": "
|
|
282
|
-
"search-engine/agents/openai.yaml": "
|
|
283
|
-
"spider-engine/SKILL.md": "
|
|
284
|
-
"translate-engine/SKILL.md": "
|
|
285
|
-
"translate-engine/agents/openai.yaml": "
|
|
286
|
-
"ui-design/SKILL.md": "
|
|
287
|
-
"ui-design/assets/pattern-showcase/app.js": "
|
|
288
|
-
"ui-design/assets/pattern-showcase/index.html": "
|
|
289
|
-
"ui-design/assets/pattern-showcase/styles.css": "
|
|
290
|
-
"ui-design/assets/templates/MCI-DESIGN.md": "
|
|
291
|
-
"ui-design/references/design-pattern-library.md": "
|
|
292
|
-
"ui-design/references/mci-design-contract.md": "
|
|
293
|
-
"ui-design/references/motion-and-media.md": "
|
|
294
|
-
"ui-design/references/product-flow-recipes.md": "
|
|
295
|
-
"ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "
|
|
296
|
-
"ui-design/references/progressive-02-字体.md": "
|
|
297
|
-
"ui-design/references/progressive-03-动效规范-丰富但不卡.md": "
|
|
298
|
-
"ui-design/references/progressive-04-组件风格速查.md": "
|
|
299
|
-
"ui-design/references/progressive-05-移动端专用规范.md": "
|
|
300
|
-
"ui-design/references/progressive-06-主题切换实现.md": "
|
|
301
|
-
"ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "
|
|
302
|
-
"ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "
|
|
303
|
-
"uniapp-mall-assets/SKILL.md": "
|
|
304
|
-
"unity-integration/SKILL.md": "
|
|
305
|
-
"unity-integration/agents/openai.yaml": "
|
|
306
|
-
"unity-integration/references/ai-app-delivery.md": "
|
|
307
|
-
"unity-integration/references/sdk-api.md": "
|
|
308
|
-
"unity-integration/references/toolbox-migration.md": "
|
|
309
|
-
"unity-integration/references/webgl-hosting.md": "
|
|
310
|
-
"v8-api-config/SKILL.md": "
|
|
311
|
-
"v8-cache-pattern/SKILL.md": "
|
|
312
|
-
"v8-crud-api/SKILL.md": "
|
|
313
|
-
"v8-crud-api/references/progressive-01-查询列表-分页.md": "
|
|
314
|
-
"v8-crud-api/references/progressive-02-where-条件语法速查.md": "
|
|
315
|
-
"v8-debugging/SKILL.md": "
|
|
316
|
-
"v8-explorer-tree/SKILL.md": "
|
|
317
|
-
"v8-export-import/SKILL.md": "
|
|
318
|
-
"v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "
|
|
319
|
-
"v8-export-import/references/progressive-02-powerpoint-导出.md": "
|
|
320
|
-
"v8-export-import/references/progressive-03-安全-性能注意.md": "
|
|
321
|
-
"v8-file-upload/SKILL.md": "
|
|
322
|
-
"v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "
|
|
323
|
-
"v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "
|
|
324
|
-
"v8-formengine-http/SKILL.md": "
|
|
325
|
-
"v8-frontend-events/SKILL.md": "
|
|
326
|
-
"v8-frontend-events/references/bluetooth-print-api.md": "
|
|
327
|
-
"v8-frontend-events/references/bluetooth-print.md": "
|
|
328
|
-
"v8-frontend-events/references/progressive-01-列表事件.md": "
|
|
329
|
-
"v8-http-integration/SKILL.md": "
|
|
330
|
-
"v8-http-integration/references/progressive-01-get-请求.md": "
|
|
331
|
-
"v8-http-integration/references/progressive-02-错误处理模式.md": "
|
|
332
|
-
"v8-image-processing/SKILL.md": "
|
|
333
|
-
"v8-image-processing/agents/openai.yaml": "
|
|
334
|
-
"v8-image-processing/references/api-reference.md": "
|
|
335
|
-
"v8-menu-buttons/SKILL.md": "
|
|
336
|
-
"v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "
|
|
337
|
-
"v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "
|
|
338
|
-
"v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "
|
|
339
|
-
"v8-mongodb/SKILL.md": "
|
|
340
|
-
"v8-mq-mqtt/SKILL.md": "
|
|
341
|
-
"v8-mq-mqtt/references/mqtt-production.md": "
|
|
342
|
-
"v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "
|
|
343
|
-
"v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "
|
|
344
|
-
"v8-saas-multi-tenant/SKILL.md": "
|
|
345
|
-
"v8-security/SKILL.md": "
|
|
346
|
-
"v8-security/references/progressive-01-2-权限校验.md": "
|
|
347
|
-
"v8-security/references/progressive-02-7-日志记录.md": "
|
|
348
|
-
"v8-sql-query/SKILL.md": "
|
|
349
|
-
"v8-table-event/SKILL.md": "
|
|
350
|
-
"v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "
|
|
351
|
-
"v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "
|
|
352
|
-
"v8-template-engine/SKILL.md": "
|
|
353
|
-
"v8-utilities/SKILL.md": "
|
|
354
|
-
"v8-utilities/references/client-api-index.md": "
|
|
355
|
-
"v8-utilities/references/platform-http-routes.md": "
|
|
356
|
-
"v8-utilities/references/server-api-index.md": "
|
|
357
|
-
"v8-workflow/SKILL.md": "
|
|
358
|
-
"v8-workflow/references/progressive-01-节点开始-v8-事件.md": "
|
|
359
|
-
"workspace-conventions/SKILL.md": "
|
|
360
|
-
"workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "
|
|
361
|
-
"workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "
|
|
362
|
-
"workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "
|
|
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": "
|
|
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-
|
|
5
|
+
"updatedAt": "2026-08-13T12:50:14.965Z"
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"generatedAt": "2026-08-
|
|
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": "
|
|
173
|
-
"originalLines":
|
|
174
|
-
"prefixSha256": "
|
|
175
|
-
"prefixBytes":
|
|
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": "
|
|
271
|
-
"lines":
|
|
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": "
|
|
1348
|
-
"originalLines":
|
|
1349
|
-
"prefixSha256": "
|
|
1350
|
-
"prefixBytes":
|
|
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": "
|
|
1558
|
-
"lines":
|
|
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
|
|
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`,部分诊断日志也会输出问题或摘要。处理现有版本时必须把这些字段视为敏感业务数据,限制查询权限和留存;不要声称已经全面脱敏。
|