@microi.net/cli 4.6.4 → 4.6.8

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.
Files changed (39) hide show
  1. package/dist/mcp-server.js +98 -92
  2. package/dist/microi-cli.js +177 -26
  3. package/dist/microi-skills.meta.json +148 -142
  4. package/dist/microi.skills/.microi-skills-version.json +2 -2
  5. package/dist/microi.skills/README.md +3 -2
  6. package/dist/microi.skills/ai-engine/SKILL.md +38 -11
  7. package/dist/microi.skills/app-store/SKILL.md +134 -104
  8. package/dist/microi.skills/microi-ai-application/SKILL.md +8 -0
  9. package/dist/microi.skills/microi-client-frontend/SKILL.md +413 -398
  10. package/dist/microi.skills/microi-db-schema/SKILL.md +165 -165
  11. package/dist/microi.skills/microi-deployment/SKILL.md +29 -3
  12. package/dist/microi.skills/microi-docs-coverage/references/capability-map.md +4 -3
  13. package/dist/microi.skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +10 -3
  14. package/dist/microi.skills/microi-form-engine/SKILL.md +165 -165
  15. package/dist/microi.skills/microi-microservice/SKILL.md +24 -0
  16. package/dist/microi.skills/microi-system-delivery/SKILL.md +207 -200
  17. package/dist/microi.skills/microi-ui/SKILL.md +330 -330
  18. package/dist/microi.skills/microi.v8.js +1818 -1758
  19. package/dist/microi.skills/ocr-engine/SKILL.md +111 -0
  20. package/dist/microi.skills/ocr-engine/agents/openai.yaml +4 -0
  21. package/dist/microi.skills/page-engine/SKILL.md +2 -0
  22. package/dist/microi.skills/performance-testing/SKILL.md +2 -2
  23. package/dist/microi.skills/playwright-e2e/SKILL.md +14 -40
  24. package/dist/microi.skills/print-engine/SKILL.md +9 -3
  25. package/dist/microi.skills/report-engine/SKILL.md +1 -1
  26. package/dist/microi.skills/translate-engine/SKILL.md +47 -5
  27. package/dist/microi.skills/ui-design/SKILL.md +1596 -1596
  28. package/dist/microi.skills/ui-design/assets/templates/MCI-DESIGN.md +199 -199
  29. package/dist/microi.skills/ui-design/references/design-pattern-library.md +184 -184
  30. package/dist/microi.skills/ui-design/references/mci-design-contract.md +163 -163
  31. package/dist/microi.skills/v8-file-upload/SKILL.md +8 -0
  32. package/dist/microi.skills/v8-frontend-events/SKILL.md +4 -1
  33. package/dist/microi.skills/v8-frontend-events/references/bluetooth-print.md +28 -22
  34. package/dist/microi.skills/v8-http-integration/SKILL.md +22 -1
  35. package/dist/microi.skills/v8-saas-multi-tenant/SKILL.md +2 -1
  36. package/dist/microi.skills/v8-security/SKILL.md +7 -6
  37. package/dist/microi.skills/v8-utilities/references/server-api-index.md +1 -0
  38. package/dist/microi.skills/workspace-conventions/SKILL.md +15 -23
  39. 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
- - 启动重任务时仍以保留至少 `max(6 GB, 物理内存的 20%)` VS Code、Codex 和操作系统为规划目标;低于该目标时应停止新增并发重任务、优先降级为定向验证,但不再把它作为强制终止已启动任务的硬门限。机器总内存占用达到 95% 时,立即终止 AI 启动的重任务及其子进程,不得等待 OOM。
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. `DevLoginBypass.Accounts` 中按 `OsClient` 匹配账号密码;没有匹配时使用 `DevLoginBypass.DefaultAccount` / `DefaultPassword`。
321
- 4. 如果环境变量 `MICROI_OSCLIENT`、`PW_OS_CLIENT`、`PW_TEST_ACCOUNT`、`PW_TEST_PASSWORD` 已显式设置,以环境变量为准。
322
- 5. `appsettings.*.json`、`.microi-local`、Token、数据库连接串、Redis 密码都视为本地敏感配置。可以读取并用于自动化,但最终回复、日志摘要和测试报告中不得输出真实值,只能写 `<redacted>`、`本地配置账号` 或 `本地配置凭据`。
323
-
324
- ## DevLoginBypass 多租户约定
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
- 本地旁路配置必须保留 `OnlyLoopback=true`,并且只允许在 `ASPNETCORE_ENVIRONMENT/DOTNET_ENVIRONMENT=Development` 且请求来自本机回环地址时生效。自动化脚本可传 `_AutomationTestLogin=true` 或本地 Dev Key 来跳过验证码,但任何方式都不能跳过密码校验;`Pwd="_DEV_BYPASS_"` 只能在本机 DevLoginBypass 下替换为本地配置密码后继续走真实密码校验。远端自动化若要免验证码,必须先在 `sys_config.AutoTestSkipCaptcha`(中文 Label:允许自动化测试登录时绕开验证码)开启开关,再传 `_AutomationTestLogin=true`,仍使用真实账号密码。不要把具体项目租户名或密码写进 skill;真实值只放环境配置文件。
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microi.net/cli",
3
- "version": "4.6.4",
3
+ "version": "4.6.8",
4
4
  "description": "Microi吾码 AI 开发命令行:服务器连接、登录、AI/MCP 初始化与 V8 资源同步",
5
5
  "license": "MIT",
6
6
  "homepage": "https://microi.net/doc/v8-engine/vs-code-plugin.html",