@microi.net/cli 5.3.9 → 5.4.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/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/mcp-server.js +117 -113
- package/scripts/microi-cli.js +1 -1
- package/scripts/microi-skills.meta.json +195 -195
- package/skills/.microi-skills-version.json +2 -2
- package/skills/app-store/SKILL.md +2 -1
- package/skills/microi-sso/SKILL.md +8 -7
- package/skills/microi-sso/references/acceptance.md +6 -6
- package/skills/microi-sso/references/configuration-and-security.md +1 -1
- package/skills/microi-sso/references/inbound.md +1 -1
- package/skills/microi-sso/references/outbound.md +1 -1
- package/skills/microi.v8.js +59 -39
- package/skills/uniapp-mall-assets/SKILL.md +60 -4
- package/skills/v8-api-config/SKILL.md +58 -9
- package/skills/v8-security/SKILL.md +7 -2
- package/skills/v8-workflow/SKILL.md +9 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"builtAt": "2026-08-
|
|
2
|
+
"builtAt": "2026-08-30T12:14:33.508Z",
|
|
3
3
|
"source": "../microi.skills",
|
|
4
4
|
"extension": {
|
|
5
5
|
"name": "v8-engine",
|
|
6
|
-
"version": "5.
|
|
6
|
+
"version": "5.4.1",
|
|
7
7
|
"publisher": "Microi"
|
|
8
8
|
},
|
|
9
9
|
"skills": {
|
|
10
|
-
"version": "5.
|
|
10
|
+
"version": "5.4.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,17 +15,17 @@
|
|
|
15
15
|
"dir": "dist/microi.skills",
|
|
16
16
|
"files": 178,
|
|
17
17
|
"skills": 65,
|
|
18
|
-
"bytes":
|
|
18
|
+
"bytes": 2291541
|
|
19
19
|
},
|
|
20
20
|
"fileHashes": {
|
|
21
|
-
".microi-skills-version.json": "
|
|
21
|
+
".microi-skills-version.json": "5d99887b6bbafd6f771075cc5a31ab01a0d0652d71bf1e944a44fdf784a93dd0",
|
|
22
22
|
".progressive-disclosure-manifest.json": "c039b5bc6761bd0a17b551e3a865cfb4660253254185c96650e83ad13d2f01cb",
|
|
23
23
|
"README.md": "332aade05015acac5f1387829a42529f37fc203ff0fcfb2f16cc3afdbb23b1ed",
|
|
24
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": "
|
|
28
|
+
"app-store/SKILL.md": "929d7d898cc02c5f8d4c5f2a48c4122965a14eedd93e568937e49fb4cf3bfab5",
|
|
29
29
|
"app-store/agents/openai.yaml": "eda8f5cf043e7b8fb0e4fb3acf0625fef95eb49586b43187ced277cd0ae4a2c4",
|
|
30
30
|
"business-blueprint/SKILL.md": "01619a3b6d37b5b67649ee59d2701301222006d3b943882b2802b1721c58f8a9",
|
|
31
31
|
"datasource-engine/SKILL.md": "bed8352f1d43b55145e1c492d1ea0ca1ec8750b5c4d74e1e80cd71aa7b9a2e6f",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "bf78d9d2e2d6d1a8315f44f04f21889b21d845a02801d5f8e0eb11b3f490b6d1",
|
|
48
48
|
"microi-codex-installer/SKILL.md": "75bec07d087167ab6343c816d07d9c7e1e850871a05737f31aec115e7fa3cdce",
|
|
49
49
|
"microi-codex-installer/agents/openai.yaml": "e531219b74a70204893a156b1c22c69013a4c9d24b132ead912746b1b312cf80",
|
|
50
|
-
"microi-codex/SKILL.md": "
|
|
50
|
+
"microi-codex/SKILL.md": "89620fa084b90a03a7890f2815d1f1ab1911ddb8849ad53779b901a4aa4d6247",
|
|
51
51
|
"microi-datasource-mapping/SKILL.md": "619c022b668f928129abef10e3f502f2ca0d2dee6e341ccd55f61fdbbcdd9661",
|
|
52
52
|
"microi-db-schema/SKILL.md": "a69a9bcc87e8b74879c801c7e478a6270da8f2e4724421ff0611bb9a95c2fd1f",
|
|
53
53
|
"microi-db-schema/agents/openai.yaml": "c725a2be4c904472f9e46dc4b49aa642c9f3a4437c91a28ba7cc27167497ede7",
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"microi-solution-quotation/SKILL.md": "d99886d1261dba1c56b8ef70090783ffe9ae8a4915f5ca2c7e1fae6be519567a",
|
|
78
78
|
"microi-solution-quotation/agents/openai.yaml": "9e3f994cc842c927ca25e23216f6ce5e8f8313fc39b1c7142d9b652ca73e7dd1",
|
|
79
79
|
"microi-solution-quotation/scripts/build_solution_quote.py": "2a8a90ed95308b900da3db433402d857f838b594df624f5a83b62307471a31e7",
|
|
80
|
-
"microi-sso/SKILL.md": "
|
|
81
|
-
"microi-sso/references/acceptance.md": "
|
|
82
|
-
"microi-sso/references/configuration-and-security.md": "
|
|
83
|
-
"microi-sso/references/inbound.md": "
|
|
84
|
-
"microi-sso/references/outbound.md": "
|
|
80
|
+
"microi-sso/SKILL.md": "db1640210e14e043ac34b1b5e825f1a67e527f1470704bd351a0f8ee8f076265",
|
|
81
|
+
"microi-sso/references/acceptance.md": "94adf1771155cb3cf53ab90dda0b66afd326f086fd8a89b96db06894c2552f87",
|
|
82
|
+
"microi-sso/references/configuration-and-security.md": "bffdfd22fde59ddc80875320ad1fceb8f0e02cd3d5c5b5491b8f0e60b9dd182b",
|
|
83
|
+
"microi-sso/references/inbound.md": "18f3f0855c3f7be90cc74bf57fa95a150158a6b65bc1e48748e9b4a75695c834",
|
|
84
|
+
"microi-sso/references/outbound.md": "6cc98a7620e9aa186a28a86abfdb21d106de757865801f82b8457b51ad1d81ad",
|
|
85
85
|
"microi-system-delivery/SKILL.md": "06502e440efa37689a0d98bfa34f960d882a80fb1d1ab1e87ec36868c2af09cc",
|
|
86
86
|
"microi-system-delivery/references/progressive-01-标准工作流.md": "02c9fe51cab2216fc58fb4a18a6acb43b3318864a5a74cac2990e848e3e19c4b",
|
|
87
87
|
"microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "65acd38ad85744c7fd69d23bb65c25269e293a4085fed2bbef2ee2aeb4c232d0",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"microi-uniapp-frontend/SKILL.md": "58614f69730f0a9021e2df64d8de586907fc6f80285606698a8fa5811a6ead06",
|
|
91
91
|
"microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "44df3c20120298f6565cf4388eadca70d98d097880c61168ce6d3ac03e80968b",
|
|
92
92
|
"microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "31a0a12e39ec785df038fb5c73d4978d6dec42d86c52b79e91082c9ac13f29cf",
|
|
93
|
-
"microi.v8.js": "
|
|
93
|
+
"microi.v8.js": "e1503fec0a0bc0077efc6429b4f16a9e2ba3e7e1188a7b5587a7aa1b1788fda0",
|
|
94
94
|
"module-engine/SKILL.md": "64c899b916aca60189b5cb02abe6577d686bcd3820188970d32f751699196266",
|
|
95
95
|
"module-engine/references/module-config.md": "9e8ac8a7f65d6b563f938193d4b7c6b230d878a3513fc2a90c8b780e70ddd353",
|
|
96
96
|
"ocr-engine/SKILL.md": "ca6157cb0c9184047f38e0b427927a0300dc1457129b918821c4186db8e37311",
|
|
@@ -134,14 +134,14 @@
|
|
|
134
134
|
"ui-design/references/progressive-06-主题切换实现.md": "3ff0b51f32d15afd89e1e3de821ecede9dc7ad25c1fe6bc524e019e9a557d5ee",
|
|
135
135
|
"ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "11d4183f910c672740c723d204f7827405be644c93ce7056e4257159e7a53a4a",
|
|
136
136
|
"ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "f97eb92c7e97e62aba5c7d2c002d90a15b5db28229e06a1b000013d24e42d571",
|
|
137
|
-
"uniapp-mall-assets/SKILL.md": "
|
|
137
|
+
"uniapp-mall-assets/SKILL.md": "7dd295e03a034a1694e55c365acd3bfb52d2ff1fa887c979479343e101f867f5",
|
|
138
138
|
"unity-integration/SKILL.md": "7241b76c5d738d104a34a0d23d31bbda0295a406c598af63d2830dc57138e7bc",
|
|
139
139
|
"unity-integration/agents/openai.yaml": "f07748ace7e6303e49eac32d77f3e7163c8de1cef1f2f87e20de76207c8e5a50",
|
|
140
140
|
"unity-integration/references/ai-app-delivery.md": "cf0338a14b647bea42c31257cc73326c7a5a065a21153e21763235064f1d6373",
|
|
141
141
|
"unity-integration/references/sdk-api.md": "b473e7094b0c4cf7860cecb9acfbdd55025c7f851b4bd4bf92b4233091b182fa",
|
|
142
142
|
"unity-integration/references/toolbox-migration.md": "b9294ea7db2b2a0f31e650e6e80f6d8f69385037bff6ac39fd5525ea98f8c934",
|
|
143
143
|
"unity-integration/references/webgl-hosting.md": "5c19bda62d7c7a258b4fafc1d46e9a7c94e5400803d77d9aff44ce794083e745",
|
|
144
|
-
"v8-api-config/SKILL.md": "
|
|
144
|
+
"v8-api-config/SKILL.md": "afc74b548f2672070b98b5ef430ae1a955c8d45d42b6d92056c71cb4ea843ccd",
|
|
145
145
|
"v8-cache-pattern/SKILL.md": "66f55bc84ac56854804ae22f8957a62555a906aea55f983d39eb6f5eb90e7f11",
|
|
146
146
|
"v8-crud-api/SKILL.md": "f497a58bd87c6a77bafb1e0a753371489fe803ebe67c1e0eecb900bac58cd510",
|
|
147
147
|
"v8-crud-api/references/progressive-01-查询列表-分页.md": "5264932207d1a011062e3f6a982b44ce3796470f7d3261ec3d6690322b28f61d",
|
|
@@ -176,7 +176,7 @@
|
|
|
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
178
|
"v8-saas-multi-tenant/SKILL.md": "a8463c2759e5872cbf198e67df963d7db4662264b92662bd7efc18fb4cf9db88",
|
|
179
|
-
"v8-security/SKILL.md": "
|
|
179
|
+
"v8-security/SKILL.md": "d1c5f1d3d0480570ca8852ec21a01580869f276d73b1b0366d03184a3c7fd84a",
|
|
180
180
|
"v8-security/references/progressive-01-2-权限校验.md": "a7e2314b8f2f9bf413956191ffeda6d2f823760def2b06bf6b4c1565e8f71816",
|
|
181
181
|
"v8-security/references/progressive-02-7-日志记录.md": "412be2c82f7e00e5f26711e6dee7b5eb9b734751fee553b9a4a0ce9216bbe928",
|
|
182
182
|
"v8-sql-query/SKILL.md": "23a12c6801627890d18ff9f1d09cdd1abbd9b08ffc12ef6a12c915d504ed3255",
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
"v8-utilities/references/client-api-index.md": "3362126197bd34191640d6bd532b16f1ed446c4a8a9d805f4973be5d58b90a4a",
|
|
191
191
|
"v8-utilities/references/platform-http-routes.md": "b081b87dff5848eed9b948e2324d25ff27f26f14dc2045df486e9a66981bb74b",
|
|
192
192
|
"v8-utilities/references/server-api-index.md": "c2e7095c1d58ad54c710d669c2bde747440c08eff0b22ab32867cfe52ffc0ff2",
|
|
193
|
-
"v8-workflow/SKILL.md": "
|
|
193
|
+
"v8-workflow/SKILL.md": "676e0742d7c66db3c79cd2e0d96096ba12040e68cb10ee6276a04310486714f1",
|
|
194
194
|
"v8-workflow/references/progressive-01-节点开始-v8-事件.md": "9b6b01e7ac03c0a11bc837671a30107ff5c5f253029d74fd17713084104d7e99",
|
|
195
195
|
"workspace-conventions/SKILL.md": "093f4cb8d3eaab696442dd6e2c0f51361d5127f6d38d96607bc0d78e03afa4f6",
|
|
196
196
|
"workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "576a781ecc529f7b5c9a824326445b2c90b3172ba0285a73fae4a2e45c9b84f5",
|
|
@@ -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.
|
|
202
|
-
".progressive-disclosure-manifest.json": "5.
|
|
203
|
-
"README.md": "5.
|
|
204
|
-
"ai-engine/SKILL.md": "5.
|
|
205
|
-
"ai-engine/agents/openai.yaml": "5.
|
|
206
|
-
"ai-platform-governance/SKILL.md": "5.
|
|
207
|
-
"ai-platform-governance/references/progressive-01-功能开关.md": "5.
|
|
208
|
-
"app-store/SKILL.md": "5.
|
|
209
|
-
"app-store/agents/openai.yaml": "5.
|
|
210
|
-
"business-blueprint/SKILL.md": "5.
|
|
211
|
-
"datasource-engine/SKILL.md": "5.
|
|
212
|
-
"datasource-engine/agents/openai.yaml": "5.
|
|
213
|
-
"dos-orm/SKILL.md": "5.
|
|
214
|
-
"dos-orm/references/api-reference.md": "5.
|
|
215
|
-
"job-engine/SKILL.md": "5.
|
|
216
|
-
"job-engine/agents/openai.yaml": "5.
|
|
217
|
-
"message-notification/SKILL.md": "5.
|
|
218
|
-
"message-notification/agents/openai.yaml": "5.
|
|
219
|
-
"message-notification/references/contracts.md": "5.
|
|
220
|
-
"microi-ai-app-auth.js": "5.
|
|
221
|
-
"microi-ai-application/SKILL.md": "5.
|
|
222
|
-
"microi-ai-application/agents/openai.yaml": "5.
|
|
223
|
-
"microi-ai-application/references/frontend-baseline.md": "5.
|
|
224
|
-
"microi-client-frontend/SKILL.md": "5.
|
|
225
|
-
"microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.
|
|
226
|
-
"microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.
|
|
227
|
-
"microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.
|
|
228
|
-
"microi-codex-installer/SKILL.md": "5.
|
|
229
|
-
"microi-codex-installer/agents/openai.yaml": "5.
|
|
230
|
-
"microi-codex/SKILL.md": "5.
|
|
231
|
-
"microi-datasource-mapping/SKILL.md": "5.
|
|
232
|
-
"microi-db-schema/SKILL.md": "5.
|
|
233
|
-
"microi-db-schema/agents/openai.yaml": "5.
|
|
234
|
-
"microi-db-schema/references/core-tables.md": "5.
|
|
235
|
-
"microi-db-schema/references/form-component-options.md": "5.
|
|
236
|
-
"microi-db-schema/references/schema-overview.md": "5.
|
|
237
|
-
"microi-db-schema/references/schema.md": "5.
|
|
238
|
-
"microi-db-schema/references/table-catalog.md": "5.
|
|
239
|
-
"microi-deployment/SKILL.md": "5.
|
|
240
|
-
"microi-deployment/references/deployment-matrix.md": "5.
|
|
241
|
-
"microi-docs-coverage/SKILL.md": "5.
|
|
242
|
-
"microi-docs-coverage/references/capability-map.md": "5.
|
|
243
|
-
"microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.
|
|
244
|
-
"microi-form-engine/SKILL.md": "5.
|
|
245
|
-
"microi-form-engine/references/component-catalog.md": "5.
|
|
246
|
-
"microi-form-engine/references/data-source-events.md": "5.
|
|
247
|
-
"microi-form-layout/SKILL.md": "5.
|
|
248
|
-
"microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.
|
|
249
|
-
"microi-frontend-sdk/SKILL.md": "5.
|
|
250
|
-
"microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.
|
|
251
|
-
"microi-left-right-layout/SKILL.md": "5.
|
|
252
|
-
"microi-microservice/SKILL.md": "5.
|
|
253
|
-
"microi-microservice/references/runtime-delivery.md": "5.
|
|
254
|
-
"microi-mobile-app-quality/SKILL.md": "5.
|
|
255
|
-
"microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.
|
|
256
|
-
"microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.
|
|
257
|
-
"microi-solution-quotation/SKILL.md": "5.
|
|
258
|
-
"microi-solution-quotation/agents/openai.yaml": "5.
|
|
259
|
-
"microi-solution-quotation/scripts/build_solution_quote.py": "5.
|
|
260
|
-
"microi-sso/SKILL.md": "5.
|
|
261
|
-
"microi-sso/references/acceptance.md": "5.
|
|
262
|
-
"microi-sso/references/configuration-and-security.md": "5.
|
|
263
|
-
"microi-sso/references/inbound.md": "5.
|
|
264
|
-
"microi-sso/references/outbound.md": "5.
|
|
265
|
-
"microi-system-delivery/SKILL.md": "5.
|
|
266
|
-
"microi-system-delivery/references/progressive-01-标准工作流.md": "5.
|
|
267
|
-
"microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.
|
|
268
|
-
"microi-ui/SKILL.md": "5.
|
|
269
|
-
"microi-ui/references/progressive-01-移动端场景蓝图.md": "5.
|
|
270
|
-
"microi-uniapp-frontend/SKILL.md": "5.
|
|
271
|
-
"microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.
|
|
272
|
-
"microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.
|
|
273
|
-
"microi.v8.js": "5.
|
|
274
|
-
"module-engine/SKILL.md": "5.
|
|
275
|
-
"module-engine/references/module-config.md": "5.
|
|
276
|
-
"ocr-engine/SKILL.md": "5.
|
|
277
|
-
"ocr-engine/agents/openai.yaml": "5.
|
|
278
|
-
"page-engine/SKILL.md": "5.
|
|
279
|
-
"page-engine/references/progressive-01-所有组件类型.md": "5.
|
|
280
|
-
"page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.
|
|
281
|
-
"performance-testing/SKILL.md": "5.
|
|
282
|
-
"playwright-e2e/SKILL.md": "5.
|
|
283
|
-
"playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.
|
|
284
|
-
"playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.
|
|
285
|
-
"playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.
|
|
286
|
-
"playwright-e2e/references/progressive-04-ci-建议.md": "5.
|
|
287
|
-
"print-engine/SKILL.md": "5.
|
|
288
|
-
"production-readonly-audit/SKILL.md": "5.
|
|
289
|
-
"report-engine/SKILL.md": "5.
|
|
290
|
-
"report-engine/agents/openai.yaml": "5.
|
|
291
|
-
"scripts/optimize-progressive-disclosure.mjs": "5.
|
|
292
|
-
"scripts/refresh-progressive-disclosure.mjs": "5.
|
|
293
|
-
"scripts/validate-progressive-disclosure.mjs": "5.
|
|
294
|
-
"search-engine/SKILL.md": "5.
|
|
295
|
-
"search-engine/agents/openai.yaml": "5.
|
|
296
|
-
"spider-engine/SKILL.md": "5.
|
|
297
|
-
"system-observability/SKILL.md": "5.
|
|
298
|
-
"translate-engine/SKILL.md": "5.
|
|
299
|
-
"translate-engine/agents/openai.yaml": "5.
|
|
300
|
-
"ui-design/SKILL.md": "5.
|
|
301
|
-
"ui-design/assets/pattern-showcase/app.js": "5.
|
|
302
|
-
"ui-design/assets/pattern-showcase/index.html": "5.
|
|
303
|
-
"ui-design/assets/pattern-showcase/styles.css": "5.
|
|
304
|
-
"ui-design/assets/templates/MCI-DESIGN.md": "5.
|
|
305
|
-
"ui-design/references/design-pattern-library.md": "5.
|
|
306
|
-
"ui-design/references/mci-design-contract.md": "5.
|
|
307
|
-
"ui-design/references/motion-and-media.md": "5.
|
|
308
|
-
"ui-design/references/product-flow-recipes.md": "5.
|
|
309
|
-
"ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.
|
|
310
|
-
"ui-design/references/progressive-02-字体.md": "5.
|
|
311
|
-
"ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.
|
|
312
|
-
"ui-design/references/progressive-04-组件风格速查.md": "5.
|
|
313
|
-
"ui-design/references/progressive-05-移动端专用规范.md": "5.
|
|
314
|
-
"ui-design/references/progressive-06-主题切换实现.md": "5.
|
|
315
|
-
"ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.
|
|
316
|
-
"ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.
|
|
317
|
-
"uniapp-mall-assets/SKILL.md": "5.
|
|
318
|
-
"unity-integration/SKILL.md": "5.
|
|
319
|
-
"unity-integration/agents/openai.yaml": "5.
|
|
320
|
-
"unity-integration/references/ai-app-delivery.md": "5.
|
|
321
|
-
"unity-integration/references/sdk-api.md": "5.
|
|
322
|
-
"unity-integration/references/toolbox-migration.md": "5.
|
|
323
|
-
"unity-integration/references/webgl-hosting.md": "5.
|
|
324
|
-
"v8-api-config/SKILL.md": "5.
|
|
325
|
-
"v8-cache-pattern/SKILL.md": "5.
|
|
326
|
-
"v8-crud-api/SKILL.md": "5.
|
|
327
|
-
"v8-crud-api/references/progressive-01-查询列表-分页.md": "5.
|
|
328
|
-
"v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.
|
|
329
|
-
"v8-debugging/SKILL.md": "5.
|
|
330
|
-
"v8-explorer-tree/SKILL.md": "5.
|
|
331
|
-
"v8-export-import/SKILL.md": "5.
|
|
332
|
-
"v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.
|
|
333
|
-
"v8-export-import/references/progressive-02-powerpoint-导出.md": "5.
|
|
334
|
-
"v8-export-import/references/progressive-03-安全-性能注意.md": "5.
|
|
335
|
-
"v8-file-upload/SKILL.md": "5.
|
|
336
|
-
"v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.
|
|
337
|
-
"v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.
|
|
338
|
-
"v8-formengine-http/SKILL.md": "5.
|
|
339
|
-
"v8-frontend-events/SKILL.md": "5.
|
|
340
|
-
"v8-frontend-events/references/bluetooth-print-api.md": "5.
|
|
341
|
-
"v8-frontend-events/references/bluetooth-print.md": "5.
|
|
342
|
-
"v8-frontend-events/references/progressive-01-列表事件.md": "5.
|
|
343
|
-
"v8-http-integration/SKILL.md": "5.
|
|
344
|
-
"v8-http-integration/references/progressive-01-get-请求.md": "5.
|
|
345
|
-
"v8-http-integration/references/progressive-02-错误处理模式.md": "5.
|
|
346
|
-
"v8-image-processing/SKILL.md": "5.
|
|
347
|
-
"v8-image-processing/agents/openai.yaml": "5.
|
|
348
|
-
"v8-image-processing/references/api-reference.md": "5.
|
|
349
|
-
"v8-menu-buttons/SKILL.md": "5.
|
|
350
|
-
"v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.
|
|
351
|
-
"v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.
|
|
352
|
-
"v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.
|
|
353
|
-
"v8-mongodb/SKILL.md": "5.
|
|
354
|
-
"v8-mq-mqtt/SKILL.md": "5.
|
|
355
|
-
"v8-mq-mqtt/references/mqtt-production.md": "5.
|
|
356
|
-
"v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.
|
|
357
|
-
"v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.
|
|
358
|
-
"v8-saas-multi-tenant/SKILL.md": "5.
|
|
359
|
-
"v8-security/SKILL.md": "5.
|
|
360
|
-
"v8-security/references/progressive-01-2-权限校验.md": "5.
|
|
361
|
-
"v8-security/references/progressive-02-7-日志记录.md": "5.
|
|
362
|
-
"v8-sql-query/SKILL.md": "5.
|
|
363
|
-
"v8-table-event/SKILL.md": "5.
|
|
364
|
-
"v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.
|
|
365
|
-
"v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.
|
|
366
|
-
"v8-tcp-integration/SKILL.md": "5.
|
|
367
|
-
"v8-tcp-integration/agents/openai.yaml": "5.
|
|
368
|
-
"v8-template-engine/SKILL.md": "5.
|
|
369
|
-
"v8-utilities/SKILL.md": "5.
|
|
370
|
-
"v8-utilities/references/client-api-index.md": "5.
|
|
371
|
-
"v8-utilities/references/platform-http-routes.md": "5.
|
|
372
|
-
"v8-utilities/references/server-api-index.md": "5.
|
|
373
|
-
"v8-workflow/SKILL.md": "5.
|
|
374
|
-
"v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.
|
|
375
|
-
"workspace-conventions/SKILL.md": "5.
|
|
376
|
-
"workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.
|
|
377
|
-
"workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.
|
|
378
|
-
"workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.
|
|
201
|
+
".microi-skills-version.json": "5.4.1",
|
|
202
|
+
".progressive-disclosure-manifest.json": "5.4.1",
|
|
203
|
+
"README.md": "5.4.1",
|
|
204
|
+
"ai-engine/SKILL.md": "5.4.1",
|
|
205
|
+
"ai-engine/agents/openai.yaml": "5.4.1",
|
|
206
|
+
"ai-platform-governance/SKILL.md": "5.4.1",
|
|
207
|
+
"ai-platform-governance/references/progressive-01-功能开关.md": "5.4.1",
|
|
208
|
+
"app-store/SKILL.md": "5.4.1",
|
|
209
|
+
"app-store/agents/openai.yaml": "5.4.1",
|
|
210
|
+
"business-blueprint/SKILL.md": "5.4.1",
|
|
211
|
+
"datasource-engine/SKILL.md": "5.4.1",
|
|
212
|
+
"datasource-engine/agents/openai.yaml": "5.4.1",
|
|
213
|
+
"dos-orm/SKILL.md": "5.4.1",
|
|
214
|
+
"dos-orm/references/api-reference.md": "5.4.1",
|
|
215
|
+
"job-engine/SKILL.md": "5.4.1",
|
|
216
|
+
"job-engine/agents/openai.yaml": "5.4.1",
|
|
217
|
+
"message-notification/SKILL.md": "5.4.1",
|
|
218
|
+
"message-notification/agents/openai.yaml": "5.4.1",
|
|
219
|
+
"message-notification/references/contracts.md": "5.4.1",
|
|
220
|
+
"microi-ai-app-auth.js": "5.4.1",
|
|
221
|
+
"microi-ai-application/SKILL.md": "5.4.1",
|
|
222
|
+
"microi-ai-application/agents/openai.yaml": "5.4.1",
|
|
223
|
+
"microi-ai-application/references/frontend-baseline.md": "5.4.1",
|
|
224
|
+
"microi-client-frontend/SKILL.md": "5.4.1",
|
|
225
|
+
"microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.4.1",
|
|
226
|
+
"microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.4.1",
|
|
227
|
+
"microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.4.1",
|
|
228
|
+
"microi-codex-installer/SKILL.md": "5.4.1",
|
|
229
|
+
"microi-codex-installer/agents/openai.yaml": "5.4.1",
|
|
230
|
+
"microi-codex/SKILL.md": "5.4.1",
|
|
231
|
+
"microi-datasource-mapping/SKILL.md": "5.4.1",
|
|
232
|
+
"microi-db-schema/SKILL.md": "5.4.1",
|
|
233
|
+
"microi-db-schema/agents/openai.yaml": "5.4.1",
|
|
234
|
+
"microi-db-schema/references/core-tables.md": "5.4.1",
|
|
235
|
+
"microi-db-schema/references/form-component-options.md": "5.4.1",
|
|
236
|
+
"microi-db-schema/references/schema-overview.md": "5.4.1",
|
|
237
|
+
"microi-db-schema/references/schema.md": "5.4.1",
|
|
238
|
+
"microi-db-schema/references/table-catalog.md": "5.4.1",
|
|
239
|
+
"microi-deployment/SKILL.md": "5.4.1",
|
|
240
|
+
"microi-deployment/references/deployment-matrix.md": "5.4.1",
|
|
241
|
+
"microi-docs-coverage/SKILL.md": "5.4.1",
|
|
242
|
+
"microi-docs-coverage/references/capability-map.md": "5.4.1",
|
|
243
|
+
"microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.4.1",
|
|
244
|
+
"microi-form-engine/SKILL.md": "5.4.1",
|
|
245
|
+
"microi-form-engine/references/component-catalog.md": "5.4.1",
|
|
246
|
+
"microi-form-engine/references/data-source-events.md": "5.4.1",
|
|
247
|
+
"microi-form-layout/SKILL.md": "5.4.1",
|
|
248
|
+
"microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.4.1",
|
|
249
|
+
"microi-frontend-sdk/SKILL.md": "5.4.1",
|
|
250
|
+
"microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.4.1",
|
|
251
|
+
"microi-left-right-layout/SKILL.md": "5.4.1",
|
|
252
|
+
"microi-microservice/SKILL.md": "5.4.1",
|
|
253
|
+
"microi-microservice/references/runtime-delivery.md": "5.4.1",
|
|
254
|
+
"microi-mobile-app-quality/SKILL.md": "5.4.1",
|
|
255
|
+
"microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.4.1",
|
|
256
|
+
"microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.4.1",
|
|
257
|
+
"microi-solution-quotation/SKILL.md": "5.4.1",
|
|
258
|
+
"microi-solution-quotation/agents/openai.yaml": "5.4.1",
|
|
259
|
+
"microi-solution-quotation/scripts/build_solution_quote.py": "5.4.1",
|
|
260
|
+
"microi-sso/SKILL.md": "5.4.1",
|
|
261
|
+
"microi-sso/references/acceptance.md": "5.4.1",
|
|
262
|
+
"microi-sso/references/configuration-and-security.md": "5.4.1",
|
|
263
|
+
"microi-sso/references/inbound.md": "5.4.1",
|
|
264
|
+
"microi-sso/references/outbound.md": "5.4.1",
|
|
265
|
+
"microi-system-delivery/SKILL.md": "5.4.1",
|
|
266
|
+
"microi-system-delivery/references/progressive-01-标准工作流.md": "5.4.1",
|
|
267
|
+
"microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.4.1",
|
|
268
|
+
"microi-ui/SKILL.md": "5.4.1",
|
|
269
|
+
"microi-ui/references/progressive-01-移动端场景蓝图.md": "5.4.1",
|
|
270
|
+
"microi-uniapp-frontend/SKILL.md": "5.4.1",
|
|
271
|
+
"microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.4.1",
|
|
272
|
+
"microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.4.1",
|
|
273
|
+
"microi.v8.js": "5.4.1",
|
|
274
|
+
"module-engine/SKILL.md": "5.4.1",
|
|
275
|
+
"module-engine/references/module-config.md": "5.4.1",
|
|
276
|
+
"ocr-engine/SKILL.md": "5.4.1",
|
|
277
|
+
"ocr-engine/agents/openai.yaml": "5.4.1",
|
|
278
|
+
"page-engine/SKILL.md": "5.4.1",
|
|
279
|
+
"page-engine/references/progressive-01-所有组件类型.md": "5.4.1",
|
|
280
|
+
"page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.4.1",
|
|
281
|
+
"performance-testing/SKILL.md": "5.4.1",
|
|
282
|
+
"playwright-e2e/SKILL.md": "5.4.1",
|
|
283
|
+
"playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.4.1",
|
|
284
|
+
"playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.4.1",
|
|
285
|
+
"playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.4.1",
|
|
286
|
+
"playwright-e2e/references/progressive-04-ci-建议.md": "5.4.1",
|
|
287
|
+
"print-engine/SKILL.md": "5.4.1",
|
|
288
|
+
"production-readonly-audit/SKILL.md": "5.4.1",
|
|
289
|
+
"report-engine/SKILL.md": "5.4.1",
|
|
290
|
+
"report-engine/agents/openai.yaml": "5.4.1",
|
|
291
|
+
"scripts/optimize-progressive-disclosure.mjs": "5.4.1",
|
|
292
|
+
"scripts/refresh-progressive-disclosure.mjs": "5.4.1",
|
|
293
|
+
"scripts/validate-progressive-disclosure.mjs": "5.4.1",
|
|
294
|
+
"search-engine/SKILL.md": "5.4.1",
|
|
295
|
+
"search-engine/agents/openai.yaml": "5.4.1",
|
|
296
|
+
"spider-engine/SKILL.md": "5.4.1",
|
|
297
|
+
"system-observability/SKILL.md": "5.4.1",
|
|
298
|
+
"translate-engine/SKILL.md": "5.4.1",
|
|
299
|
+
"translate-engine/agents/openai.yaml": "5.4.1",
|
|
300
|
+
"ui-design/SKILL.md": "5.4.1",
|
|
301
|
+
"ui-design/assets/pattern-showcase/app.js": "5.4.1",
|
|
302
|
+
"ui-design/assets/pattern-showcase/index.html": "5.4.1",
|
|
303
|
+
"ui-design/assets/pattern-showcase/styles.css": "5.4.1",
|
|
304
|
+
"ui-design/assets/templates/MCI-DESIGN.md": "5.4.1",
|
|
305
|
+
"ui-design/references/design-pattern-library.md": "5.4.1",
|
|
306
|
+
"ui-design/references/mci-design-contract.md": "5.4.1",
|
|
307
|
+
"ui-design/references/motion-and-media.md": "5.4.1",
|
|
308
|
+
"ui-design/references/product-flow-recipes.md": "5.4.1",
|
|
309
|
+
"ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.4.1",
|
|
310
|
+
"ui-design/references/progressive-02-字体.md": "5.4.1",
|
|
311
|
+
"ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.4.1",
|
|
312
|
+
"ui-design/references/progressive-04-组件风格速查.md": "5.4.1",
|
|
313
|
+
"ui-design/references/progressive-05-移动端专用规范.md": "5.4.1",
|
|
314
|
+
"ui-design/references/progressive-06-主题切换实现.md": "5.4.1",
|
|
315
|
+
"ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.4.1",
|
|
316
|
+
"ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.4.1",
|
|
317
|
+
"uniapp-mall-assets/SKILL.md": "5.4.1",
|
|
318
|
+
"unity-integration/SKILL.md": "5.4.1",
|
|
319
|
+
"unity-integration/agents/openai.yaml": "5.4.1",
|
|
320
|
+
"unity-integration/references/ai-app-delivery.md": "5.4.1",
|
|
321
|
+
"unity-integration/references/sdk-api.md": "5.4.1",
|
|
322
|
+
"unity-integration/references/toolbox-migration.md": "5.4.1",
|
|
323
|
+
"unity-integration/references/webgl-hosting.md": "5.4.1",
|
|
324
|
+
"v8-api-config/SKILL.md": "5.4.1",
|
|
325
|
+
"v8-cache-pattern/SKILL.md": "5.4.1",
|
|
326
|
+
"v8-crud-api/SKILL.md": "5.4.1",
|
|
327
|
+
"v8-crud-api/references/progressive-01-查询列表-分页.md": "5.4.1",
|
|
328
|
+
"v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.4.1",
|
|
329
|
+
"v8-debugging/SKILL.md": "5.4.1",
|
|
330
|
+
"v8-explorer-tree/SKILL.md": "5.4.1",
|
|
331
|
+
"v8-export-import/SKILL.md": "5.4.1",
|
|
332
|
+
"v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.4.1",
|
|
333
|
+
"v8-export-import/references/progressive-02-powerpoint-导出.md": "5.4.1",
|
|
334
|
+
"v8-export-import/references/progressive-03-安全-性能注意.md": "5.4.1",
|
|
335
|
+
"v8-file-upload/SKILL.md": "5.4.1",
|
|
336
|
+
"v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.4.1",
|
|
337
|
+
"v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.4.1",
|
|
338
|
+
"v8-formengine-http/SKILL.md": "5.4.1",
|
|
339
|
+
"v8-frontend-events/SKILL.md": "5.4.1",
|
|
340
|
+
"v8-frontend-events/references/bluetooth-print-api.md": "5.4.1",
|
|
341
|
+
"v8-frontend-events/references/bluetooth-print.md": "5.4.1",
|
|
342
|
+
"v8-frontend-events/references/progressive-01-列表事件.md": "5.4.1",
|
|
343
|
+
"v8-http-integration/SKILL.md": "5.4.1",
|
|
344
|
+
"v8-http-integration/references/progressive-01-get-请求.md": "5.4.1",
|
|
345
|
+
"v8-http-integration/references/progressive-02-错误处理模式.md": "5.4.1",
|
|
346
|
+
"v8-image-processing/SKILL.md": "5.4.1",
|
|
347
|
+
"v8-image-processing/agents/openai.yaml": "5.4.1",
|
|
348
|
+
"v8-image-processing/references/api-reference.md": "5.4.1",
|
|
349
|
+
"v8-menu-buttons/SKILL.md": "5.4.1",
|
|
350
|
+
"v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.4.1",
|
|
351
|
+
"v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.4.1",
|
|
352
|
+
"v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.4.1",
|
|
353
|
+
"v8-mongodb/SKILL.md": "5.4.1",
|
|
354
|
+
"v8-mq-mqtt/SKILL.md": "5.4.1",
|
|
355
|
+
"v8-mq-mqtt/references/mqtt-production.md": "5.4.1",
|
|
356
|
+
"v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.4.1",
|
|
357
|
+
"v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.4.1",
|
|
358
|
+
"v8-saas-multi-tenant/SKILL.md": "5.4.1",
|
|
359
|
+
"v8-security/SKILL.md": "5.4.1",
|
|
360
|
+
"v8-security/references/progressive-01-2-权限校验.md": "5.4.1",
|
|
361
|
+
"v8-security/references/progressive-02-7-日志记录.md": "5.4.1",
|
|
362
|
+
"v8-sql-query/SKILL.md": "5.4.1",
|
|
363
|
+
"v8-table-event/SKILL.md": "5.4.1",
|
|
364
|
+
"v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.4.1",
|
|
365
|
+
"v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.4.1",
|
|
366
|
+
"v8-tcp-integration/SKILL.md": "5.4.1",
|
|
367
|
+
"v8-tcp-integration/agents/openai.yaml": "5.4.1",
|
|
368
|
+
"v8-template-engine/SKILL.md": "5.4.1",
|
|
369
|
+
"v8-utilities/SKILL.md": "5.4.1",
|
|
370
|
+
"v8-utilities/references/client-api-index.md": "5.4.1",
|
|
371
|
+
"v8-utilities/references/platform-http-routes.md": "5.4.1",
|
|
372
|
+
"v8-utilities/references/server-api-index.md": "5.4.1",
|
|
373
|
+
"v8-workflow/SKILL.md": "5.4.1",
|
|
374
|
+
"v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.4.1",
|
|
375
|
+
"workspace-conventions/SKILL.md": "5.4.1",
|
|
376
|
+
"workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.4.1",
|
|
377
|
+
"workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.4.1",
|
|
378
|
+
"workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.4.1"
|
|
379
379
|
},
|
|
380
380
|
"files": [
|
|
381
381
|
".microi-skills-version.json",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "5.
|
|
2
|
+
"version": "5.4.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-30T12:13:51.023Z"
|
|
6
6
|
}
|
|
@@ -42,11 +42,12 @@ description: Microi 应用商城开发、打包、安装和升级规范。用于
|
|
|
42
42
|
|
|
43
43
|
## 接口引擎资源所有权(强制)
|
|
44
44
|
|
|
45
|
-
- 新发布包必须声明 `ResourcePolicies.ApiEngines`,不得再依赖“同 Key 直接覆盖”。官方不可随租户修改的核心使用 `{ Ownership:'
|
|
45
|
+
- 新发布包必须声明 `ResourcePolicies.ApiEngines`,不得再依赖“同 Key 直接覆盖”。官方不可随租户修改的核心使用 `{ Ownership:'Platform', UpgradePolicy:'Managed' }`;提供给租户改业务的 Hook 使用 `{ Ownership:'Tenant', UpgradePolicy:'CreateIfMissing' }`。
|
|
46
46
|
- 发布器从上一版安装包正文的 `SysApiEngines` 计算 `BaseHash`;正文可能来自已验证的 HDFS 指针或旧版 `AppPakcet`。导入成功后把本版摘要写入 `sys_microistoreversion.InstallResult.ResourceState.ApiEngines`。普通/社区应用仍按 Base/Local/Incoming 三方保护:`Local == Base` 才更新,`Local != Base && Local != Incoming` 必须冲突回滚。允许覆盖官方 Managed 的信任来源只有两种:一是从固定 `https://api.itdos.com + iTdos` 实时回读并校验为官方 `ApplicationType=Platform` 的应用;二是 Upgrade13 从程序集固定九包白名单读取并校验后,在绑定固定导入器 Key 与当前租户的一次性宿主上下文中调用统一导入器。第二种授权必须由宿主上下文消费一次,单独伪造 V8 参数、离线包、自报官方或非 Platform 来源都不能获得;两种路径都只能恢复 `Platform/Managed`,不得覆盖 `Tenant/CreateIfMissing`。
|
|
47
47
|
- `CreateIfMissing` 只在目标 Key 不存在时创建,存在时不得对齐 Id、源码、启用状态或其它字段。扩展模板发布后即归租户维护;后续版本禁止把同一 Key 改回 `Managed` 接管,确需新的官方核心时发布新 Key 并显式迁移。
|
|
48
48
|
- 官方功能采用“Managed 核心 + CreateIfMissing Hook”。核心只提供稳定协议和默认行为,并在可信官方 Platform 包更新时覆盖升级;客户日志、写表、通知和业务动作放 Hook,并以稳定 `EventId`、唯一约束或 outbox 幂等。`CreateIfMissing` 一旦交给租户维护,即使后续官方包误改为 Managed 也必须冲突回滚。
|
|
49
49
|
- 每个官方包内的接口引擎源码顶部都必须有醒目所有权提示。Managed 提示必须写明所属官方应用、从可信官方源安装/更新/重新安装会恢复官方代码,并指向该应用的 CreateIfMissing Hook;CreateIfMissing 提示必须写明首次创建后归租户维护、官方升级不得覆盖。官方 SSO、登录、通知等核心在安全阶段调用 Hook 时,只传脱敏上下文,禁止传 Token、Secret、密码或原始协议断言。
|
|
50
|
+
- 兼容旧 Controller/移动端地址时,在唯一 Managed 接口的 `ApiRoutes` 中用英文分号声明全部旧路径;包导入、启动闭包和写后回读必须校验 `ApiAddress + ApiRoutes` 的全局唯一性。禁止为每个旧路径复制一条接口引擎,也禁止只更新本地 JSON 而遗漏 `.resource-sync-base`、官方商城资源和缓存别名。
|
|
50
51
|
- 历史包未声明策略时只能按旧兼容流程安装;重新发布时发布器必须生成策略。验收至少覆盖首次安装、可信官方 Managed 本地有差异仍覆盖、普通应用核心差异冲突回滚、Hook 被改后保持原样、重复安装、两节点竞态,以及官方发布数据库连 `ValidateOnly` 也禁止执行安装器。
|
|
51
52
|
|
|
52
53
|
## 安装流程
|
|
@@ -13,7 +13,7 @@ description: 设计、实现、配置、迁移、发布和验收 Microi 吾码
|
|
|
13
13
|
|
|
14
14
|
- Keycloak、Entra ID、ADFS、CAS Server、企业统一身份中心登录吾码。
|
|
15
15
|
- 吾码账号登录 ERP、OA、BI、门户或其它第三方系统。
|
|
16
|
-
- 修改 `diy_sso`、SSO 登录页、OIDC/SAML/CAS
|
|
16
|
+
- 修改 `diy_sso`、SSO 登录页、OIDC/SAML/CAS 接口引擎端点、Claim/角色映射或旧 Token SSO。
|
|
17
17
|
- 发布、安装、升级或验收官方商城应用 `app.microi.sso`。
|
|
18
18
|
|
|
19
19
|
固定 Gitee、微信、GitHub 登录与 Passkey/TOTP 仍以 `v8-security` 为主;当需求是可配置企业身份联邦时转到本 Skill。
|
|
@@ -39,7 +39,7 @@ description: 设计、实现、配置、迁移、发布和验收 Microi 吾码
|
|
|
39
39
|
6. Secret/私钥只存 `mci_system_setting` 的受控值;`diy_sso` 只存 Setting Key。匿名接口只返回登录入口白名单投影。
|
|
40
40
|
7. 外部角色、邮箱或昵称不能直接获得管理员权限。默认 `BoundOnly`,JIT 必须显式默认角色、唯一性、回收和审计。
|
|
41
41
|
8. HTTP 200、构建成功、商城任务入队或包可下载都不是完整 SSO 验收。
|
|
42
|
-
9. SSO
|
|
42
|
+
9. SSO 公开 HTTP 路由和业务逻辑都必须由接口引擎承载:连接投影、绑定/JIT、角色与 Claim 映射、审计、登录完成、租户扩展以及 OIDC/SAML/CAS 路由不得重新写进 Controller。只有协议编解码、签名验签、Secret/私钥隔离、一次性票据与 DiyToken 等可信原子可以保留在独立 `Microi.SSO` 类库,并且只能由精确官方 Managed Key 调用。
|
|
43
43
|
10. 客户端调用固定应用接口必须优先使用 `/apiengine/{ApiEngineKey}?OsClient=`,让系统日志/监控按真实接口引擎归因;新版宿主即使接口尚未安装也会返回结构化缺失错误。`/api/ApiEngine/Run` 只保留给无法预知 Key 的旧版兼容调用,禁止新增固定业务依赖;同样禁止调用已删除的 `/api/Sso/Capabilities` 等定制路由。
|
|
44
44
|
|
|
45
45
|
## 标准工作流
|
|
@@ -56,8 +56,8 @@ description: 设计、实现、配置、迁移、发布和验收 Microi 吾码
|
|
|
56
56
|
|
|
57
57
|
- AppId:`app.microi.sso`
|
|
58
58
|
- 名称:`SSO 身份联邦`
|
|
59
|
-
- 资源:`diy_sso`、`/system/sso`、字段/布局/视图、
|
|
60
|
-
- `ResourcePolicies.ApiEngines` 必须逐 Key 显式声明。核心使用 `Managed/
|
|
59
|
+
- 资源:`diy_sso`、`/system/sso`、字段/布局/视图、34 个 Managed 核心接口引擎和 1 个 CreateIfMissing 租户 Hook;其中 24 个 `sso_http_*` 接管原 SSO Controller 的全部公开路由,不发布用户绑定、连接实例、Secret、证书或示例账号。
|
|
60
|
+
- `ResourcePolicies.ApiEngines` 必须逐 Key 显式声明。核心使用 `Managed/Platform`;`sso_event_hook` 使用 `CreateIfMissing/Tenant`,安装后永不被官方覆盖。
|
|
61
61
|
- 官方 `iTdos` 是发布源,保护性拒绝安装属于正确行为;普通租户安装才必须轮询到 `Succeeded`。
|
|
62
62
|
|
|
63
63
|
## C# 与接口引擎责任线
|
|
@@ -69,15 +69,16 @@ description: 设计、实现、配置、迁移、发布和验收 Microi 吾码
|
|
|
69
69
|
- `sso_resolve_federated_identity` 的绑定、JIT 与角色映射;
|
|
70
70
|
- `sso_outbound_claims`、`sso_protocol_event`、`sso_event_hook`;
|
|
71
71
|
- `sso_complete_login`、`sso_rotate_client_secret`、`sso_legacy_token_login` 的业务编排。
|
|
72
|
+
- 24 个 `sso_http_*` Managed 端点:`/api/Sso/Begin`、`/api/Sso/CompleteAuthorization`、OIDC 回调/Discovery/JWKS/Authorize/Token/UserInfo/Introspect/Revoke/Logout、CAS 回调/Login/Validate/Logout、SAML Begin/ACS/Login/Complete/Metadata/Logout。
|
|
72
73
|
|
|
73
74
|
C# 只保留:
|
|
74
75
|
|
|
75
|
-
- OIDC/SAML/CAS
|
|
76
|
+
- `Microi.SSO` 的 `SsoProtocolRuntime` 中 OIDC/SAML/CAS 报文编解码、签名验签和协议响应构造;该类型不是 MVC Controller、没有 Route/Http 特性,不直接拥有公开地址;
|
|
76
77
|
- Secret、私钥、证书和协议 Token 的可信隔离;
|
|
77
78
|
- 高熵一次性 code/ticket、重放保护和 DiyToken 签发;
|
|
78
|
-
- 仅允许精确 Managed Key 调用的 `CreateFederatedUser`、`CreateSsoLoginTicket`、`CompleteSsoLogin`、`RotateSsoClientSecret` 原子。
|
|
79
|
+
- 仅允许精确 Managed Key 调用的 `RunSsoProtocol`、`CreateFederatedUser`、`CreateSsoLoginTicket`、`CompleteSsoLogin`、`RotateSsoClientSecret` 原子。
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
公开协议路由使用 `ApiAddress`(包括 `{OsClient}`、`{ConnectionKey}` 路径模板)和 `ResponseType=HTTP`。接口引擎可以返回状态码、Content-Type、XML/纯文本、重定向和安全响应头;`Set-Cookie` 等高风险响应头只能来自 `RunSsoProtocol` 签名的可信响应。不得因为协议需要原始 HTTP 而恢复任何 `Sso*Controller`。
|
|
81
82
|
|
|
82
83
|
新增 SSO 需求先判断是否只需修改上述接口引擎。只有缺少不可伪造、不可泄露的底层原子时才增加 V8 方法;增加后同时更新应用 `RequiredPlatformCapabilities`、后端文档、测试与最低版本。
|
|
83
84
|
|