@microi.net/cli 4.6.4 → 4.6.7
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/dist/mcp-server.js +98 -92
- package/dist/microi-cli.js +177 -26
- package/dist/microi-skills.meta.json +147 -141
- package/dist/microi.skills/.microi-skills-version.json +2 -2
- package/dist/microi.skills/README.md +3 -2
- package/dist/microi.skills/ai-engine/SKILL.md +38 -11
- package/dist/microi.skills/app-store/SKILL.md +134 -104
- package/dist/microi.skills/microi-ai-application/SKILL.md +8 -0
- package/dist/microi.skills/microi-client-frontend/SKILL.md +403 -403
- package/dist/microi.skills/microi-db-schema/SKILL.md +165 -165
- package/dist/microi.skills/microi-deployment/SKILL.md +29 -3
- package/dist/microi.skills/microi-docs-coverage/references/capability-map.md +4 -3
- package/dist/microi.skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +10 -3
- package/dist/microi.skills/microi-form-engine/SKILL.md +165 -165
- package/dist/microi.skills/microi-system-delivery/SKILL.md +207 -200
- package/dist/microi.skills/microi-ui/SKILL.md +330 -330
- package/dist/microi.skills/microi.v8.js +1818 -1758
- package/dist/microi.skills/ocr-engine/SKILL.md +111 -0
- package/dist/microi.skills/ocr-engine/agents/openai.yaml +4 -0
- package/dist/microi.skills/page-engine/SKILL.md +2 -0
- package/dist/microi.skills/performance-testing/SKILL.md +2 -2
- package/dist/microi.skills/playwright-e2e/SKILL.md +14 -40
- package/dist/microi.skills/print-engine/SKILL.md +9 -3
- package/dist/microi.skills/report-engine/SKILL.md +1 -1
- package/dist/microi.skills/translate-engine/SKILL.md +47 -5
- package/dist/microi.skills/ui-design/SKILL.md +1596 -1596
- package/dist/microi.skills/ui-design/assets/templates/MCI-DESIGN.md +199 -199
- package/dist/microi.skills/ui-design/references/design-pattern-library.md +184 -184
- package/dist/microi.skills/ui-design/references/mci-design-contract.md +163 -163
- package/dist/microi.skills/v8-file-upload/SKILL.md +8 -0
- package/dist/microi.skills/v8-frontend-events/SKILL.md +4 -1
- package/dist/microi.skills/v8-frontend-events/references/bluetooth-print.md +28 -22
- package/dist/microi.skills/v8-http-integration/SKILL.md +22 -1
- package/dist/microi.skills/v8-saas-multi-tenant/SKILL.md +2 -1
- package/dist/microi.skills/v8-security/SKILL.md +7 -6
- package/dist/microi.skills/v8-utilities/references/server-api-index.md +1 -0
- package/dist/microi.skills/workspace-conventions/SKILL.md +15 -23
- package/package.json +1 -1
|
@@ -48,7 +48,7 @@ AI 在用户本机启动 Node.js、Vite、Webpack、dotnet build、Java、Docker
|
|
|
48
48
|
|
|
49
49
|
- 启动前检查物理内存总量、当前占用率、可用内存,并检查是否已有同类 dev server/构建进程。已有可复用服务时禁止重复启动。
|
|
50
50
|
- 默认只允许一个高资源任务运行;显式限制 Worker/并发数,优先按项目、包、模块、测试分组或文件分片执行,不得并行启动多个全量构建。
|
|
51
|
-
-
|
|
51
|
+
- 启动重任务前按“当前阶段进程树预算 + 系统安全余量”判断:阶段预算优先采用实测峰值;尚无实测时,用已限制的堆/容器上限加明确的原生进程、Worker 与缓冲开销。系统安全余量取 `max(1.5 GB, 物理内存的 5%)`,不得再按固定 20% 将大内存机器的启动门槛线性放大。顺序执行的阶段分别计算,禁止把不会并发的阶段峰值相加。机器总内存占用达到 95% 时,立即暂停或终止 AI 启动的重任务及其子进程,不得等待 OOM。
|
|
52
52
|
- 禁止将 `--max-old-space-size`、JVM heap、Docker memory 或类似上限设为接近物理内存总量。除非用户明确授权独占构建窗口,单个 AI 启动的进程树不得持续占用超过物理内存的 25%。
|
|
53
53
|
- 后台/长任务必须记录根 PID、子进程、启动时间和独立日志,每 15-30 秒监测一次进程树内存与全机可用内存。任务失败、中断或达阈值时必须停止整个子进程树,不得遗留孤儿 Node/dotnet/Java 进程。
|
|
54
54
|
- 全量构建无法在上述阈值内完成时,先停止并改用定向 lint、类型检查、按模块构建或按测试文件验证。如仍必须进行全量验收,应明确报告资源瓶颈,交由 CI/专用构建机或经用户明确同意的独占时段执行,禁止在用户正在使用的 VS Code 会话里硬跑。
|
|
@@ -157,6 +157,14 @@ AI 新增或修改 Microi 配置文件时,凡是面向开发者、部署人员
|
|
|
157
157
|
- 如果配置面向海外交付,才可以在中文说明后补充英文括注;不要整段只写英文。
|
|
158
158
|
- 修改配置说明后,必须确认 JSON/YAML 仍可解析,不能因为中文标点或注释方式导致配置文件失效。
|
|
159
159
|
|
|
160
|
+
## 后端 API 配置白名单与 SaaS 单一事实源(强制)
|
|
161
|
+
|
|
162
|
+
- `Microi.net.Api` 的 `AppSettings` 与同名容器环境变量只允许:`OsClient`、`OsClientType`、`OsClientNetwork`、`OsClientDbType`、`OsClientDbConn`、`OsClientRedisHost`、`OsClientRedisPort`、`OsClientRedisPwd`、`OsClientRedisDataBase`、`OsClientDbMongoConn`。
|
|
163
|
+
- 除上述十项外,任何业务开关、重试、超时、限额、安全策略、密钥或可执行文件路径通常都必须进入 SaaS 引擎 `sys_osclients` 的合适 Tab,并提供幂等升级、默认值、缓存刷新、敏感字段脱敏和子租户隔离。官方 License 信任链是固定例外:恢复重试次数/间隔使用代码常量,签发私钥固定只读挂载 `/app/microi_private.pem`,不得建立对应 SaaS 字段。禁止新增 `MICROI_*`、`DOS_ORM_*`、额外 `AppSettings` 节点或通用动态环境变量读取。
|
|
164
|
+
- `ASPNETCORE_*`、`DOTNET_*` 是框架宿主配置;`PW_*`、MCP、构建、安装器和发布脚本变量只服务各自工具进程。它们不能成为生产 API 的业务配置入口。
|
|
165
|
+
- 修改后必须用源码测试扫描生产 `.cs`、API `appsettings.json` 及在线/离线 Compose,精确断言十项白名单。不能用注释约定代替自动化守卫。
|
|
166
|
+
- 一键安装恢复客户旧库时只允许定位精确主租户三元组;缺失则幂等创建,重复则停止,不能批量重写其它子租户。新主租户行不得持久化数据库、MongoDB 或 Redis 连接,安装器对 MinIO/OCR 等业务配置的后续更新也必须带同一三元组、活动状态条件并做唯一回读。
|
|
167
|
+
|
|
160
168
|
## 多语言优先约定
|
|
161
169
|
|
|
162
170
|
Microi 平台默认支持多语言。AI 修改 `Microi.Client`、`Microi.Server`、`Microi-V8-Engine`、MCP 建模数据、菜单按钮、接口引擎或表单 V8 事件时,凡是用户可见文字都必须先考虑多语言,不要把中文提示、按钮名、Tab 名、菜单名、字段名、Toast/Msg 等硬写死后结束任务。
|
|
@@ -317,29 +325,13 @@ AI 在本地启动后端、跑 Playwright、做登录态页面截图或调用需
|
|
|
317
325
|
|
|
318
326
|
1. 读取 `Microi.Server/Microi.net.Api/.microi-local`,得到当前环境名,例如 `<Environment>`。
|
|
319
327
|
2. 读取 `Microi.Server/Microi.net.Api/appsettings.<Environment>.json`,或测试脚本传入的 `PW_APPSETTINGS_PATH`。
|
|
320
|
-
3.
|
|
321
|
-
4.
|
|
322
|
-
5.
|
|
323
|
-
|
|
324
|
-
##
|
|
325
|
-
|
|
326
|
-
当本地 E2E/API 自动化需要对多个租户免验证码登录时,在当前生效的 `appsettings.{Environment}.json` 中配置 `DevLoginBypass:Accounts`:
|
|
327
|
-
|
|
328
|
-
```json
|
|
329
|
-
"DevLoginBypass": {
|
|
330
|
-
"Enabled": true,
|
|
331
|
-
"SkipCaptcha": true,
|
|
332
|
-
"OnlyLoopback": true,
|
|
333
|
-
"DefaultAccount": "admin",
|
|
334
|
-
"DefaultPassword": "<default-password>",
|
|
335
|
-
"Accounts": [
|
|
336
|
-
{ "OsClient": "<tenant-a>", "Account": "<account>", "Password": "<password>" },
|
|
337
|
-
{ "OsClient": "<tenant-b>", "Account": "<account>", "Password": "<password>" }
|
|
338
|
-
]
|
|
339
|
-
}
|
|
340
|
-
```
|
|
328
|
+
3. 测试账号密码只从用户本轮明确提供、受保护的测试进程变量 `PW_TEST_ACCOUNT` / `PW_TEST_PASSWORD`、CI Secret 或既有安全登录态取得;不得把凭据写入 `appsettings.*.json`、源码或测试报告。
|
|
329
|
+
4. `MICROI_OSCLIENT`、`PW_OS_CLIENT` 等只属于自动化工具进程,不是 API 生产环境变量;显式设置时可用于选择测试租户。
|
|
330
|
+
5. `.microi-local`、Token、数据库连接串、Redis 密码和测试凭据都视为本地敏感配置。最终回复、日志摘要和测试报告中不得输出真实值,只能写 `<redacted>`、`本地配置账号` 或 `本地配置凭据`。
|
|
331
|
+
|
|
332
|
+
## 自动化登录约定
|
|
341
333
|
|
|
342
|
-
|
|
334
|
+
本地和远端 E2E 统一传真实 `Account` / `Pwd`。需要跳过图形验证码时,只能在目标租户 `sys_config.AutoTestSkipCaptcha=true` 后传 `_AutomationTestLogin=true`;它只跳过验证码,绝不能绕过密码校验。禁止恢复 `DevLoginBypass`、`X-Microi-Dev-Key`、`_DEV_BYPASS_` 或让脚本自动改写后端 `appsettings`。测试完成后不持久化账号密码。
|
|
343
335
|
|
|
344
336
|
## V8 远端/本地同步收尾约定
|
|
345
337
|
|