@microi.net/cli 5.3.4 → 5.3.6
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 +79 -77
- package/scripts/microi-cli.js +48 -46
- package/scripts/microi-skills.meta.json +188 -188
- package/skills/.microi-skills-version.json +2 -2
- package/skills/microi.v8.js +2 -2
- package/skills/ocr-engine/SKILL.md +3 -3
- package/skills/translate-engine/SKILL.md +1 -3
- package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +1 -1
- package/skills/workspace-conventions/SKILL.md +19 -2
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
-
"builtAt": "2026-08-
|
|
2
|
+
"builtAt": "2026-08-26T10:10:57.908Z",
|
|
3
3
|
"source": "../microi.skills",
|
|
4
4
|
"extension": {
|
|
5
5
|
"name": "v8-engine",
|
|
6
|
-
"version": "5.3.
|
|
6
|
+
"version": "5.3.6",
|
|
7
7
|
"publisher": "Microi"
|
|
8
8
|
},
|
|
9
9
|
"skills": {
|
|
10
|
-
"version": "5.3.
|
|
10
|
+
"version": "5.3.6",
|
|
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,10 +15,10 @@
|
|
|
15
15
|
"dir": "dist/microi.skills",
|
|
16
16
|
"files": 178,
|
|
17
17
|
"skills": 65,
|
|
18
|
-
"bytes":
|
|
18
|
+
"bytes": 2266194
|
|
19
19
|
},
|
|
20
20
|
"fileHashes": {
|
|
21
|
-
".microi-skills-version.json": "
|
|
21
|
+
".microi-skills-version.json": "308454d17aa6ad53e9500f2627c9529489b5c6a30c4ff451087bf98c0c61d562",
|
|
22
22
|
".progressive-disclosure-manifest.json": "647fb9b710b958ca64713c45bb0e8a17252ec7f2913179327a26525a2cd5a31d",
|
|
23
23
|
"README.md": "332aade05015acac5f1387829a42529f37fc203ff0fcfb2f16cc3afdbb23b1ed",
|
|
24
24
|
"ai-engine/SKILL.md": "df63cf56bd06027f30bd0597003c65b479049141fc0b4a31d33cbc9a5fa044cf",
|
|
@@ -90,10 +90,10 @@
|
|
|
90
90
|
"microi-uniapp-frontend/SKILL.md": "1ef0905b45007706d5a40d829edcbe62103373aabb1c9846b4aa0cf15edff8d1",
|
|
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": "17c07b1c2247279010737b08aee5332f0eaa470e4263531e71e092f1cd7565eb",
|
|
94
94
|
"module-engine/SKILL.md": "64c899b916aca60189b5cb02abe6577d686bcd3820188970d32f751699196266",
|
|
95
95
|
"module-engine/references/module-config.md": "9e8ac8a7f65d6b563f938193d4b7c6b230d878a3513fc2a90c8b780e70ddd353",
|
|
96
|
-
"ocr-engine/SKILL.md": "
|
|
96
|
+
"ocr-engine/SKILL.md": "2669ac10adda203abb437d9d3e3ef3cfe96291d77bb30a0ccd9a783c795f28a6",
|
|
97
97
|
"ocr-engine/agents/openai.yaml": "3a6cc9984a246c41332c5f53d1badef31b78f81324333ea0d6337cb20c7fc898",
|
|
98
98
|
"page-engine/SKILL.md": "294028ac521da715889699d3aba5fc273305c5825be844a0d795284890529445",
|
|
99
99
|
"page-engine/references/progressive-01-所有组件类型.md": "6fff4216181d8d7e473ef18c27f2224a9acb06129fba339fac22f10184131c0d",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"search-engine/agents/openai.yaml": "5ddbe54965386287b00eba1cd7e38f3c7058edc437538f12ddb165f96f75a6eb",
|
|
116
116
|
"spider-engine/SKILL.md": "e24018f7ab2a07706a70bb592adb7a2f91f0a66e3f9bc944593e18731c53d77e",
|
|
117
117
|
"system-observability/SKILL.md": "bd79725bf077a28c814f3da4d3a2ef83b80ba0fe8690552fe30beff2b7911d7c",
|
|
118
|
-
"translate-engine/SKILL.md": "
|
|
118
|
+
"translate-engine/SKILL.md": "a1c41fd476e87639ed5788ed047fd8c4658e0edf2ee00078de9851ead5c5b736",
|
|
119
119
|
"translate-engine/agents/openai.yaml": "8eb47e08a691219bbe22a797ddbdf73234ec77f86e5724bc735fb0738d899112",
|
|
120
120
|
"ui-design/SKILL.md": "fadf47fe594196136bdc358cd43fc0a8d512daa602cdac0c116510c256334138",
|
|
121
121
|
"ui-design/assets/pattern-showcase/app.js": "68a8d404c30096da853c6edbc7cb27f336982147ddfebccd66c03ba3d99427cd",
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
"v8-saas-multi-tenant/SKILL.md": "a8463c2759e5872cbf198e67df963d7db4662264b92662bd7efc18fb4cf9db88",
|
|
179
179
|
"v8-security/SKILL.md": "f7736752de7981deb6b62e468b20a2b7ca5654b6d7a93c56be1ce18a32a15e9b",
|
|
180
180
|
"v8-security/references/progressive-01-2-权限校验.md": "a7e2314b8f2f9bf413956191ffeda6d2f823760def2b06bf6b4c1565e8f71816",
|
|
181
|
-
"v8-security/references/progressive-02-7-日志记录.md": "
|
|
181
|
+
"v8-security/references/progressive-02-7-日志记录.md": "75924949bbead517cffa4f32265343acb8838f8c2229a6ed2cf185a45979c736",
|
|
182
182
|
"v8-sql-query/SKILL.md": "23a12c6801627890d18ff9f1d09cdd1abbd9b08ffc12ef6a12c915d504ed3255",
|
|
183
183
|
"v8-table-event/SKILL.md": "2bd98d16828a8adfeee9cf141a4e20a3891b7ad369ab46c7863442b1214ae83f",
|
|
184
184
|
"v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "baa4e6670f693d62ab5fc9d5bd692dfd801ed30a530c5224c7c149088712b5d7",
|
|
@@ -192,190 +192,190 @@
|
|
|
192
192
|
"v8-utilities/references/server-api-index.md": "83e263354a04fe7a0174b3e5244def98129b8b389075a6786770d5cf149bddac",
|
|
193
193
|
"v8-workflow/SKILL.md": "d068ceded6f338fece9443f354dff21dfcf744dd192dd6329b2e98692bb8181e",
|
|
194
194
|
"v8-workflow/references/progressive-01-节点开始-v8-事件.md": "9b6b01e7ac03c0a11bc837671a30107ff5c5f253029d74fd17713084104d7e99",
|
|
195
|
-
"workspace-conventions/SKILL.md": "
|
|
195
|
+
"workspace-conventions/SKILL.md": "6ad4f57366886a9ab082c9aee03979439486f34d5e02d87e1cfc33ddebf6df75",
|
|
196
196
|
"workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "576a781ecc529f7b5c9a824326445b2c90b3172ba0285a73fae4a2e45c9b84f5",
|
|
197
197
|
"workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "6720c8700972ca2b0b0b4378a137b70763542a280043c75d79d551be1f57b308",
|
|
198
198
|
"workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "86db1f03700fd54dd824d28c553c678202e8f74b796fd0f9d91f63bf53a530b1"
|
|
199
199
|
},
|
|
200
200
|
"fileVersions": {
|
|
201
|
-
".microi-skills-version.json": "5.3.
|
|
202
|
-
".progressive-disclosure-manifest.json": "5.3.
|
|
203
|
-
"README.md": "5.3.
|
|
204
|
-
"ai-engine/SKILL.md": "5.3.
|
|
205
|
-
"ai-engine/agents/openai.yaml": "5.3.
|
|
206
|
-
"ai-platform-governance/SKILL.md": "5.3.
|
|
207
|
-
"ai-platform-governance/references/progressive-01-功能开关.md": "5.3.
|
|
208
|
-
"app-store/SKILL.md": "5.3.
|
|
209
|
-
"app-store/agents/openai.yaml": "5.3.
|
|
210
|
-
"business-blueprint/SKILL.md": "5.3.
|
|
211
|
-
"datasource-engine/SKILL.md": "5.3.
|
|
212
|
-
"datasource-engine/agents/openai.yaml": "5.3.
|
|
213
|
-
"dos-orm/SKILL.md": "5.3.
|
|
214
|
-
"dos-orm/references/api-reference.md": "5.3.
|
|
215
|
-
"job-engine/SKILL.md": "5.3.
|
|
216
|
-
"job-engine/agents/openai.yaml": "5.3.
|
|
217
|
-
"message-notification/SKILL.md": "5.3.
|
|
218
|
-
"message-notification/agents/openai.yaml": "5.3.
|
|
219
|
-
"message-notification/references/contracts.md": "5.3.
|
|
220
|
-
"microi-ai-app-auth.js": "5.3.
|
|
221
|
-
"microi-ai-application/SKILL.md": "5.3.
|
|
222
|
-
"microi-ai-application/agents/openai.yaml": "5.3.
|
|
223
|
-
"microi-ai-application/references/frontend-baseline.md": "5.3.
|
|
224
|
-
"microi-client-frontend/SKILL.md": "5.3.
|
|
225
|
-
"microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.3.
|
|
226
|
-
"microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.3.
|
|
227
|
-
"microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.3.
|
|
228
|
-
"microi-codex-installer/SKILL.md": "5.3.
|
|
229
|
-
"microi-codex-installer/agents/openai.yaml": "5.3.
|
|
230
|
-
"microi-codex/SKILL.md": "5.3.
|
|
231
|
-
"microi-datasource-mapping/SKILL.md": "5.3.
|
|
232
|
-
"microi-db-schema/SKILL.md": "5.3.
|
|
233
|
-
"microi-db-schema/agents/openai.yaml": "5.3.
|
|
234
|
-
"microi-db-schema/references/core-tables.md": "5.3.
|
|
235
|
-
"microi-db-schema/references/form-component-options.md": "5.3.
|
|
236
|
-
"microi-db-schema/references/schema-overview.md": "5.3.
|
|
237
|
-
"microi-db-schema/references/schema.md": "5.3.
|
|
238
|
-
"microi-db-schema/references/table-catalog.md": "5.3.
|
|
239
|
-
"microi-deployment/SKILL.md": "5.3.
|
|
240
|
-
"microi-deployment/references/deployment-matrix.md": "5.3.
|
|
241
|
-
"microi-docs-coverage/SKILL.md": "5.3.
|
|
242
|
-
"microi-docs-coverage/references/capability-map.md": "5.3.
|
|
243
|
-
"microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.3.
|
|
244
|
-
"microi-form-engine/SKILL.md": "5.3.
|
|
245
|
-
"microi-form-engine/references/component-catalog.md": "5.3.
|
|
246
|
-
"microi-form-engine/references/data-source-events.md": "5.3.
|
|
247
|
-
"microi-form-layout/SKILL.md": "5.3.
|
|
248
|
-
"microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.3.
|
|
249
|
-
"microi-frontend-sdk/SKILL.md": "5.3.
|
|
250
|
-
"microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.3.
|
|
251
|
-
"microi-left-right-layout/SKILL.md": "5.3.
|
|
252
|
-
"microi-microservice/SKILL.md": "5.3.
|
|
253
|
-
"microi-microservice/references/runtime-delivery.md": "5.3.
|
|
254
|
-
"microi-mobile-app-quality/SKILL.md": "5.3.
|
|
255
|
-
"microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.3.
|
|
256
|
-
"microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.3.
|
|
257
|
-
"microi-solution-quotation/SKILL.md": "5.3.
|
|
258
|
-
"microi-solution-quotation/agents/openai.yaml": "5.3.
|
|
259
|
-
"microi-solution-quotation/scripts/build_solution_quote.py": "5.3.
|
|
260
|
-
"microi-sso/SKILL.md": "5.3.
|
|
261
|
-
"microi-sso/references/acceptance.md": "5.3.
|
|
262
|
-
"microi-sso/references/configuration-and-security.md": "5.3.
|
|
263
|
-
"microi-sso/references/inbound.md": "5.3.
|
|
264
|
-
"microi-sso/references/outbound.md": "5.3.
|
|
265
|
-
"microi-system-delivery/SKILL.md": "5.3.
|
|
266
|
-
"microi-system-delivery/references/progressive-01-标准工作流.md": "5.3.
|
|
267
|
-
"microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.3.
|
|
268
|
-
"microi-ui/SKILL.md": "5.3.
|
|
269
|
-
"microi-ui/references/progressive-01-移动端场景蓝图.md": "5.3.
|
|
270
|
-
"microi-uniapp-frontend/SKILL.md": "5.3.
|
|
271
|
-
"microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.3.
|
|
272
|
-
"microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.3.
|
|
273
|
-
"microi.v8.js": "5.3.
|
|
274
|
-
"module-engine/SKILL.md": "5.3.
|
|
275
|
-
"module-engine/references/module-config.md": "5.3.
|
|
276
|
-
"ocr-engine/SKILL.md": "5.3.
|
|
277
|
-
"ocr-engine/agents/openai.yaml": "5.3.
|
|
278
|
-
"page-engine/SKILL.md": "5.3.
|
|
279
|
-
"page-engine/references/progressive-01-所有组件类型.md": "5.3.
|
|
280
|
-
"page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.3.
|
|
281
|
-
"performance-testing/SKILL.md": "5.3.
|
|
282
|
-
"playwright-e2e/SKILL.md": "5.3.
|
|
283
|
-
"playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.3.
|
|
284
|
-
"playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.3.
|
|
285
|
-
"playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.3.
|
|
286
|
-
"playwright-e2e/references/progressive-04-ci-建议.md": "5.3.
|
|
287
|
-
"print-engine/SKILL.md": "5.3.
|
|
288
|
-
"production-readonly-audit/SKILL.md": "5.3.
|
|
289
|
-
"report-engine/SKILL.md": "5.3.
|
|
290
|
-
"report-engine/agents/openai.yaml": "5.3.
|
|
291
|
-
"scripts/optimize-progressive-disclosure.mjs": "5.3.
|
|
292
|
-
"scripts/refresh-progressive-disclosure.mjs": "5.3.
|
|
293
|
-
"scripts/validate-progressive-disclosure.mjs": "5.3.
|
|
294
|
-
"search-engine/SKILL.md": "5.3.
|
|
295
|
-
"search-engine/agents/openai.yaml": "5.3.
|
|
296
|
-
"spider-engine/SKILL.md": "5.3.
|
|
297
|
-
"system-observability/SKILL.md": "5.3.
|
|
298
|
-
"translate-engine/SKILL.md": "5.3.
|
|
299
|
-
"translate-engine/agents/openai.yaml": "5.3.
|
|
300
|
-
"ui-design/SKILL.md": "5.3.
|
|
301
|
-
"ui-design/assets/pattern-showcase/app.js": "5.3.
|
|
302
|
-
"ui-design/assets/pattern-showcase/index.html": "5.3.
|
|
303
|
-
"ui-design/assets/pattern-showcase/styles.css": "5.3.
|
|
304
|
-
"ui-design/assets/templates/MCI-DESIGN.md": "5.3.
|
|
305
|
-
"ui-design/references/design-pattern-library.md": "5.3.
|
|
306
|
-
"ui-design/references/mci-design-contract.md": "5.3.
|
|
307
|
-
"ui-design/references/motion-and-media.md": "5.3.
|
|
308
|
-
"ui-design/references/product-flow-recipes.md": "5.3.
|
|
309
|
-
"ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.3.
|
|
310
|
-
"ui-design/references/progressive-02-字体.md": "5.3.
|
|
311
|
-
"ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.3.
|
|
312
|
-
"ui-design/references/progressive-04-组件风格速查.md": "5.3.
|
|
313
|
-
"ui-design/references/progressive-05-移动端专用规范.md": "5.3.
|
|
314
|
-
"ui-design/references/progressive-06-主题切换实现.md": "5.3.
|
|
315
|
-
"ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.3.
|
|
316
|
-
"ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.3.
|
|
317
|
-
"uniapp-mall-assets/SKILL.md": "5.3.
|
|
318
|
-
"unity-integration/SKILL.md": "5.3.
|
|
319
|
-
"unity-integration/agents/openai.yaml": "5.3.
|
|
320
|
-
"unity-integration/references/ai-app-delivery.md": "5.3.
|
|
321
|
-
"unity-integration/references/sdk-api.md": "5.3.
|
|
322
|
-
"unity-integration/references/toolbox-migration.md": "5.3.
|
|
323
|
-
"unity-integration/references/webgl-hosting.md": "5.3.
|
|
324
|
-
"v8-api-config/SKILL.md": "5.3.
|
|
325
|
-
"v8-cache-pattern/SKILL.md": "5.3.
|
|
326
|
-
"v8-crud-api/SKILL.md": "5.3.
|
|
327
|
-
"v8-crud-api/references/progressive-01-查询列表-分页.md": "5.3.
|
|
328
|
-
"v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.3.
|
|
329
|
-
"v8-debugging/SKILL.md": "5.3.
|
|
330
|
-
"v8-explorer-tree/SKILL.md": "5.3.
|
|
331
|
-
"v8-export-import/SKILL.md": "5.3.
|
|
332
|
-
"v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.3.
|
|
333
|
-
"v8-export-import/references/progressive-02-powerpoint-导出.md": "5.3.
|
|
334
|
-
"v8-export-import/references/progressive-03-安全-性能注意.md": "5.3.
|
|
335
|
-
"v8-file-upload/SKILL.md": "5.3.
|
|
336
|
-
"v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.3.
|
|
337
|
-
"v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.3.
|
|
338
|
-
"v8-formengine-http/SKILL.md": "5.3.
|
|
339
|
-
"v8-frontend-events/SKILL.md": "5.3.
|
|
340
|
-
"v8-frontend-events/references/bluetooth-print-api.md": "5.3.
|
|
341
|
-
"v8-frontend-events/references/bluetooth-print.md": "5.3.
|
|
342
|
-
"v8-frontend-events/references/progressive-01-列表事件.md": "5.3.
|
|
343
|
-
"v8-http-integration/SKILL.md": "5.3.
|
|
344
|
-
"v8-http-integration/references/progressive-01-get-请求.md": "5.3.
|
|
345
|
-
"v8-http-integration/references/progressive-02-错误处理模式.md": "5.3.
|
|
346
|
-
"v8-image-processing/SKILL.md": "5.3.
|
|
347
|
-
"v8-image-processing/agents/openai.yaml": "5.3.
|
|
348
|
-
"v8-image-processing/references/api-reference.md": "5.3.
|
|
349
|
-
"v8-menu-buttons/SKILL.md": "5.3.
|
|
350
|
-
"v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.3.
|
|
351
|
-
"v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.3.
|
|
352
|
-
"v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.3.
|
|
353
|
-
"v8-mongodb/SKILL.md": "5.3.
|
|
354
|
-
"v8-mq-mqtt/SKILL.md": "5.3.
|
|
355
|
-
"v8-mq-mqtt/references/mqtt-production.md": "5.3.
|
|
356
|
-
"v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.3.
|
|
357
|
-
"v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.3.
|
|
358
|
-
"v8-saas-multi-tenant/SKILL.md": "5.3.
|
|
359
|
-
"v8-security/SKILL.md": "5.3.
|
|
360
|
-
"v8-security/references/progressive-01-2-权限校验.md": "5.3.
|
|
361
|
-
"v8-security/references/progressive-02-7-日志记录.md": "5.3.
|
|
362
|
-
"v8-sql-query/SKILL.md": "5.3.
|
|
363
|
-
"v8-table-event/SKILL.md": "5.3.
|
|
364
|
-
"v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.3.
|
|
365
|
-
"v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.3.
|
|
366
|
-
"v8-tcp-integration/SKILL.md": "5.3.
|
|
367
|
-
"v8-tcp-integration/agents/openai.yaml": "5.3.
|
|
368
|
-
"v8-template-engine/SKILL.md": "5.3.
|
|
369
|
-
"v8-utilities/SKILL.md": "5.3.
|
|
370
|
-
"v8-utilities/references/client-api-index.md": "5.3.
|
|
371
|
-
"v8-utilities/references/platform-http-routes.md": "5.3.
|
|
372
|
-
"v8-utilities/references/server-api-index.md": "5.3.
|
|
373
|
-
"v8-workflow/SKILL.md": "5.3.
|
|
374
|
-
"v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.3.
|
|
375
|
-
"workspace-conventions/SKILL.md": "5.3.
|
|
376
|
-
"workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.3.
|
|
377
|
-
"workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.3.
|
|
378
|
-
"workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.3.
|
|
201
|
+
".microi-skills-version.json": "5.3.6",
|
|
202
|
+
".progressive-disclosure-manifest.json": "5.3.6",
|
|
203
|
+
"README.md": "5.3.6",
|
|
204
|
+
"ai-engine/SKILL.md": "5.3.6",
|
|
205
|
+
"ai-engine/agents/openai.yaml": "5.3.6",
|
|
206
|
+
"ai-platform-governance/SKILL.md": "5.3.6",
|
|
207
|
+
"ai-platform-governance/references/progressive-01-功能开关.md": "5.3.6",
|
|
208
|
+
"app-store/SKILL.md": "5.3.6",
|
|
209
|
+
"app-store/agents/openai.yaml": "5.3.6",
|
|
210
|
+
"business-blueprint/SKILL.md": "5.3.6",
|
|
211
|
+
"datasource-engine/SKILL.md": "5.3.6",
|
|
212
|
+
"datasource-engine/agents/openai.yaml": "5.3.6",
|
|
213
|
+
"dos-orm/SKILL.md": "5.3.6",
|
|
214
|
+
"dos-orm/references/api-reference.md": "5.3.6",
|
|
215
|
+
"job-engine/SKILL.md": "5.3.6",
|
|
216
|
+
"job-engine/agents/openai.yaml": "5.3.6",
|
|
217
|
+
"message-notification/SKILL.md": "5.3.6",
|
|
218
|
+
"message-notification/agents/openai.yaml": "5.3.6",
|
|
219
|
+
"message-notification/references/contracts.md": "5.3.6",
|
|
220
|
+
"microi-ai-app-auth.js": "5.3.6",
|
|
221
|
+
"microi-ai-application/SKILL.md": "5.3.6",
|
|
222
|
+
"microi-ai-application/agents/openai.yaml": "5.3.6",
|
|
223
|
+
"microi-ai-application/references/frontend-baseline.md": "5.3.6",
|
|
224
|
+
"microi-client-frontend/SKILL.md": "5.3.6",
|
|
225
|
+
"microi-client-frontend/references/progressive-01-3-动态按钮系统.md": "5.3.6",
|
|
226
|
+
"microi-client-frontend/references/progressive-02-8-运行时高频坑复盘.md": "5.3.6",
|
|
227
|
+
"microi-client-frontend/references/progressive-03-vue3-前端微服务宿主规则.md": "5.3.6",
|
|
228
|
+
"microi-codex-installer/SKILL.md": "5.3.6",
|
|
229
|
+
"microi-codex-installer/agents/openai.yaml": "5.3.6",
|
|
230
|
+
"microi-codex/SKILL.md": "5.3.6",
|
|
231
|
+
"microi-datasource-mapping/SKILL.md": "5.3.6",
|
|
232
|
+
"microi-db-schema/SKILL.md": "5.3.6",
|
|
233
|
+
"microi-db-schema/agents/openai.yaml": "5.3.6",
|
|
234
|
+
"microi-db-schema/references/core-tables.md": "5.3.6",
|
|
235
|
+
"microi-db-schema/references/form-component-options.md": "5.3.6",
|
|
236
|
+
"microi-db-schema/references/schema-overview.md": "5.3.6",
|
|
237
|
+
"microi-db-schema/references/schema.md": "5.3.6",
|
|
238
|
+
"microi-db-schema/references/table-catalog.md": "5.3.6",
|
|
239
|
+
"microi-deployment/SKILL.md": "5.3.6",
|
|
240
|
+
"microi-deployment/references/deployment-matrix.md": "5.3.6",
|
|
241
|
+
"microi-docs-coverage/SKILL.md": "5.3.6",
|
|
242
|
+
"microi-docs-coverage/references/capability-map.md": "5.3.6",
|
|
243
|
+
"microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs": "5.3.6",
|
|
244
|
+
"microi-form-engine/SKILL.md": "5.3.6",
|
|
245
|
+
"microi-form-engine/references/component-catalog.md": "5.3.6",
|
|
246
|
+
"microi-form-engine/references/data-source-events.md": "5.3.6",
|
|
247
|
+
"microi-form-layout/SKILL.md": "5.3.6",
|
|
248
|
+
"microi-form-layout/references/progressive-01-3-三种分组的存储与配置.md": "5.3.6",
|
|
249
|
+
"microi-frontend-sdk/SKILL.md": "5.3.6",
|
|
250
|
+
"microi-frontend-sdk/references/progressive-01-token-当前登录用户与当前终端登录协议.md": "5.3.6",
|
|
251
|
+
"microi-left-right-layout/SKILL.md": "5.3.6",
|
|
252
|
+
"microi-microservice/SKILL.md": "5.3.6",
|
|
253
|
+
"microi-microservice/references/runtime-delivery.md": "5.3.6",
|
|
254
|
+
"microi-mobile-app-quality/SKILL.md": "5.3.6",
|
|
255
|
+
"microi-mobile-app-quality/references/progressive-01-4-重要按钮必须带图标.md": "5.3.6",
|
|
256
|
+
"microi-mobile-app-quality/references/progressive-02-9-主题切换必须真实且全局生效.md": "5.3.6",
|
|
257
|
+
"microi-solution-quotation/SKILL.md": "5.3.6",
|
|
258
|
+
"microi-solution-quotation/agents/openai.yaml": "5.3.6",
|
|
259
|
+
"microi-solution-quotation/scripts/build_solution_quote.py": "5.3.6",
|
|
260
|
+
"microi-sso/SKILL.md": "5.3.6",
|
|
261
|
+
"microi-sso/references/acceptance.md": "5.3.6",
|
|
262
|
+
"microi-sso/references/configuration-and-security.md": "5.3.6",
|
|
263
|
+
"microi-sso/references/inbound.md": "5.3.6",
|
|
264
|
+
"microi-sso/references/outbound.md": "5.3.6",
|
|
265
|
+
"microi-system-delivery/SKILL.md": "5.3.6",
|
|
266
|
+
"microi-system-delivery/references/progressive-01-标准工作流.md": "5.3.6",
|
|
267
|
+
"microi-system-delivery/references/progressive-02-自动化测试必须覆盖的坑.md": "5.3.6",
|
|
268
|
+
"microi-ui/SKILL.md": "5.3.6",
|
|
269
|
+
"microi-ui/references/progressive-01-移动端场景蓝图.md": "5.3.6",
|
|
270
|
+
"microi-uniapp-frontend/SKILL.md": "5.3.6",
|
|
271
|
+
"microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md": "5.3.6",
|
|
272
|
+
"microi-uniapp-frontend/references/progressive-02-关键业务资产不得默认选中.md": "5.3.6",
|
|
273
|
+
"microi.v8.js": "5.3.6",
|
|
274
|
+
"module-engine/SKILL.md": "5.3.6",
|
|
275
|
+
"module-engine/references/module-config.md": "5.3.6",
|
|
276
|
+
"ocr-engine/SKILL.md": "5.3.6",
|
|
277
|
+
"ocr-engine/agents/openai.yaml": "5.3.6",
|
|
278
|
+
"page-engine/SKILL.md": "5.3.6",
|
|
279
|
+
"page-engine/references/progressive-01-所有组件类型.md": "5.3.6",
|
|
280
|
+
"page-engine/references/progressive-02-版本历史-并发保存与回滚.md": "5.3.6",
|
|
281
|
+
"performance-testing/SKILL.md": "5.3.6",
|
|
282
|
+
"playwright-e2e/SKILL.md": "5.3.6",
|
|
283
|
+
"playwright-e2e/references/progressive-01-全自动登录-免验证码-但不免密码-必读.md": "5.3.6",
|
|
284
|
+
"playwright-e2e/references/progressive-02-文字对比度与可读性自动化检查-必做.md": "5.3.6",
|
|
285
|
+
"playwright-e2e/references/progressive-03-microi-helper-模板.md": "5.3.6",
|
|
286
|
+
"playwright-e2e/references/progressive-04-ci-建议.md": "5.3.6",
|
|
287
|
+
"print-engine/SKILL.md": "5.3.6",
|
|
288
|
+
"production-readonly-audit/SKILL.md": "5.3.6",
|
|
289
|
+
"report-engine/SKILL.md": "5.3.6",
|
|
290
|
+
"report-engine/agents/openai.yaml": "5.3.6",
|
|
291
|
+
"scripts/optimize-progressive-disclosure.mjs": "5.3.6",
|
|
292
|
+
"scripts/refresh-progressive-disclosure.mjs": "5.3.6",
|
|
293
|
+
"scripts/validate-progressive-disclosure.mjs": "5.3.6",
|
|
294
|
+
"search-engine/SKILL.md": "5.3.6",
|
|
295
|
+
"search-engine/agents/openai.yaml": "5.3.6",
|
|
296
|
+
"spider-engine/SKILL.md": "5.3.6",
|
|
297
|
+
"system-observability/SKILL.md": "5.3.6",
|
|
298
|
+
"translate-engine/SKILL.md": "5.3.6",
|
|
299
|
+
"translate-engine/agents/openai.yaml": "5.3.6",
|
|
300
|
+
"ui-design/SKILL.md": "5.3.6",
|
|
301
|
+
"ui-design/assets/pattern-showcase/app.js": "5.3.6",
|
|
302
|
+
"ui-design/assets/pattern-showcase/index.html": "5.3.6",
|
|
303
|
+
"ui-design/assets/pattern-showcase/styles.css": "5.3.6",
|
|
304
|
+
"ui-design/assets/templates/MCI-DESIGN.md": "5.3.6",
|
|
305
|
+
"ui-design/references/design-pattern-library.md": "5.3.6",
|
|
306
|
+
"ui-design/references/mci-design-contract.md": "5.3.6",
|
|
307
|
+
"ui-design/references/motion-and-media.md": "5.3.6",
|
|
308
|
+
"ui-design/references/product-flow-recipes.md": "5.3.6",
|
|
309
|
+
"ui-design/references/progressive-01-颜色体系-css-variables-支持主题切换.md": "5.3.6",
|
|
310
|
+
"ui-design/references/progressive-02-字体.md": "5.3.6",
|
|
311
|
+
"ui-design/references/progressive-03-动效规范-丰富但不卡.md": "5.3.6",
|
|
312
|
+
"ui-design/references/progressive-04-组件风格速查.md": "5.3.6",
|
|
313
|
+
"ui-design/references/progressive-05-移动端专用规范.md": "5.3.6",
|
|
314
|
+
"ui-design/references/progressive-06-主题切换实现.md": "5.3.6",
|
|
315
|
+
"ui-design/references/progressive-07-速查-从头搭建一个移动端页面.md": "5.3.6",
|
|
316
|
+
"ui-design/references/progressive-08-表单分组规范-tabs-vs-collapsegroup-强制.md": "5.3.6",
|
|
317
|
+
"uniapp-mall-assets/SKILL.md": "5.3.6",
|
|
318
|
+
"unity-integration/SKILL.md": "5.3.6",
|
|
319
|
+
"unity-integration/agents/openai.yaml": "5.3.6",
|
|
320
|
+
"unity-integration/references/ai-app-delivery.md": "5.3.6",
|
|
321
|
+
"unity-integration/references/sdk-api.md": "5.3.6",
|
|
322
|
+
"unity-integration/references/toolbox-migration.md": "5.3.6",
|
|
323
|
+
"unity-integration/references/webgl-hosting.md": "5.3.6",
|
|
324
|
+
"v8-api-config/SKILL.md": "5.3.6",
|
|
325
|
+
"v8-cache-pattern/SKILL.md": "5.3.6",
|
|
326
|
+
"v8-crud-api/SKILL.md": "5.3.6",
|
|
327
|
+
"v8-crud-api/references/progressive-01-查询列表-分页.md": "5.3.6",
|
|
328
|
+
"v8-crud-api/references/progressive-02-where-条件语法速查.md": "5.3.6",
|
|
329
|
+
"v8-debugging/SKILL.md": "5.3.6",
|
|
330
|
+
"v8-explorer-tree/SKILL.md": "5.3.6",
|
|
331
|
+
"v8-export-import/SKILL.md": "5.3.6",
|
|
332
|
+
"v8-export-import/references/progressive-01-excellayout-高级自由布局.md": "5.3.6",
|
|
333
|
+
"v8-export-import/references/progressive-02-powerpoint-导出.md": "5.3.6",
|
|
334
|
+
"v8-export-import/references/progressive-03-安全-性能注意.md": "5.3.6",
|
|
335
|
+
"v8-file-upload/SKILL.md": "5.3.6",
|
|
336
|
+
"v8-file-upload/references/progressive-01-公有桶-vs-私有桶.md": "5.3.6",
|
|
337
|
+
"v8-file-upload/references/progressive-02-office-文件在线编辑版本号规则.md": "5.3.6",
|
|
338
|
+
"v8-formengine-http/SKILL.md": "5.3.6",
|
|
339
|
+
"v8-frontend-events/SKILL.md": "5.3.6",
|
|
340
|
+
"v8-frontend-events/references/bluetooth-print-api.md": "5.3.6",
|
|
341
|
+
"v8-frontend-events/references/bluetooth-print.md": "5.3.6",
|
|
342
|
+
"v8-frontend-events/references/progressive-01-列表事件.md": "5.3.6",
|
|
343
|
+
"v8-http-integration/SKILL.md": "5.3.6",
|
|
344
|
+
"v8-http-integration/references/progressive-01-get-请求.md": "5.3.6",
|
|
345
|
+
"v8-http-integration/references/progressive-02-错误处理模式.md": "5.3.6",
|
|
346
|
+
"v8-image-processing/SKILL.md": "5.3.6",
|
|
347
|
+
"v8-image-processing/agents/openai.yaml": "5.3.6",
|
|
348
|
+
"v8-image-processing/references/api-reference.md": "5.3.6",
|
|
349
|
+
"v8-menu-buttons/SKILL.md": "5.3.6",
|
|
350
|
+
"v8-menu-buttons/references/progressive-01-2-按钮对象-schema.md": "5.3.6",
|
|
351
|
+
"v8-menu-buttons/references/progressive-02-8-模式-f-后台任务按钮-长任务.md": "5.3.6",
|
|
352
|
+
"v8-menu-buttons/references/progressive-03-10-反模式-避免.md": "5.3.6",
|
|
353
|
+
"v8-mongodb/SKILL.md": "5.3.6",
|
|
354
|
+
"v8-mq-mqtt/SKILL.md": "5.3.6",
|
|
355
|
+
"v8-mq-mqtt/references/mqtt-production.md": "5.3.6",
|
|
356
|
+
"v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-物联网.md": "5.3.6",
|
|
357
|
+
"v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs": "5.3.6",
|
|
358
|
+
"v8-saas-multi-tenant/SKILL.md": "5.3.6",
|
|
359
|
+
"v8-security/SKILL.md": "5.3.6",
|
|
360
|
+
"v8-security/references/progressive-01-2-权限校验.md": "5.3.6",
|
|
361
|
+
"v8-security/references/progressive-02-7-日志记录.md": "5.3.6",
|
|
362
|
+
"v8-sql-query/SKILL.md": "5.3.6",
|
|
363
|
+
"v8-table-event/SKILL.md": "5.3.6",
|
|
364
|
+
"v8-table-event/references/progressive-01-informv8-js-表单打开事件.md": "5.3.6",
|
|
365
|
+
"v8-table-event/references/progressive-02-前端事件名-v8-eventname-可能的值.md": "5.3.6",
|
|
366
|
+
"v8-tcp-integration/SKILL.md": "5.3.6",
|
|
367
|
+
"v8-tcp-integration/agents/openai.yaml": "5.3.6",
|
|
368
|
+
"v8-template-engine/SKILL.md": "5.3.6",
|
|
369
|
+
"v8-utilities/SKILL.md": "5.3.6",
|
|
370
|
+
"v8-utilities/references/client-api-index.md": "5.3.6",
|
|
371
|
+
"v8-utilities/references/platform-http-routes.md": "5.3.6",
|
|
372
|
+
"v8-utilities/references/server-api-index.md": "5.3.6",
|
|
373
|
+
"v8-workflow/SKILL.md": "5.3.6",
|
|
374
|
+
"v8-workflow/references/progressive-01-节点开始-v8-事件.md": "5.3.6",
|
|
375
|
+
"workspace-conventions/SKILL.md": "5.3.6",
|
|
376
|
+
"workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md": "5.3.6",
|
|
377
|
+
"workspace-conventions/references/progressive-02-microi-net-api-本地启动约定.md": "5.3.6",
|
|
378
|
+
"workspace-conventions/references/progressive-03-cli-与-ide-插件错版共存约定.md": "5.3.6"
|
|
379
379
|
},
|
|
380
380
|
"files": [
|
|
381
381
|
".microi-skills-version.json",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "5.3.
|
|
2
|
+
"version": "5.3.6",
|
|
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-26T10:10:31.509Z"
|
|
6
6
|
}
|
package/skills/microi.v8.js
CHANGED
|
@@ -1555,7 +1555,7 @@ export function createMicroiV8(options = {}) {
|
|
|
1555
1555
|
GetTableDataTree: '/api/FormEngine/getTableDataTree',
|
|
1556
1556
|
GetTableDataTreeAnonymous: '/api/FormEngine/getTableDataTreeAnonymous',
|
|
1557
1557
|
ApiEngineRun: '/api/ApiEngine/run',
|
|
1558
|
-
ModuleEngineRun: '/
|
|
1558
|
+
ModuleEngineRun: '/apiengine/platform-module-data',
|
|
1559
1559
|
RefreshToken: '/api/SysUser/refreshToken',
|
|
1560
1560
|
RefreshLoginUser: '/api/SysUser/refreshLoginUser',
|
|
1561
1561
|
Upload: '/api/HDFS/Upload',
|
|
@@ -1816,7 +1816,7 @@ export function createMicroiV8(options = {}) {
|
|
|
1816
1816
|
? { ModuleEngineKey: moduleKeyOrParam, ...(dataOrCallback || {}) }
|
|
1817
1817
|
: (moduleKeyOrParam || {});
|
|
1818
1818
|
const cb = typeof dataOrCallback === 'function' ? dataOrCallback : callback;
|
|
1819
|
-
return withCallback(legacyPost(legacyApi.ModuleEngineRun, data), cb);
|
|
1819
|
+
return withCallback(legacyPost(legacyApi.ModuleEngineRun, { Action: 'GetTableData', ...data }), cb);
|
|
1820
1820
|
}
|
|
1821
1821
|
};
|
|
1822
1822
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ocr-engine
|
|
3
|
-
description: 为 Microi 吾码集成、配置、调用和验收通用 OCR 能力。处理 V8.OCR、/
|
|
3
|
+
description: 为 Microi 吾码集成、配置、调用和验收通用 OCR 能力。处理 V8.OCR、/apiengine/platform-ocr-recognize、PaddleX/PaddleOCR 服务、SaaS 租户 OCR 配置、图片或 PDF 文字识别、OCR 安全边界、Docker 部署和多节点交付时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
> **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
|
|
@@ -17,7 +17,7 @@ description: 为 Microi 吾码集成、配置、调用和验收通用 OCR 能力
|
|
|
17
17
|
|
|
18
18
|
## 固定架构
|
|
19
19
|
|
|
20
|
-
Microi 后端只实现统一 OCR 网关、租户隔离、协议适配和安全治理,不在 .NET 进程内训练或维护 OCR 模型。默认提供方为独立部署的 PaddleX OCR 服务;业务代码只能调用 `IMicroiOcr`、`V8.OCR`
|
|
20
|
+
Microi 后端只实现统一 OCR 网关、租户隔离、协议适配和安全治理,不在 .NET 进程内训练或维护 OCR 模型。默认提供方为独立部署的 PaddleX OCR 服务;业务代码只能调用 `IMicroiOcr`、`V8.OCR` 或官方 Managed 接口 `/apiengine/platform-ocr-recognize`,不得直接读取 SaaS 密钥并自行拼接 HTTP 请求。
|
|
21
21
|
|
|
22
22
|
同步识别必须绑定当前请求和当前租户。批量、超大文件或长耗时 OCR 应进入共享数据库/MQ/outbox,以全局任务 Id 做幂等;不得把任务状态、队列或锁只放在单机内存中。
|
|
23
23
|
|
|
@@ -68,7 +68,7 @@ return {
|
|
|
68
68
|
};
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
已登录客户端调用 `POST /apiengine/platform-ocr-recognize`,请求体与 `V8.OCR.Recognize` 一致,并携带正常登录 Token。`OsClient` 以 Token 解析结果为准。该接口由官方应用以 `Managed` 策略恢复;个性化逻辑只能写入租户 `platform-runtime-custom-hook`,且官方接口不会把文件 Base64、识别原文或密钥传给 Hook。
|
|
72
72
|
|
|
73
73
|
标准成功结果包含 `Provider`、`Text`、`Pages`、`ElapsedMilliseconds`。每页包含 `PageIndex`、`Text`、`Regions`,每个区域包含 `Text`、`Confidence` 和归一化后的 `Polygon`。
|
|
74
74
|
|
|
@@ -84,9 +84,7 @@ LibreTranslate 是动态翻译供应商,不是 `diy_lang` 的替代品。一
|
|
|
84
84
|
|
|
85
85
|
## HTTP 与 MCP
|
|
86
86
|
|
|
87
|
-
已登录 HTTP
|
|
88
|
-
|
|
89
|
-
覆盖审计所用的标准路由为 `/api/translate/detect`、`/api/translate/languages`、`/api/translate/translatefile`、`/api/translate/suggest` 和 `/api/translate/health`;它们都服从同一登录与租户绑定规则。
|
|
87
|
+
已登录 HTTP 入口统一为 `POST /apiengine/platform-translate-runtime`,通过请求体 `Action=TranslateText|Detect|Languages|TranslateFile|Suggest|Health` 选择能力。官方 Managed 接口使用验证后的 Token 绑定 `OsClient`,不得接受 endpoint/key/header;个性化逻辑只写入租户 `platform-runtime-custom-hook`,且原文、文件 Base64、供应商地址和密钥不会传给 Hook。
|
|
90
88
|
|
|
91
89
|
MCP 固定工具:`microi_translate`、`microi_detect_language`、`microi_list_translate_languages`、`microi_translate_file`、`microi_suggest_translation`、`microi_get_translate_health`。文件翻译需要 `confirmExecution=TRANSLATE_FILE`,建议写入需要 `confirmExecution=TRANSLATE_SUGGEST`;审计只记录长度、SHA-256、语言和输出模式,不记录文本、文件内容、本机路径或凭据。大文件结果落到新的绝对路径,不允许覆盖已有文件。
|
|
92
90
|
|
|
@@ -85,7 +85,7 @@ try {
|
|
|
85
85
|
- `UseForwardedHeaders` 后若 Remote IP 仍是自动发现的精确容器网关,表示代理未提供可验证的客户端地址;该请求不得进入按 IP 自动封禁,否则任一用户可导致全站误封。此降级不跳过后续全局请求压力、内存和业务鉴权,公网或普通私网地址也不适用;运维仍应补齐最后一跳转发头。
|
|
86
86
|
- IP 错误窗口只把未匹配端点的 404/405 作为扫描计数;400/401/403/413/429、5xx、已匹配 Controller 以及 `/api`、`/apiengine` 动态路由的应用级 404/405 只能审计,不能触发自动封禁。请求总量窗口继续作为独立的高频攻击门禁,禁止用服务端故障或正常业务拒绝反向惩罚客户端。
|
|
87
87
|
- 旧版 `HighError`/`TrustedVsCodeHighError` 宽泛错误策略产生的自动封禁属于可识别的失效状态;升级节点应从共享 Redis 和本机缓存幂等退休,不能要求所有租户等待旧 TTL,也不能解除手动、`HighFrequency` 或新版 `RouteScan` 封禁。
|
|
88
|
-
- 自动封禁按 `ExpiresAtUtc` 到期解除。立即解除只能从未被封禁的管理网络,以平台超级管理员进入【系统日志 →
|
|
88
|
+
- 自动封禁按 `ExpiresAtUtc` 到期解除。立即解除只能从未被封禁的管理网络,以平台超级管理员进入【系统日志 → 安全防护】调用 `POST /apiengine/mci-system-observability-action`(`Action=UnblockIp`);同一被封出口不能给自己解封。
|
|
89
89
|
- 固定可信出口才可精确加入当前服务器匹配 `sys_osclients.SecurityWhitelistIps`。禁止全网段、动态用户 IP 或请求参数自动入白名单,也不要关闭安全防护或全局放大普通阈值。
|
|
90
90
|
- 多节点封禁、解封和到期状态必须进入共享 Redis/数据库;本机静态字典只能做缓存。Redis 可用且共享 block 不存在就是权威已解封,节点必须删除本机旧 block,禁止把旧状态回写复活;Redis 不可用时才允许本机降级。验收要让同一出口分别命中至少两个 API 节点,覆盖普通阈值、受信读取、伪造 Header、手动解除和自动到期。
|
|
91
91
|
|
|
@@ -178,8 +178,25 @@ AI 在工作区任意任务中生成的**一次性临时脚本、诊断文件、
|
|
|
178
178
|
- `microi.doc/docs/doc/` 是人工维护的中文文档单源;`microi.doc/docs/en/` 由官网统一翻译生成。日常功能开发只修改中文文档,不手工修改英文版,不为“中英文同步”重复写一遍。
|
|
179
179
|
- 文档改动后执行 `npm run docs:build`;验收时检查本次没有无理由新增 `.md` 页面或导航路由。
|
|
180
180
|
|
|
181
|
-
<!-- /microi-progressive:chunk -->
|
|
182
|
-
|
|
181
|
+
<!-- /microi-progressive:chunk -->
|
|
182
|
+
|
|
183
|
+
## AI 编写代码的意图注释规范(强制)
|
|
184
|
+
|
|
185
|
+
- AI 新增或修改的非简单代码必须同时维护中文意图注释。注释重点解释“为什么这样设计”、安全/事务/租户/协议/兼容边界、非显然顺序和失败语义,不要逐行复述语法。
|
|
186
|
+
- 插件注册、协议网关、鉴权与密钥处理、分布式锁和幂等、升级迁移、兼容转发、可覆盖 Hook、跨系统副作用等代码必须有醒目的边界注释;插件注册注释至少说明所注册能力,存在顺序或条件依赖时一并说明。
|
|
187
|
+
- 公共可复用的 C# 类型和方法优先使用 XML 文档注释;复杂 V8/JavaScript、Vue/TypeScript 与脚本在关键分支前写短注释,说明输入信任边界、回滚/重试规则或特殊兼容原因。
|
|
188
|
+
- 简单赋值、清晰命名的一行调用、显而易见的 CRUD 和模板样板不强制增加注释。禁止为了满足数量机械生成“给变量赋值”“调用方法”一类无信息注释。
|
|
189
|
+
- 重构代码时同步迁移、修订或删除过时注释;注释与实际行为冲突视为代码缺陷。验收时抽查本次非简单变更是否能仅凭代码与注释理解其归属和约束。
|
|
190
|
+
|
|
191
|
+
## ASP.NET Controller 归属与旧路由收口规范(强制)
|
|
192
|
+
|
|
193
|
+
- 已由 V8 接口引擎完整实现的业务 Controller 必须物理删除,禁止为了“瘦身”再创建 `Microi.AspNetCore` 一类无业务归属的通用 .NET 项目,把原 Controller 原样搬过去。
|
|
194
|
+
- 仍被旧版 PC、UniApp 或定制移动端调用的 `/api/*` 历史地址,只能集中在 `Microi.net.Api/Controllers/LegacyMobileCompatibilityController.cs`;文件顶部必须醒目标明“仅兼容、禁止新增业务、未来可能整体删除”,方法只能做参数归一化、可信租户/身份绑定和固定 Managed ApiEngine 转发。
|
|
195
|
+
- V8 无法直接承担的 SSE/WebSocket、OIDC/SAML/CAS、第三方回调验签/解密、浏览器原生身份协议、供应商密钥隔离、文件流等最小协议边界,必须放入已有功能类库的 `Hosting/AspNetCore` 目录并保持明确应用归属;不得把普通 CRUD、日志、通知或可升级业务编排留在协议网关。
|
|
196
|
+
- `Microi.net.Api/Controllers` 默认只允许 `ApiEngineController`、`FormEngineController`、`HDFSController`、`V8EngineController`、`WorkFlowController` 和上述统一兼容 Controller。新增或保留其它 Controller 时,必须先证明接口引擎不支持且无法合并到既有协议网关,并同步更新 `api-ownership-catalog.json` 与结构测试。
|
|
197
|
+
- `Program.cs` 只保留有说明的插件注册和最薄宿主入口;ASP.NET 组合代码可留在同项目 `Hosting`,可复用业务/运行时逻辑进入 `Microi.Core`、`Microi.net`、`Microi.Upgrade` 或对应插件,禁止通过新建“中转层”掩盖归属问题。
|
|
198
|
+
|
|
199
|
+
<!-- microi-progressive:chunk id=workspace-conventions-009 sha256=dc7dbe2d2f60466a7170fff65a5df8769bc795b4ab23151a24b665380d7c6e37 -->
|
|
183
200
|
## 多对话共享工作区变更归属保护(强制)
|
|
184
201
|
|
|
185
202
|
同一工作区可能同时被用户、其它 Codex 对话、IDE、自动化任务或外部 Git 操作修改。任务启动前已经存在、或无法用本对话证据严格证明归属的差异,一律视为他人资产并保留;“工作区是脏的”不是清理授权。
|