@microi.net/cli 4.8.2 → 4.8.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.
Files changed (34) 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/README.md +3 -1
  7. package/assets/build-meta.json +5 -5
  8. package/package.json +24 -2
  9. package/scripts/codex-marketplace.json +2 -4
  10. package/scripts/mcp-server.js +101 -96
  11. package/scripts/microi-cli.js +48 -48
  12. package/scripts/microi-skills.meta.json +137 -134
  13. package/skills/.microi-skills-version.json +2 -2
  14. package/skills/README.md +1 -0
  15. package/skills/ai-engine/SKILL.md +17 -7
  16. package/skills/ai-platform-governance/SKILL.md +321 -0
  17. package/skills/app-store/SKILL.md +15 -6
  18. package/skills/business-blueprint/SKILL.md +11 -4
  19. package/skills/microi-ai-application/SKILL.md +2 -0
  20. package/skills/microi-codex-installer/SKILL.md +11 -2
  21. package/skills/microi-deployment/SKILL.md +2 -0
  22. package/skills/microi-docs-coverage/references/capability-map.md +7 -0
  23. package/skills/microi-form-engine/SKILL.md +25 -5
  24. package/skills/microi-microservice/SKILL.md +3 -0
  25. package/skills/microi-mobile-app-quality/SKILL.md +9 -0
  26. package/skills/microi-system-delivery/SKILL.md +26 -7
  27. package/skills/microi-uniapp-frontend/SKILL.md +5 -0
  28. package/skills/module-engine/references/module-config.md +2 -0
  29. package/skills/page-engine/SKILL.md +32 -0
  30. package/skills/uniapp-mall-assets/SKILL.md +7 -0
  31. package/skills/v8-debugging/SKILL.md +5 -3
  32. package/skills/v8-file-upload/SKILL.md +5 -3
  33. package/skills/v8-security/SKILL.md +5 -3
  34. package/skills/workspace-conventions/SKILL.md +2 -0
@@ -51,6 +51,8 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
51
51
  - H5/App 可提供手机号输入兜底,但必须确认后端接口支持 `Phone` 登录;微信小程序优先走 `Code + LoginCode`。
52
52
  - 登录按钮、去登录按钮、手机号授权按钮必须是图标 + 文案按钮,具备 loading、disabled/pressed 反馈,且原生 button 默认边框要清掉。
53
53
  - 体验版授权登录必须保留可诊断错误:请求层归一化 `uni.request.fail.errMsg`、HTTP 状态和接口 `Msg`,登录页用模态框完整展示“阶段 + 原因 + 追踪号”。后端接口引擎按阶段写脱敏系统日志;不能只在前端 catch 后显示固定“手机号登录失败”。
54
+ - 小程序调用手机号快速验证组件的前置页、按钮、弹窗、分享标题和失败提示不得出现“微信”“微信官方”“微信登录”“一键登录”等可能混淆腾讯官方的文案,也不得展示微信官方 Logo、相似绿色气泡图标或仿官方品牌元素。统一使用“手机号快捷登录”“手机号快速验证”等中性业务文案,只展示应用自身品牌 Logo。
55
+ - 微信小程序构建后必须扫描登录页源码以及 `dist/build/mp-weixin/pages/login/` 产物,并截图核对手机号快速验证前置页;命中上述混淆文案、官方图形或近似元素时必须阻止上传和提审,不能只检查按钮主文案而漏掉说明文字、错误弹窗或分享标题。
54
56
 
55
57
  ## 微信小程序全页面分享
56
58
 
@@ -99,6 +101,9 @@ Microi 标准小程序必须采用“平台内核 + 版本化元数据 + Profile
99
101
  - 压缩后必须在至少 375px、430px 和目标小程序设备截图中核对清晰度、裁切、首屏加载与失败占位;音视频还要抽听/抽播。质量不合格时优先调整编码、分辨率和缓存策略,而不是继续极端压缩。
100
102
  - 项目只能通过统一配置或资源解析器保存 CDN 地址,页面不得散落硬编码 FileServer;切换环境或租户时必须能整体替换。
101
103
  - CDN 资源必须设置加载失败占位或降级路径。构建验收同时检查小程序主包资源总量、单资源大小、远程域名白名单和真实 CDN 可达性,不能只看源码文件大小。
104
+ - 小程序发布前必须扫描实际构建目录,而不只扫描 `src`:单个非离线关键资源超过 `256 KB` 时默认迁移 HDFS/CDN;主包静态资源达到 `1.5 MB` 或距离平台硬上限不足 `300 KB` 时必须停止上传,先瘦身或分包。确需本地保留的例外要记录离线必要性、大小和验证证据。
105
+ - HDFS 迁移顺序固定为“保留/归档原始素材 -> 按真实展示尺寸压缩 -> 上传当前租户公有 HDFS -> 保存相对 `Path` -> 运行期通过 `SysConfig.FileServer` 解析 -> 匿名 GET 回读”。回读必须断言 `200`、正确 `Content-Type`、非空大小,重要资源再比对 SHA-256;不能把上传接口返回成功当成完成。
106
+ - 原始高清图、视频母版、设计源文件不得继续放在会被 UniApp 收集的 `src/static`、分包目录或其它构建入口中;应移到项目资料/设计源目录。主包仅保留小于门禁的轻量失败占位图和离线关键图标。
102
107
 
103
108
  ## 头像必须异步统一解析
104
109
 
@@ -71,6 +71,8 @@
71
71
 
72
72
  路由优先 `/micro-app/{MsKey}/{RoutePath}`,并兼容历史 Id 路由。
73
73
 
74
+ 完整系统 Manifest 使用可移植引用:模块写 `openType=MicroService`、`microServiceKey`、`microServiceRoutePath`,不把某个租户的 `MicroServiceId/MicroServicePageId` 固化进发行包。`microi_generate_system` 会在首个写操作前回读运行元数据并补齐两个 Id;解析失败必须停止整次生成。直接调用 `microi_create_module` 时仍须一次提供全部四个绑定字段。
75
+
74
76
  ## 跨端 ViewSchema
75
77
 
76
78
  专用物理字段:
@@ -5,6 +5,8 @@ description: 生成和审查 Microi 界面引擎 Page Engine 页面 JSON。用
5
5
 
6
6
  # Microi 界面引擎(Page Engine)页面 JSON 生成
7
7
 
8
+ MCP 的生成/保存入口包含 `microi_build_page_design` 与 `microi_save_page_design`;版本治理入口见下文。保存工具写入后仍需回读 `mic_page`,不能把生成成功当作持久化成功。
9
+
8
10
  你正在为 Microi 吾码平台生成界面引擎页面的 JSON 数据。界面引擎页面由 `formData` 对象描述,用户导入 JSON 即可使用。
9
11
 
10
12
  ## 设计器源码事件
@@ -379,6 +381,36 @@ return { Code: 1, Data: { NotModified: true, FileKey: currentFileKey } };
379
381
  - 交付类首页如果使用一个远程 `html` 组件承载整页驾驶舱,运行态应由外层框架滚动,不要给容器和组件写死 1000px 这类固定高度。页面 JSON 可将 `wrapperOption.height` 与 `widgetOption.height` 设为 `0`(或运行态支持的 `auto`),前端运行态必须按内容自适应高度;设计器模式再使用可编辑的默认高度。
380
382
  - 首页写入口径说明时,必须区分“用户口头期望数量”“原始资料条目数量”“按业务主体合并后的数量”“后台项目/规则/别名数量”。不要只显示一个“未交付 N 个”,应同时列出部分交付、待执行、阻塞/需业务人员配合的清单和原因。
381
383
 
384
+ ## 版本历史、并发保存与回滚
385
+
386
+ 修改现有页面时必须先读取页面详情中的 `CurrentHash`,保存时把它作为 `expectedHash` 传入,并填写简短 `changeSummary`。不要仅凭本地旧 JSON 覆盖远端页面。
387
+
388
+ | MCP 工具 | 用途 |
389
+ |---|---|
390
+ | `microi_list_page_history` | 获取历史元数据与当前哈希 |
391
+ | `microi_get_page_history` | 获取指定不可变快照 |
392
+ | `microi_compare_page_versions` | 结构化比较两个版本;右侧省略时比较当前页面 |
393
+ | `microi_export_page_design` | 导出 `microi.page.v1` 设计包 |
394
+ | `microi_rollback_page_design` | 使用 `expectedCurrentHash` 回滚并新增审计版本 |
395
+
396
+ - 内容规范化后哈希未变化时,不应新增空历史。
397
+ - 遇到哈希冲突先重新读取、比较,再决定合并或重做;禁止去掉 `expectedHash` 强行覆盖。
398
+ - 回滚不是删除:目标快照成为新当前版本,回滚前内容仍保留。
399
+ - 写后必须再次读取页面详情和历史,确认 `CurrentHash`、版本号、变更摘要和 JSON 一致。
400
+ - 页面历史属于当前租户数据库;不要假定业务表有物理 `OsClient` 列。
401
+
402
+ ## 本地撤销、Vue 源码桥与资产包
403
+
404
+ - 设计器本地历史最多 50 步、总计最多 20MB;连续编辑允许合并,但保存前必须刷新当前 `CurrentHash`。
405
+ - `Ctrl/Cmd+Z`、`Ctrl/Cmd+Shift+Z`、`Ctrl/Cmd+Y` 不能抢占输入框、textarea、contenteditable 或代码编辑器自己的撤销行为。
406
+ - 本地 Undo/Redo 不是审计版本;跨会话恢复仍使用服务端历史与 CAS。
407
+ - Page JSON → Vue SFC 只使用确定性 `microi.page.sfc.v1` 模板;禁止 eval、动态执行用户 JSON 或注入任意 import。
408
+ - Vue SFC → Page JSON 只接受平台生成标记、完整元数据和匹配 Hash;任意手写 Vue、第三方 SFC 或未知 script 必须拒绝。
409
+ - 导入源码后先规范化、显示 Diff,再由用户确认写入;不得因为“解析成功”直接覆盖当前页面。
410
+ - 可复用组件/区块使用治理中心 `microi.asset.v1`,声明 Props、Setters、DataAdapters、Platforms 和 DependencyPackages;调用 `mci-asset-publish` DryRun 后再发布。
411
+ - 资产依赖必须检查缺失、语义版本范围、循环和最大深度;运行时使用 `mci-asset-resolve` 返回的 `LoadOrder`。
412
+ - 复杂页面需要完整工程能力时提升为前端微服务;不要承诺任意 Vue 源码无损反编译回界面引擎。
413
+
382
414
  ## 生成 JSON 注意事项
383
415
 
384
416
  1. **编号唯一**:`wrapperOption.number` 和 `widgetOption.number` 页面内唯一(随机5位整数)
@@ -70,6 +70,13 @@ function imageUrl(path) {
70
70
 
71
71
  不要让业务页面各自拼 `${API_BASE}/${path}` 或 `${FILE_SERVER}/${path}`;这会造成租户切换、私有桶、绝对 URL 和本地文件路由行为不一致。
72
72
 
73
+ ## 大资源与小程序包体门禁
74
+
75
+ - Hero、Banner、资讯封面、视频、音频、字体和大型占位图等公开资源,先按真实显示尺寸压缩,再上传当前 `OsClient` 的公有 HDFS;数据库和配置只保存相对 `Path`,客户端运行时读取 `SysConfig.FileServer` 组成 CDN 地址。
76
+ - 发布前扫描真实小程序构建目录。单个非离线关键资源超过 `256 KB` 时默认不得进入主包;主包静态资源达到 `1.5 MB` 或距平台硬上限不足 `300 KB` 时必须中止上传并输出最大文件清单。
77
+ - 上传完成必须执行 CDN 匿名 GET 回读,验证 `200`、媒体类型、字节数,重要资源比对 SHA-256;同时回读业务字段确认已由 `/static/...` 改为 HDFS 相对路径。只有上传成功、数据库回读、CDN 回读和构建产物瘦身全部通过,才能关闭问题。
78
+ - 原始设计素材移到不会参与构建的资料目录;主包只保留轻量失败占位和离线关键图标。远程资源加载失败时显示该占位,禁止回退为同一张大图的本地副本。
79
+
73
80
  ## 私有文件
74
81
 
75
82
  - 私有对象 Key 不能直接转换成可长期访问的公网地址。
@@ -3,9 +3,11 @@ name: v8-debugging
3
3
  description: Microi V8 调试与日志指南。用于排查接口引擎、V8 事件、console.log、DataAppend.DebugLog、sys_log、异常处理和远程执行问题。
4
4
  ---
5
5
 
6
- # Microi V8 调试与日志
7
-
8
- 你正在为 Microi 吾码平台编写 V8 引擎代码,需要在开发/测试/生产环境进行排错。本指南提供调试模式、异常捕获、系统日志、调试输出的标准做法。
6
+ # Microi V8 调试与日志
7
+
8
+ 你正在为 Microi 吾码平台编写 V8 引擎代码,需要在开发/测试/生产环境进行排错。本指南提供调试模式、异常捕获、系统日志、调试输出的标准做法。
9
+
10
+ MongoDB 运行日志通过 `microi_query_mongodb_logs` 只读查询;必须限制租户、时间窗、页大小和返回字段,不在结果或回答中输出 Token、连接串、Secret 或完整敏感请求体。
9
11
 
10
12
  ## 三种输出通道
11
13
 
@@ -3,9 +3,11 @@ name: v8-file-upload
3
3
  description: Microi V8 与 MCP 文件上传下载指南。用于处理流式 AI 应用发布、V8.FilesByteBase64、V8.Method.Upload、私有文件 URL、文件响应、HDFS、OSS、MinIO 和 S3 存储。
4
4
  ---
5
5
 
6
- # Microi V8 文件上传下载
7
-
8
- 你正在为 Microi 吾码平台编写文件上传/下载/返回相关代码。平台分布式存储(HDFS)支持阿里云OSS、MinIO、亚马逊S3,存储方案由 SaaS 引擎按租户配置。
6
+ # Microi V8 文件上传下载
7
+
8
+ 你正在为 Microi 吾码平台编写文件上传/下载/返回相关代码。平台分布式存储(HDFS)支持阿里云OSS、MinIO、亚马逊S3,存储方案由 SaaS 引擎按租户配置。
9
+
10
+ 公开入口覆盖 `V8.uploadFile`、多文件 `V8.uploadFiles` 与 MCP `microi_upload_file_base64`。多文件上传必须限制并发、逐文件返回结果;Base64 工具只接受明确文件名、大小和租户内目标范围,写后回读路径、大小与哈希。
9
11
 
10
12
  ## 核心 API
11
13
 
@@ -3,9 +3,11 @@ name: v8-security
3
3
  description: Microi V8 安全指南。用于审查 DiyToken 与权限、可逆业务秘密、Passkey/TOTP/人脸步进验证、接口引擎安全、密钥管理、SQL 注入、匿名端点、文件上传和租户隔离。
4
4
  ---
5
5
 
6
- # Microi V8 安全最佳实践
7
-
8
- 你正在开发 Microi 吾码平台的 V8 引擎代码,必须遵守以下安全规范。
6
+ # Microi V8 安全最佳实践
7
+
8
+ 你正在开发 Microi 吾码平台的 V8 引擎代码,必须遵守以下安全规范。
9
+
10
+ 访问密钥由 `microi_list_my_access_keys`、`microi_create_my_access_key`、`microi_revoke_my_access_key` 管理,只允许当前用户、限期、最小 scope,明文仅创建时返回一次。外部身份回调固定为 `/api/ExternalLogin/Callback`,服务端校验租户、Provider、state、redirect 和回调域名,验证成功后仍签发 DiyToken。
9
11
 
10
12
  ## 0. 租户动态系统设置与密钥边界
11
13
 
@@ -102,6 +102,8 @@ AI 在工作区任意任务中生成的**一次性临时脚本、诊断文件、
102
102
  | 吾码 App 源码 | `microi.app/` |
103
103
  | 吾码 UniApp 源码 | `microi.uniapp/` |
104
104
  | 吾码官方网站 / 文档源码 | `microi.doc/` |
105
+ | 吾码 AI 应用源码 | `Microi-V8-Engine/{系统名称} ({ApiBase域名})/{OsClient}.{OsClientType}.{OsClientNetwork}/AI应用/{appKey}/` |
106
+ | 吾码官方应用商城发行包源码 | `microi.apps/{packageKey}/` |
105
107
 
106
108
  以上路径只作为通用工作区相对路径规范,不写入具体本机盘符。跨仓库、空工作区或普通用户项目中,如果路径不存在,以插件生成的 `AGENTS.md`、MCP 配置和实际文件树为准。
107
109