@microi.net/cli 4.6.2

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 (112) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +66 -0
  3. package/dist/mcp-codex-stdio-adapter.js +189 -0
  4. package/dist/mcp-server.js +972 -0
  5. package/dist/mcp-trae-windows-launcher.cmd +21 -0
  6. package/dist/microi-cli-mcp.js +7 -0
  7. package/dist/microi-cli.js +1645 -0
  8. package/dist/microi-skills.meta.json +335 -0
  9. package/dist/microi.skills/.microi-skills-version.json +6 -0
  10. package/dist/microi.skills/README.md +276 -0
  11. package/dist/microi.skills/ai-engine/SKILL.md +140 -0
  12. package/dist/microi.skills/ai-engine/agents/openai.yaml +4 -0
  13. package/dist/microi.skills/app-store/SKILL.md +105 -0
  14. package/dist/microi.skills/app-store/agents/openai.yaml +4 -0
  15. package/dist/microi.skills/business-blueprint/SKILL.md +184 -0
  16. package/dist/microi.skills/datasource-engine/SKILL.md +89 -0
  17. package/dist/microi.skills/datasource-engine/agents/openai.yaml +4 -0
  18. package/dist/microi.skills/dos-orm/SKILL.md +76 -0
  19. package/dist/microi.skills/dos-orm/references/api-reference.md +229 -0
  20. package/dist/microi.skills/job-engine/SKILL.md +141 -0
  21. package/dist/microi.skills/job-engine/agents/openai.yaml +4 -0
  22. package/dist/microi.skills/message-notification/SKILL.md +113 -0
  23. package/dist/microi.skills/message-notification/agents/openai.yaml +6 -0
  24. package/dist/microi.skills/message-notification/references/contracts.md +99 -0
  25. package/dist/microi.skills/microi-ai-app-auth.js +651 -0
  26. package/dist/microi.skills/microi-ai-application/SKILL.md +80 -0
  27. package/dist/microi.skills/microi-ai-application/agents/openai.yaml +4 -0
  28. package/dist/microi.skills/microi-ai-application/references/frontend-baseline.md +164 -0
  29. package/dist/microi.skills/microi-client-frontend/SKILL.md +562 -0
  30. package/dist/microi.skills/microi-datasource-mapping/SKILL.md +108 -0
  31. package/dist/microi.skills/microi-db-schema/SKILL.md +170 -0
  32. package/dist/microi.skills/microi-db-schema/agents/openai.yaml +4 -0
  33. package/dist/microi.skills/microi-db-schema/references/core-tables.md +695 -0
  34. package/dist/microi.skills/microi-db-schema/references/form-component-options.md +256 -0
  35. package/dist/microi.skills/microi-db-schema/references/schema-overview.md +203 -0
  36. package/dist/microi.skills/microi-db-schema/references/schema.md +647 -0
  37. package/dist/microi.skills/microi-db-schema/references/table-catalog.md +1607 -0
  38. package/dist/microi.skills/microi-deployment/SKILL.md +117 -0
  39. package/dist/microi.skills/microi-deployment/references/deployment-matrix.md +94 -0
  40. package/dist/microi.skills/microi-docs-coverage/SKILL.md +91 -0
  41. package/dist/microi.skills/microi-docs-coverage/references/capability-map.md +65 -0
  42. package/dist/microi.skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +887 -0
  43. package/dist/microi.skills/microi-form-engine/SKILL.md +159 -0
  44. package/dist/microi.skills/microi-form-engine/references/component-catalog.md +116 -0
  45. package/dist/microi.skills/microi-form-engine/references/data-source-events.md +117 -0
  46. package/dist/microi.skills/microi-form-layout/SKILL.md +373 -0
  47. package/dist/microi.skills/microi-frontend-sdk/SKILL.md +304 -0
  48. package/dist/microi.skills/microi-left-right-layout/SKILL.md +132 -0
  49. package/dist/microi.skills/microi-microservice/SKILL.md +115 -0
  50. package/dist/microi.skills/microi-microservice/references/runtime-delivery.md +145 -0
  51. package/dist/microi.skills/microi-mobile-app-quality/SKILL.md +436 -0
  52. package/dist/microi.skills/microi-solution-quotation/SKILL.md +76 -0
  53. package/dist/microi.skills/microi-solution-quotation/agents/openai.yaml +4 -0
  54. package/dist/microi.skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -0
  55. package/dist/microi.skills/microi-system-delivery/SKILL.md +446 -0
  56. package/dist/microi.skills/microi-ui/SKILL.md +321 -0
  57. package/dist/microi.skills/microi-uniapp-frontend/SKILL.md +483 -0
  58. package/dist/microi.skills/microi.v8.js +1758 -0
  59. package/dist/microi.skills/module-engine/SKILL.md +131 -0
  60. package/dist/microi.skills/module-engine/references/module-config.md +174 -0
  61. package/dist/microi.skills/page-engine/SKILL.md +397 -0
  62. package/dist/microi.skills/performance-testing/SKILL.md +207 -0
  63. package/dist/microi.skills/playwright-e2e/SKILL.md +769 -0
  64. package/dist/microi.skills/print-engine/SKILL.md +237 -0
  65. package/dist/microi.skills/production-readonly-audit/SKILL.md +39 -0
  66. package/dist/microi.skills/report-engine/SKILL.md +69 -0
  67. package/dist/microi.skills/report-engine/agents/openai.yaml +4 -0
  68. package/dist/microi.skills/search-engine/SKILL.md +73 -0
  69. package/dist/microi.skills/search-engine/agents/openai.yaml +4 -0
  70. package/dist/microi.skills/spider-engine/SKILL.md +188 -0
  71. package/dist/microi.skills/translate-engine/SKILL.md +91 -0
  72. package/dist/microi.skills/translate-engine/agents/openai.yaml +4 -0
  73. package/dist/microi.skills/ui-design/SKILL.md +1575 -0
  74. package/dist/microi.skills/ui-design/assets/pattern-showcase/app.js +54 -0
  75. package/dist/microi.skills/ui-design/assets/pattern-showcase/index.html +163 -0
  76. package/dist/microi.skills/ui-design/assets/pattern-showcase/styles.css +311 -0
  77. package/dist/microi.skills/ui-design/assets/templates/MCI-DESIGN.md +98 -0
  78. package/dist/microi.skills/ui-design/references/design-pattern-library.md +171 -0
  79. package/dist/microi.skills/ui-design/references/mci-design-contract.md +84 -0
  80. package/dist/microi.skills/ui-design/references/motion-and-media.md +71 -0
  81. package/dist/microi.skills/ui-design/references/product-flow-recipes.md +94 -0
  82. package/dist/microi.skills/uniapp-mall-assets/SKILL.md +105 -0
  83. package/dist/microi.skills/v8-api-config/SKILL.md +272 -0
  84. package/dist/microi.skills/v8-cache-pattern/SKILL.md +286 -0
  85. package/dist/microi.skills/v8-crud-api/SKILL.md +398 -0
  86. package/dist/microi.skills/v8-debugging/SKILL.md +279 -0
  87. package/dist/microi.skills/v8-explorer-tree/SKILL.md +224 -0
  88. package/dist/microi.skills/v8-export-import/SKILL.md +590 -0
  89. package/dist/microi.skills/v8-file-upload/SKILL.md +497 -0
  90. package/dist/microi.skills/v8-formengine-http/SKILL.md +218 -0
  91. package/dist/microi.skills/v8-frontend-events/SKILL.md +349 -0
  92. package/dist/microi.skills/v8-frontend-events/references/bluetooth-print-api.md +107 -0
  93. package/dist/microi.skills/v8-frontend-events/references/bluetooth-print.md +185 -0
  94. package/dist/microi.skills/v8-http-integration/SKILL.md +379 -0
  95. package/dist/microi.skills/v8-image-processing/SKILL.md +187 -0
  96. package/dist/microi.skills/v8-image-processing/agents/openai.yaml +4 -0
  97. package/dist/microi.skills/v8-image-processing/references/api-reference.md +620 -0
  98. package/dist/microi.skills/v8-menu-buttons/SKILL.md +661 -0
  99. package/dist/microi.skills/v8-mongodb/SKILL.md +149 -0
  100. package/dist/microi.skills/v8-mq-mqtt/SKILL.md +227 -0
  101. package/dist/microi.skills/v8-saas-multi-tenant/SKILL.md +193 -0
  102. package/dist/microi.skills/v8-security/SKILL.md +417 -0
  103. package/dist/microi.skills/v8-sql-query/SKILL.md +290 -0
  104. package/dist/microi.skills/v8-table-event/SKILL.md +385 -0
  105. package/dist/microi.skills/v8-template-engine/SKILL.md +165 -0
  106. package/dist/microi.skills/v8-utilities/SKILL.md +79 -0
  107. package/dist/microi.skills/v8-utilities/references/client-api-index.md +136 -0
  108. package/dist/microi.skills/v8-utilities/references/platform-http-routes.md +80 -0
  109. package/dist/microi.skills/v8-utilities/references/server-api-index.md +129 -0
  110. package/dist/microi.skills/v8-workflow/SKILL.md +322 -0
  111. package/dist/microi.skills/workspace-conventions/SKILL.md +479 -0
  112. package/package.json +40 -0
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: translate-engine
3
+ description: Microi 翻译引擎与多语言词条规范。用于 V8.TranslateEngine.Translate、GetLang、GetLangData、语言码、供应商配置、租户隔离、缓存、批量翻译和验收。
4
+ ---
5
+
6
+ # Microi TranslateEngine
7
+
8
+ ## API
9
+
10
+ ```js
11
+ var r1 = V8.TranslateEngine.Translate('你好', 'en');
12
+ var r2 = V8.TranslateEngine.Translate('hello', 'cn', 'en');
13
+ var text = V8.TranslateEngine.GetLang('NoAuth', 'cn');
14
+ var item = V8.TranslateEngine.GetLangData('NoAuth');
15
+ var code = V8.TranslateEngine.GetLangCode('NoAuth');
16
+ ```
17
+
18
+ `Translate` 返回 `DosResult`,不要把结果对象当字符串;先检查 `Code`,再读取 `Data`。`GetLang` 返回词条文本。
19
+
20
+ ## 租户与密钥
21
+
22
+ - V8 调用统一绑定当前 `V8TenantContext`。普通租户传其它 `OsClient` 不会跨租户翻译或读取配置。
23
+ - Provider、Endpoint、Key、Secret、ApiKey 等只保存在服务端租户配置;不得进入前端 `SysConfig`、日志、错误响应或业务表。
24
+ - 主租户显式跨租户只允许可信控制面 C# 调用,不由 HTTP 参数建立信任。
25
+
26
+ ## 词条优先
27
+
28
+ 界面固定文案优先维护 `diy_lang` 词条,不要每次调用第三方翻译。Key 使用稳定英文标识,中文、英文等语言值统一回读。缺失词条应返回可诊断 fallback,而不是把密钥或供应商错误展示给用户。
29
+
30
+ ## 动态翻译
31
+
32
+ - 校验源语言和目标语言白名单。
33
+ - 限制单条长度、批量条数、总字符数和超时。
34
+ - 用户隐私、合同、身份证、Token、密码和内部提示词不应发送到未批准的第三方供应商。
35
+ - 缓存 Key 包含 `OsClient + Provider + From + To + 文本哈希`;不要把原文直接作为 Redis Key 或日志。
36
+ - 供应商限流/失败使用有上限重试和熔断;不要无限重试阻塞 V8。
37
+
38
+ ## LibreTranslate 自托管
39
+
40
+ LibreTranslate 是可选动态翻译供应商,不是 `diy_lang` 的替代品。一键安装默认不部署;只有用户明确选择时才生成编排、随机 API Key 和语言模型清单。语言预设为:
41
+
42
+ 1. `zh,zt,en`;
43
+ 2. 预设 1 加 `ja,ko,vi,th,id,ms,tl`;
44
+ 3. 安装脚本列出的全部语言。
45
+
46
+ 用户可追加经过白名单校验的语言 Key。语言越多,首次模型下载越慢;一键安装不得等待模型下载或 HTTP 就绪。应先用同版本镜像独立初始化持久化 `api_keys.db`、写入并回读随机 API Key,再启动正式容器并确认其进入运行状态,让语言模型在容器中继续初始化,不阻塞吾码主体安装。
47
+
48
+ 服务端统一从 SaaS 引擎租户配置读取 `TranslateProvider`、`TranslateUrl`(兼容 `TranslateApiUrl` / `LibreTranslateUrl`)、`TranslateApiKey`(兼容 `TranslateKey`)和 `TranslateTimeout`;不要再为翻译供应商增加 API 容器环境变量。密钥不得进入前端、日志或文档示例的固定默认值。
49
+
50
+ 一键安装在 API Key 数据库预初始化成功、正式容器进入运行状态后,必须把当前 `OsClient` 的 `TranslateProvider=LibreTranslate`、局域网基础地址 `TranslateUrl`、匹配的 `TranslateApiKey` 和超时写入 `sys_osclients`,并立即回读一致性;任一步失败都应终止安装。日志只显示 Provider 与 URL,禁止输出密钥。模型尚未完成时翻译能力可以暂时不可用,但不得拖住其它服务的安装。
51
+
52
+ 独立编排应使用 ASCII 目录和显式项目名 `docker compose -p microi-libretranslate`;只供平台 API 调用时,不默认开放 LibreTranslate 宿主机防火墙端口。需要公网调用时必须由运维显式配置 TLS、反向代理、访问控制、限流和强 API Key。
53
+
54
+ ## 批量与后台任务
55
+
56
+ 大量内容翻译使用 Job/MQ/outbox。每条记录保存源文本版本与目标语言,只有源版本未变化时写回结果;事件用稳定 Id 幂等。后端 `setTimeout/Task.Run` 不是可靠后台任务。
57
+
58
+ ## 配置与缓存更新
59
+
60
+ 词条或供应商配置修改后:
61
+
62
+ 1. 回读当前租户配置或 `diy_lang`。
63
+ 2. 递增共享配置版本/清理租户缓存。
64
+ 3. 在另一个 API 节点验证新值,无需重启。
65
+ 4. 确认旧请求失败不会覆盖新翻译。
66
+
67
+ ## 验收清单
68
+
69
+ - [ ] `Translate` 的 `DosResult` 契约处理正确
70
+ - [ ] 词条优先,动态翻译只用于动态内容
71
+ - [ ] 普通租户无法伪造 `OsClient`
72
+ - [ ] 密钥、原始隐私文本和供应商堆栈不泄露
73
+ - [ ] 长度、批量、超时、限流和费用上限生效
74
+ - [ ] LibreTranslate 未选择时不部署;选择后 API Key 数据库预初始化成功且正式容器已启动
75
+ - [ ] LibreTranslate 内部端口未被安装脚本默认加入防火墙放行列表
76
+ - [ ] 缓存按租户/供应商/语言隔离
77
+ - [ ] 多节点配置失效与批量幂等通过
78
+
79
+ ### 复盘:模型下载期间健康检查误报成功导致 API Key 注册失败
80
+
81
+ - 触发场景:一键安装日志仍显示 `Updating Language models` / `Downloading ...`,脚本却已经进入 API Key 注册并报失败。
82
+ - 根因:LibreTranslate 1.9.6 的 `scripts/healthcheck.py` 在 `/tmp/booting.flag` 存在时直接返回成功;这只表示容器仍处于受支持的启动阶段,不表示 HTTP 服务或 `api_keys.db` 已就绪。
83
+ - 通用规则:不能把自带 healthcheck 当作模型和 HTTP 已就绪证明,也不能因此在一键安装中持续等待。安装器应在正式容器启动前独立创建并验证 API Key 数据库,容器启动只证明服务已安装;真实翻译可用性由运行期健康检查体现。
84
+ - 自动化检查:用同版本镜像在不执行入口脚本、不下载模型的条件下创建临时 `api_keys.db`,回读 Key 后启动正式容器;断言安装脚本不存在模型等待循环,随后清理隔离容器与卷。
85
+
86
+ ### 复盘:首次语言模型下载阻塞整套一键安装
87
+
88
+ - 触发场景:国内服务器下载 LibreTranslate 语言模型极慢或网络不可达,一键安装每 30 秒输出一次等待状态,直到 3600 秒后失败,导致吾码其它服务无法继续安装。
89
+ - 根因:安装脚本把“翻译服务容器已安装”与“全部语言模型和 HTTP 已可用”绑定成同一个同步完成条件,并把 API Key 数据库初始化放在模型下载之后。
90
+ - 通用规则:API Key 数据库必须由同版本镜像在启动正式服务前预初始化并持久化;Compose 启动成功且容器进入运行状态后立即继续吾码安装。语言模型初始化属于服务自身后台过程,不得设置为主体安装的同步门禁,也不得循环输出累计等待秒数。
91
+ - 自动化检查:静态断言脚本没有模型等待、3600 秒超时及真实翻译同步烟测;隔离运行密钥初始化命令,验证数据库非空、随机 Key 可回读且终端不输出 Key,再验证正式容器能够使用同一持久卷启动。
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "翻译引擎"
3
+ short_description: "管理多语言词条、租户翻译配置、缓存、批量翻译与隐私验收"
4
+ default_prompt: "使用 $translate-engine 设计并验收当前 Microi 翻译能力。"