@microi.net/cli 5.9.3 → 5.9.5

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 (56) hide show
  1. package/.codebuddy-plugin/marketplace.json +2 -2
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/.workbuddy-plugin/marketplace.json +2 -2
  5. package/.workbuddy-plugin/plugin.json +1 -1
  6. package/assets/build-meta.json +4 -4
  7. package/cordis.patch.yml +1 -1
  8. package/package.json +1 -1
  9. package/scripts/mcp-server.js +81 -81
  10. package/scripts/microi-skills.meta.json +243 -243
  11. package/skills/.microi-skills-version.json +2 -2
  12. package/skills/.progressive-disclosure-manifest.json +42 -33
  13. package/skills/ai-engine/agents/openai.yaml +4 -4
  14. package/skills/app-store/agents/openai.yaml +4 -4
  15. package/skills/datasource-engine/agents/openai.yaml +4 -4
  16. package/skills/job-engine/agents/openai.yaml +4 -4
  17. package/skills/message-notification/agents/openai.yaml +5 -5
  18. package/skills/microi-ai-app-auth.js +652 -652
  19. package/skills/microi-ai-application/agents/openai.yaml +4 -4
  20. package/skills/microi-codex/SKILL.md +11 -6
  21. package/skills/microi-codex-installer/agents/openai.yaml +7 -7
  22. package/skills/microi-db-schema/agents/openai.yaml +4 -4
  23. package/skills/microi-deployment/SKILL.md +6 -4
  24. package/skills/microi-docs-coverage/references/capability-map.md +1 -1
  25. package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
  26. package/skills/microi-microservice/SKILL.md +11 -4
  27. package/skills/microi-microservice/references/runtime-delivery.md +9 -5
  28. package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
  29. package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
  30. package/skills/microi-system-delivery/SKILL.md +2 -2
  31. package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +3 -1
  32. package/skills/microi-uniapp-frontend/SKILL.md +3 -1
  33. package/skills/microi.v8.js +1921 -1921
  34. package/skills/ocr-engine/agents/openai.yaml +4 -4
  35. package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
  36. package/skills/playwright-e2e/SKILL.md +5 -4
  37. package/skills/report-engine/agents/openai.yaml +4 -4
  38. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
  39. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
  40. package/skills/scripts/sync-embedded-skills.mjs +46 -46
  41. package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
  42. package/skills/search-engine/agents/openai.yaml +4 -4
  43. package/skills/translate-engine/agents/openai.yaml +4 -4
  44. package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
  45. package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
  46. package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
  47. package/skills/unity-integration/agents/openai.yaml +4 -4
  48. package/skills/v8-file-upload/SKILL.md +2 -0
  49. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  50. package/skills/v8-mongodb/SKILL.md +2 -1
  51. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  52. package/skills/v8-security/SKILL.md +6 -0
  53. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  54. package/skills/vision-engine/agents/openai.yaml +4 -4
  55. package/skills/workspace-conventions/SKILL.md +4 -3
  56. package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +13 -0
@@ -44,7 +44,7 @@ description: Microi 前端微服务 MicroService 开发与交付指南。用于
44
44
  - `sys_microiservice`:已发布运行时。
45
45
  - `sys_microiservice_page`:页面路由。
46
46
  - 编译后的 HTML/JS/CSS/图片放公有 HDFS,源码不公开。
47
- - 官方应用的独立体验入口统一为 `https://static.itdos.com/{OsClient小写}/micro-app/{AppKey}/index.html`,公有桶固定根承载最新版编译文件、`/{Version}/` 承载不可变历史编译文件;私有桶采用相同相对目录承载对应源码文件。宿主内部的 `/micro-app/{AppKey}/{RoutePath}` 是菜单路由,不是对外 CDN 体验地址。发布后核对 CDN 刷新完成、入口及资源可访问、业务 API 仍指向目标租户。
47
+ - 官方应用的独立体验入口统一为 `https://static.itdos.com/{OsClient小写}/micro-app/{AppKey}/index.html`,公有桶固定根承载最新版编译文件、`/{Version}/` 承载不可变历史编译文件;私有桶采用相同相对目录承载对应源码文件。宿主内部的新菜单路由统一为 `/micro-app/{OsClient}/{AppKey}/{RoutePath}`,历史 `/micro-app/{AppKey}/{RoutePath}` 继续兼容;菜单路由与对外 CDN 体验地址分别验收。发布后核对 CDN 刷新完成、入口及资源可访问、业务 API 仍指向目标租户。
48
48
 
49
49
  不能从 `sys_microiservice` 公有产物反推完整源码,也不把大 JS/CSS 长期塞数据库 JSON。
50
50
 
@@ -83,7 +83,7 @@ AppKey 稳定且只含安全字符。`microi.routes.json` 是页面事实源,
83
83
  `window.__MICROI_RUNTIME_ENDPOINT__`;旧版回退读取页面全局、同源缓存和域名解析,禁止猜
84
84
  ApiBase/OsClient。
85
85
  - 在新的独立 context 打开
86
- `http://localhost:61500/?OsClient=<encoded>&ApiBase=<encoded>#/micro-app/{MsKey}/{RoutePath}`。
86
+ `http://localhost:61500/?OsClient=<encoded>&ApiBase=<encoded>#/micro-app/{OsClient}/{MsKey}/{RoutePath}`。
87
87
  两个 URL 参数是当前页面最高优先级;初始化后回读同一个运行时对象确认命中目标。
88
88
  - 同源普通窗口共享 Token、CurrentUser、ApiBase、OsClient。并行不同目标必须一组目标一个
89
89
  Playwright `browser.newContext()` 或独立浏览器 Profile;多个无痕窗口不保证彼此隔离。
@@ -122,6 +122,7 @@ AppKey 稳定且只含安全字符。`microi.routes.json` 是页面事实源,
122
122
  - 创建/更新元数据:`microi_create_microservice`。
123
123
  - 同步私有源码:`microi_sync_microservice_source`;本地工程必须优先传 `directory`,不构造 Base64 文件数组。
124
124
  - 真实编译目录优先 `microi_publish_application_directory_stream` 流式发布。
125
+ - v3 提示 `mci_app_stream_gate_transition` 或发布门禁列/索引缺失时,先更新目标租户的应用商城责任包,并通过现有“升级租户数据库”入口核验责任包安装;安装完成后回读物理门禁结构及唯一索引,再重新盘点发布基线。不执行已退役 Upgrade25,不手动 reset 锁、fence、Storage 或 active/committed 指针;缺少结构与真正 CAS 漂移分别诊断。
125
126
  - `changeSummary` 是最多 2000 字符的版本说明文本,不能传对象;v3 在首次 stage 创建版本时存入 `mci_ai_app_version.ChangeSummary`,后续同请求重放和恢复保留原说明。历史节点若发布完成但摘要仍为空,应报告后端版本缺口,不得把编译文件验证成功等同于日志验收通过。
126
127
  - 每次创建、修改、升级或重新发布微服务,必须先为目标精确 `AppVersion` 在 `sys_microistore_changelog` 写入完整日志,再同步源码、stage、finalize 或制作商城包。日志必须关联真实 `StoreId`,包含 `Title / ChangeType / Content / ReleaseTime`;流式发布显式传入与日志含义一致的非空 `changeSummary`。发布后同时回读商城日志、`mci_ai_app_version.ChangeSummary` 与包内 `PackageInfo.ChangeLog`;缺失或版本不一致必须失败关闭。
127
128
  - 发布动作必须明确区分两种模式:默认“源码+编译产物”先把完整工程同步到私有桶并逐文件回读 SHA-256,再把 `dist` 流式发布到公有桶;显式“仅编译产物”只更新公有桶,必须在界面中告知其他用户仍会拉取上一次私有源码,禁止暗示源码已同步。
@@ -140,6 +141,7 @@ AppKey 稳定且只含安全字符。`microi.routes.json` 是页面事实源,
140
141
  - 服务器暂未部署修复且普通应用产物很小时,可把 `StorageMode=db` 与内联 `ContentBase64` 作为短期恢复手段;必须明确记录为临时方案。修复部署后重新流式发布到公有 HDFS,并恢复 `StorageMode=file`。只有上一条满足严格资源策略的受信任平台启动应用允许长期保留小型数据库产物;禁止借此把普通或大体积 JS/CSS 长期放进数据库 JSON。
141
142
  - 子租户发布时,源码、版本资产、回读验签、页面与缓存全部绑定当前 Token 的 `OsClient`;禁止回退到主租户或宿主服务器默认租户。切换前必须由当前 API 节点通过该子租户 HDFS 配置读回每个版本文件并校验大小/SHA-256。
142
143
  - CDN 同一不可变对象返回 200 而 API 稳定入口返回 404 时,先检查 API 读取到的当前租户 `FileServer`(含公有桶路径)和已提交 `ReleasePrefix`,不能把默认域名回退当作恢复。配置读取必须将 dynamic 数据显式转为 object/JObject,再调用扩展方法;缺失或无效配置失败关闭。
144
+ - `microi-platform-service` 等受信任 DatabaseOnly 平台包以 `sys_microiservice.StorageMode=db / MsUrl=db` 和内联已验签字节为运行事实。安装后的 `PublicPublishPath=micro-app/{AppKey}/{Version}` 可以没有租户前缀;不能仅凭该字段补前缀或强改为 file。普通 file 应用则核对每项 HdfsPath/FilePathName、当前租户 FileServer 与真实对象。
143
145
  - HTML/JS/CSS 被对象存储标为 `application/octet-stream` 时,文件字节可能完全正确。新上传统一设置对象 MIME;运行网关只对已提交资产的空/二进制通用标签按文件路径归一,保留类型兼容、HTML 完整性、大小、哈希及 `nosniff`。需更新全部 API 节点;旧对象的 CDN 直接入口另需修正元数据或正常发布新版本,不能把 API 兼容称为 CDN 已修复。
144
146
 
145
147
  ### 宿主路由查询参数
@@ -157,7 +159,7 @@ AppKey 稳定且只含安全字符。`microi.routes.json` 是页面事实源,
157
159
 
158
160
  ### 独立、菜单、弹层与表单嵌入四种入口
159
161
 
160
- - 同一发布物必须支持:直接打开独立运行、`sys_menu` 使用 `/micro-app/{AppKey}/{RoutePath}` 打开指定路由、`V8.OpenAppDialog` 按 AppKey/RoutePath 以 Dialog 或 Drawer 打开、表单 `DevComponent` 按组件路径别名嵌入指定 RoutePath。
162
+ - 同一发布物必须支持:直接打开独立运行、`sys_menu` 使用 `/micro-app/{OsClient}/{AppKey}/{RoutePath}` 打开指定路由、`V8.OpenAppDialog` 按 AppKey/RoutePath 以 Dialog 或 Drawer 打开、表单 `DevComponent` 按组件路径别名嵌入指定 RoutePath。
161
163
  - 表单嵌入时,在 `microi.routes.json` 的目标页面声明稳定、唯一的 `LegacyComponentPaths`;字段 `Config.DevComponentPath` 与其归一化后匹配。主前端存在同路径 Vue 文件时本地组件优先;不存在时 `DynamicComponentCache` 才交给 MicroService 组件宿主。新项目使用不与 `/src/views` 真实文件冲突的虚拟路径,历史字段无需逐租户改配置。
162
164
  - 组件宿主必须下发 `componentMode=true`、可序列化的 `componentData`、当前路由和权限上下文;子应用用 `dev-component:resize` 同步 80~1600px 高度,用 `dev-component:event` 回传 `update:modelValue`、`CallbackFormValueChange`、`FormSet` 或 `ParentFormSet`。禁止依赖父页面 DOM、Vue 实例、函数或 `ParentV8` 跨 iframe 传递。
163
165
  - 菜单路由必须同时回读并传入 `SysMenuId`、`ModuleEngineKey`、`DiyTableId`;弹层与表单组件默认继承调用菜单,也允许跨模块时显式传真实授权模块。宿主统一下发 `{ sysMenuId, moduleEngineKey, diyTableId }` 的 `permissionContext`。
@@ -229,6 +231,11 @@ AI 生成菜单微服务时,应优先封装一个 `callMicroiHost(action, data
229
231
 
230
232
  ### 3D 数字孪生动态资产与许可门禁
231
233
 
234
+ - 通用 3D 引擎导入 Tekla `.lis` 时,先确认它是型材/截面库而非完整工程模型;缺少构件长度、位置与装配关系,不能宣称自动还原楼宇或钢结构。保留 GLB/GLTF 原加载流程,LIS 使用独立的文本解析与参数化几何流程。
235
+ - 型材库先列出规格、搜索/分页和可预览状态,不自动选择或一次性实例化全部规格;用户手动选择后输入毫米长度,再明确添加到场景。尺寸统一按 `1000 mm = 1 m` 转换,长度不能伪装成文件提供的工程数据。保存/导出场景携带已校验的截面参数和长度,重新打开时重建几何,沿用原有场景保存、渲染、材质和变换流程,不依赖原电脑文件路径或新增一套持久化。
236
+ - 当前 LIS 适配的 `PROFILE_TYPE/PROFILE_SUB_TYPE` 精确组合为 H/I `1/1001`、L `2/2001`、圆管 `7/7001`、矩形空心 `8/8002`、C `9/9001`、T `10/10001`。BP 类型 `20`、H 特殊子类型 `1002`、其它组合、实心圆钢、变截面及非零截面坐标偏移必须展示具体原因并拒绝生成,不能只按规格名称猜形状。H/I/L/矩形空心/C/T 的圆角或斜翼缘采用近似轮廓时,界面和交付文档明确显示“近似预览”;圆管必须保留内孔。预览不作为加工、结构计算或施工精度依据。
237
+ - LIS 文件内容是数据,不执行脚本、宏、表达式或外部资源;先校验文件大小、记录数量、字段类型、有限数值、壁厚与内孔,再创建有界几何。浏览器本地预览无需上传原文件,保存服务器场景继续使用已有租户和权限边界。验收至少覆盖非法文本、超限与非有限尺寸、不支持类型、内孔、毫米换算、长度校验、保存恢复、旧 GLB/GLTF、页面卸载释放及真实 WebGL 画面。
238
+ - 官方引擎必须从版本管理的应用源码契约定位唯一源码根,测试归应用自身 `tests/`;不能从旧主前端同名目录或其它同步副本择新构建。交付分别回读私有源码、公有运行清单、包含对应运行版本的官方平台包、目标租户安装与页面实际操作,Docker 更新不能代替目标应用安装。
232
239
  - 通用 3D 设计器/渲染器与某一楼宇的定制数字孪生应使用不同 AppKey、源码目录、路由清单、运行资产与商城安装包。官方 `Platform` 包只拥有通用引擎和平台菜单;项目专属模型/贴图、业务表与字段、IoT 接口、演示数据和业务菜单属于独立业务应用(本项目采用 `MicroService`)。批量“安装/更新全部平台应用”只覆盖 `ApplicationType=Platform`,不得借平台包向所有租户散发某个客户的项目。拆分时要检查旧商城包的 `SelectMenu/SelectTable/SelectApiEngine/SelectData` 回退选择,清空旧选择后重新制作安装包,并分别回读两个包的资源快照与真实浏览器入口。
233
240
  - 道路车辆、人物、设备动画不能只靠静态截图验收。浏览器测试应同时断言对象数量、时间推进后的坐标/骨骼变化、路径末端回绕、切换楼层后的恢复及 `prefers-reduced-motion` 设置下的实际行为;测试探针只暴露非敏感数量和位置,不暴露 Token、人员或设备隐私。若持续运动本身是用户明确要求的核心功能,不得把系统的“减少动态效果”误用为整体动画总开关;只降级装饰性过渡,并提供可见、可键盘操作的暂停/恢复控制。页面隐藏或暂停期间冻结业务动画时钟,恢复时扣除停顿时间,避免物体瞬移。
234
241
  - 外部 GLB/GLTF 进入官方运行包前,逐项保存作者、原始地址、许可证、是否允许商用和再分发、署名方式、三角面数、纹理大小及优化记录。“免费下载”、搜索摘要或仓库内没有许可证都不构成可再分发授权;`NC`、`ND` 或用途不明的资产默认不进入商业应用包。
@@ -309,7 +316,7 @@ window.addEventListener('appstate-change', (event) => {
309
316
 
310
317
  ### 首次挂载、iframe 交互与接口契约
311
318
 
312
- - `/micro-app/:appKey/:microPath(.*)*` 是平台协议路由,不是租户菜单。它必须在首轮 URL 解析前作为宿主固定路由注册,且宿主组件要进入首屏主包;不能等登录后的菜单请求或异步路由注入,否则直接打开、书签或浏览器刷新会先命中空 `RouterView`,网络抖动时就表现为“刷新一次才出现”。页面是否存在仍由 `MicroApp/Resolve(RequirePage=true)` 和登录守卫校验,固定注册路由不授予菜单或数据权限。
319
+ - `/micro-app/{OsClient}/{AppKey}/{RoutePath}` 与历史 `/micro-app/{AppKey}/{RoutePath}` 都是平台协议路由,不是租户菜单。显式租户必须与当前运行时、已登录 Token 的租户一致;不一致时拒绝加载,不能把错误租户当作 AppKey 或重新解释为历史路由。新生成地址只使用当前选定连接/可信宿主的 OsClient,Manifest、项目文件或 URL 自报租户不能切换会话;用户显式提供的历史菜单 URL 保留。两类路由必须在首轮 URL 解析前作为宿主固定路由注册,且宿主组件要进入首屏主包;不能等登录后的菜单请求或异步路由注入,否则直接打开、书签或浏览器刷新会先命中空 `RouterView`,网络抖动时就表现为“刷新一次才出现”。页面是否存在仍由 `MicroApp/Resolve(RequirePage=true)` 和登录守卫校验,固定注册路由不授予菜单或数据权限。
313
320
  - `micro-app` 的 `mounted` 生命周期只表示容器和脚本执行流程完成,不能单独证明子框架已经在 `#app` 渲染出可见内容。宿主给每次解析和重挂载分别下发 `hostGeneration`、`hostMountAttempt`;子应用在 Vue/React 根节点挂载并完成 `nextTick + requestAnimationFrame` 后用 `forceDispatch` 回传 `micro-app:ready`。宿主只接受与当前解析世代、挂载尝试都一致的就绪事件,再复核 `micro-app-body`、`#app` 的非空内容、可见样式以及非零宽高;`micro-app-body` 尚未创建必须判为“仍未渲染”,绝不能当成未知但成功。超时只自动销毁重建一次,第二次失败显示稳定诊断,禁止让白屏永久停留在 `mounted` 状态。
314
321
  - iframe 内的 pointer/click 不会冒泡到宿主 document。子应用应在捕获阶段发送 `micro-app:interaction`,宿主再广播统一的“关闭全局浮层”事件。`@micro-zoe/micro-app` EventCenter 会去重内容相同的普通 dispatch,连续交互事件必须使用 `forceDispatch`;否则只能收到第一次点击。宿主的 Select/Popover 等浮层若 teleport 到 `body`,收到通知后还要显式执行组件的 click-outside/close 路径并清理搜索值和焦点,不能只依赖 `blur`。
315
322
  - 调接口时以真实 `DosResult.Data` DTO 为准,不能仅凭界面名称猜成数组。例如在线终端接口返回的是用户视图对象 `{ Terminals: [...] }`,前端应读取 `Data.Terminals`,只把 `Data` 直接数组作为旧版兼容;列表 key 优先使用 `ConnectionId`、`DeviceClientId` 等稳定标识。修复前先沿 Controller → Service → 序列化对象 → 子应用解析完整核对契约,避免为正确的后端响应另写一个平行接口。
@@ -40,7 +40,7 @@ OsClient 仍为空时调用域名租户解析接口或从已经成功的请求
40
40
  确认后用本地 `Microi.Client` 宿主复现,查询参数位于 `#` 之前并具有最高优先级:
41
41
 
42
42
  ```text
43
- http://localhost:61500/?OsClient=tenant-a&ApiBase=https%3A%2F%2Fapi.example.com#/micro-app/example-app/projects
43
+ http://localhost:61500/?OsClient=tenant-a&ApiBase=https%3A%2F%2Fapi.example.com#/micro-app/tenant-a/example-app/projects
44
44
  ```
45
45
 
46
46
  同源页面会共享 Pinia/localStorage、Token、CurrentUser、ApiBase 和 OsClient。每组不同的
@@ -93,18 +93,20 @@ http://localhost:61500/?OsClient=tenant-a&ApiBase=https%3A%2F%2Fapi.example.com#
93
93
  一个真实文件。`sourceFiles` 只保留没有本地目录时的旧调用兼容。
94
94
 
95
95
  真实构建目录一律使用逐文件 multipart 流:默认/硬上限为 20,000 文件、总计 20GB,
96
- 文件体不进入 JSON、Base64 或 Jint。`StorageMode=db` 的 256 文件/5MB 仅用于小型
97
- 应急恢复,不能作为大项目发布器。发布器必须持久化同一交付批次的
96
+ 文件体不进入 JSON、Base64 或 Jint。普通应用 `StorageMode=db` 的 256 文件/5MB 仅用于小型
97
+ 应急恢复,不能作为大项目发布器。受信任平台启动包显式声明 `Source=NotIncluded + Build=DatabaseOnly` 时可按相同边界长期从当前租户数据库运行;其 `PublicPublishPath` 无租户前缀不代表静态资源丢失,先核对 StorageMode、MsUrl 与完整内联字节。发布器必须持久化同一交付批次的
98
98
  `DeliveryBatchId`、`SourceManifestHash`、`RuntimeManifestHash`。
99
99
 
100
100
  ## 菜单路由
101
101
 
102
- 友好路由:
102
+ 新生成的友好路由统一带当前租户:
103
103
 
104
104
  ```text
105
- /micro-app/{MsKey}/{RoutePath}
105
+ /micro-app/{OsClient}/{MsKey}/{RoutePath}
106
106
  ```
107
107
 
108
+ 历史 `/micro-app/{MsKey}/{RoutePath}` 继续兼容,不覆盖用户显式保存的旧 URL。OsClient 来自当前选定服务器连接或可信宿主;显式路径租户必须匹配当前运行时与已登录 Token,不能通过 URL、Manifest 或项目文件切换租户。解析后必须分别回读 AppKey 与内部 RoutePath,不能把 OsClient 传成 AppKey。
109
+
108
110
  菜单配置:
109
111
 
110
112
  - `OpenType=MicroService`
@@ -269,6 +271,8 @@ function openPlatformPrint(printId, businessId) {
269
271
 
270
272
  ## 版本与回滚
271
273
 
274
+ 缺少 `mci_app_stream_gate_transition` 或发布门禁列/索引时,更新目标租户的应用商城责任包,并从现有“升级租户数据库”入口核验责任包安装。安装完成后回读物理表、列及唯一索引,再重新冻结发布基线;不要执行已退役 Upgrade25 或手动 reset 发布锁/指针。CAS 冲突应重新读取当前版本和源码清单,不能通过清空 Storage 预期值强制覆盖。
275
+
272
276
  - 每个发布版本保存入口、文件清单、哈希和页面清单。
273
277
  - 新旧版本资源路径可共存,运行时切换版本后再清理旧产物。
274
278
  - 发布失败不能覆盖最后一个可运行版本。
@@ -1,4 +1,4 @@
1
- interface:
2
- display_name: "Microi吾码解决方案与报价"
3
- short_description: "生成紧凑专业的吾码解决方案、周期与总价报价 Word"
4
- default_prompt: "使用 $microi-solution-quotation 生成一份紧凑的一页 Microi吾码系统解决方案与报价 Word。"
1
+ interface:
2
+ display_name: "Microi吾码解决方案与报价"
3
+ short_description: "生成紧凑专业的吾码解决方案、周期与总价报价 Word"
4
+ default_prompt: "使用 $microi-solution-quotation 生成一份紧凑的一页 Microi吾码系统解决方案与报价 Word。"