@microi.net/cli 5.8.9 → 5.9.1

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 (24) 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/microi-cli.js +23 -23
  10. package/scripts/microi-skills.meta.json +208 -208
  11. package/skills/.microi-skills-version.json +2 -2
  12. package/skills/.progressive-disclosure-manifest.json +80 -80
  13. package/skills/microi-codex/SKILL.md +105 -101
  14. package/skills/microi-mobile-app-quality/SKILL.md +20 -8
  15. package/skills/microi-mobile-app-quality/references/progressive-01-4-/351/207/215/350/246/201/346/214/211/351/222/256/345/277/205/351/241/273/345/270/246/345/233/276/346/240/207.md +22 -11
  16. package/skills/microi-mobile-app-quality/references/progressive-02-9-/344/270/273/351/242/230/345/210/207/346/215/242/345/277/205/351/241/273/347/234/237/345/256/236/344/270/224/345/205/250/345/261/200/347/224/237/346/225/210.md +4 -4
  17. package/skills/microi-system-delivery/SKILL.md +4 -2
  18. package/skills/microi-uniapp-frontend/SKILL.md +18 -12
  19. package/skills/microi-uniapp-frontend/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/210/206/347/261/273-/345/217/214/346/240/217/345/210/227/350/241/250/347/213/254/347/253/213/346/273/232/345/212/250.md +103 -67
  20. package/skills/microi-uniapp-frontend/references/progressive-02-/345/205/263/351/224/256/344/270/232/345/212/241/350/265/204/344/272/247/344/270/215/345/276/227/351/273/230/350/256/244/351/200/211/344/270/255.md +10 -10
  21. package/skills/workspace-conventions/SKILL.md +283 -273
  22. package/skills/workspace-conventions/references/progressive-01-/347/211/210/346/234/254/346/233/264/346/226/260/346/227/245/345/277/227/344/277/235/346/212/244/350/247/204/345/210/231-/345/274/272/345/210/266.md +209 -209
  23. 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 +217 -217
  24. package/skills/workspace-conventions/references/progressive-03-cli-/344/270/216-ide-/346/217/222/344/273/266/351/224/231/347/211/210/345/205/261/345/255/230/347/272/246/345/256/232.md +35 -27
@@ -1,104 +1,108 @@
1
- ---
2
- name: microi-codex
3
- description: 在 Microi Agent、Codex 或 DeepSeek Harness 中完成 Microi吾码 VS Code 扩展的等价工作流,包括连接与登录、AI/MCP 初始化、V8/表单/模块/工作流同步、远程执行与诊断、性能测试、微应用、Playwright 和发布回读。用户提到吾码、Microi、V8引擎、Microi-V8-Engine 或要求使用吾码 AI 插件时使用。
4
- ---
5
-
6
- # Microi吾码 Codex / DeepSeek Harness Plugin
7
-
8
- 本插件与 `Microi.Agent`、`@microi.net/cli` 共用配置、Token、MCP Server 和 Microi Skills。不要另写原生 HTTP、SQL 或第二套认证实现。
9
-
10
- 本地 HTTPS 连接同样必须验证证书。MCP 不因 `localhost/127.0.0.1` 自动设置
11
- `NODE_TLS_REJECT_UNAUTHORIZED=0`,也不能覆盖调用方的严格策略。开发节点使用受信
12
- 证书;必要时在启动 MCP 前通过 `NODE_EXTRA_CA_CERTS` 指定已核验的公开 CA PEM。
13
- 分别验证正确 CA 可连接、陌生 CA/无信任证书被拒绝;配置了 CA 不等于实际启用了
14
- 证书验证,须核对最终进程与真实握手结果。证书私钥和会话 Token 不进入日志。
15
-
16
- 平台 Api/Web 版本入口可生成独立开发工具连接。收到连接 JSON 时,用 `microi auth import --session-stdin` 从标准输入导入,再运行 `microi ai init` 和 `microi doctor`;禁止将 Token 放入命令行、源码或日志,不再索取账号密码。开发 Token 使用现有终端有效期,可独立撤销;它只授权该业务租户,不能替代 Microi Agent 的官方 AI 计费账号登录。访问密钥的最小业务 scope 不能替代完整 MCP 管理身份。第三方 App Secret 默认进入系统设置“安全与服务接入”,优先使用 `microi_manage_server_private_secret`。
17
-
18
- 每次 Microi 对话先完整读取工作区 `microi.skills/workspace-conventions/SKILL.md`;工作区尚未初始化时读取本插件同级 `../workspace-conventions/SKILL.md`。按其中首部完成创始人身份识别及平台功能四项同步检查,再进入专项流程;完整规则只维护该基础入口,不复制到本路由。
19
-
20
- ## Microi Agent 桌面宿主
21
-
22
- - 完整版在所有平台用物理 `node_modules/node/bin/node[.exe]` 启动 Harness、Worker 和插件命令,不能换成 Electron Helper/utilityProcess;后者会在特定 Electron 指纹下被原生加载器拒绝。每次发布最终安装包先运行 `test:packaged-desktop`,设置真实产物与独立证据目录,验收生产 main 两次正常启动、Worker IPC、员工引导及 Harness 重启,并核对日志 `electron=none`。直接启动 Harness、签名公证成功或跳过完整应用用例均不足以证明用户能正常启动;不同系统和架构覆盖分别记录。同步上游必须保留该选择器、门禁脚本与回归用例。
23
- - 桌面包内置技能目录;干净工作区输入 `/microi` 可发现吾码入口,再读取基础规范与专项技能。查不到时先核对当前桌面版本及内置技能资源,不要求用户复制开发机目录,也不要把 MCP 工具名当成斜杠技能名。
24
- - 对话输入框上下键回填成功提交的提示词,向下可恢复未发送草稿。菜单、输入法候选、选区和多行正常光标移动优先;不要在用户编辑文本时强行覆盖草稿。
25
- - 消息编辑/撤回通过真实会话分叉到该消息之前的已完成轮次;原会话和已经执行的文件修改保留。撤回将消息恢复为草稿,编辑则重新发送;这不是撤销文件系统。图片随草稿恢复,无法安全恢复的文件附件明确拒绝,不能静默删除附件或只改屏幕文字而保留旧模型上下文。
26
- - AI 员工桌面工作台提供十岗、任务草稿、执行、成果审阅、已验收依赖、目标和预算。云端执行复用员工中心;本机执行使用显式受限 OpenClaw Agent 与已有 Gateway。Harness 的会话/技能/定时能力不能证明 OpenClaw 的渠道、Gateway、设备节点与全部 cron 语义已完整内置。相关配置和验收读取 `ai-engine/references/ai-employees.md`。
27
-
28
- - 桌面与手机配对的本机 HTTP 监听必须避开 Fetch 标准禁止端口。系统自动分配的端口也可能不可浏览器访问;只有浏览器允许的真实监听端口才能进入配对 URL。自动命中禁止端口时关闭监听再有界重选,显式配置禁止端口须报错;权限和占用错误仍保留原错误,不改变系统动态端口范围、不绕过浏览器安全策略。同步上游时保护共同端口选择器、配对监听与对应回归。
29
-
30
- - 同步上游前读取内部源码根目录 `.microi-upstream.json`、`同步dsh-desktop上游.md` 与维护交接记录;分别核对 dsh-desktop 提交、Harness 官方 tag/提交、npm 版本与锁定 integrity。三方比较和补丁意图迁移、干净 `npm ci`、回归及真实界面验收通过后才能推进基线。禁止用整目录覆盖或删除补丁来通过同步。Harness 的同级权限请求应直接使用当前有效模式;提升权限必须填写非空理由,普通调用不要附带这两个升级字段。
31
- - Microi Agent 是内部仓库中的独立桌面发行物,直接基于 DataElement/dsh-desktop 与 DeepSeek Harness 二次开发,内置固定版本的 Harness SDK、Node.js、MCP / CLI / Skills;不是需要额外 Agent Token 的 CLI 别名。
32
- - 官方 AI 登录只走桌面账号窗口,固定 `https://api.itdos.com`、`OsClient=iTdos`,使用当前用户的中转 Key 和额度。不要让用户把密码或 AI Key 写入对话、命令行、MCP 参数或模型配置。
33
- - 业务连接在「服务器连接(MCP)」中单独添加、登录;官方 AI 账号不授予业务租户权限。项目初始化和资源同步优先使用桌面「项目资源」;其余业务继续调用同源 MCP 的原工具。
34
- - macOS 登录凭据通过桌面 Keychain/受限 IPC 管理;不要在 macOS 改跑当前只支持 Windows 凭据恢复的 `microi auth login`。不要手改 Token 文件。
35
- - 桌面安装包中的 Harness、Node 和同源资产随桌面版本升级;不运行 npm 自更新去改写正在使用或已签名的安装目录。外部 Codex / WorkBuddy / CLI 的后台更新规则保持不变。
36
- - 桌面 UI 沿用 dsh-desktop 的设计系统;首页保留 dsh 原生会话区,并在下方用无外层卡片边框、无整块背景的差异层完整展示吾码 AI 大类与 29 项图像工具。工具 Id、名称和分类以 `Microi.Client/src/views/ai-engine/ai-image-tool-directory.js` 为事实源,点击时在「Microi吾码」主面板打开原生三栏工作台,禁止跳转浏览器页面;模型来源可选当前对话模型、吾码官方中转站或已登录服务器连接。服务器连接入口和“预览版”不重复放进首页。AI 数据分析明确使用 `microi_run_engine` 调用 `mci_ai_data_assistant`,不能改成绕过 MCP 的直接数据库访问。
37
- - Microi Agent 左侧「功能区」动态读取 dsh 的 `settings.section` 注册表,并在主界面 `main` 面板中渲染原设置组件;第一项「Microi吾码」合并官方账号和吾码 AI,第二项为「服务器连接(MCP)」,之后提供 AI 员工、采集引擎、环境与服务管理入口,再接 dsh 原生设置。功能区与工作区可拖动调高,默认无滚动条;首页/聊天页不显示虚假选中态。底部入口显示「关于 v版本号」及 `LicenseType` 版本标签,连接手机入口保持同一行。品牌显示 `Microi Agent` 与 `HARNESS` 标签,新安装默认浅色,用户仍可切换浅色/深色。
38
- - 桌面安装包版本从 `1.0.0` 开始,使用吾码三段十进制进位规则。正式新版本先在发布源码中执行 `version:bump`,核对并提交三个版本文件;Mac 拉取后使用 `bash ./一键打包Mac.sh` 在临时 Git 工作树中打包当前已提交版本,默认不再升版,失败也不能把生成文件留在原检出目录。`--current` 仅作旧命令兼容;同版本本地重打包不得覆盖已公开的不可变产物。测试、类型检查和普通 Web 构建不升版。
39
- - Windows 安装包的构建成功、Authenticode 签名、SmartScreen/商店信任、HDFS 上传与 CDN 回读是不同证据;双击 `一键打包Windows.cmd` 时自动探测 Microsoft Artifact Signing 或本机可信证书,没有凭据则继续生成明确标记的未签名包,显式 `-Signing Signed` 才失败关闭。签名必须先覆盖安装器及独立执行文件,再计算发布 SHA256。macOS 默认 `bash ./一键打包Mac.sh` 同样自动探测并在无凭据时生成未签名包;`--signed` 是正式门禁,必须在缺少证书或公证钥匙串时失败,并通过 `codesign`、`spctl`、`stapler validate` 后才标记已签名公证。
40
- - Harness 本机探测必须以独立硬计时器约束 TCP 连接和响应头,Node 失败后用 Chromium 复核。两个通道在认证地址公布后连续连接失败时,仅重启一次到 IPv6 `::1`;IPv6 也必须实际取得有效 HTTP 响应,不得伪造就绪、绑定所有网卡或关闭鉴权。普通模式与安全模式使用同一规则,500 响应不得触发网络回退或算作就绪。日志同时记录桌面版本、实际监听地址和进程内 HTTP 自检;探测不带凭据、不跟随重定向、不输出自检 Token。恢复日志只去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布运行 `scripts/verify-harness-startup.mjs`,以包内 Node/Harness、真实 Chromium 页面验证普通与安全模式、Node 超时回退、IPv4 双通道受阻后 IPv6 鉴权和双通道真实无响应的有界失败。Mac 验收与 Windows 真机、安装升级、客户设备验收分别记录。
41
- - Windows 的 IPv4/IPv6 TCP 都连接失败时,允许回退到本次启动创建的私有命名管道。必须先从管道取得真实 HTTP 响应,再沿用 Harness 原有 Host、Origin、启动 Token 和签名 Cookie 验证;不得跳过鉴权或开放公网。HTTP 请求与 `/api/remote.mux` 会话流都要验收,IPC 仅限当前主窗口顶层页面和固定端点,不暴露凭据、管道路径或任意代理能力。`scripts/verify-harness-pipe.mjs` 的 macOS Unix socket 验证不等于 Windows 命名管道或客户设备已通过。
42
- - 当前 Electron 桌面运行时不能直接打包 iOS/Android,也不能把现有 DMG 原样提交 Mac App Store。移动端和 MAS 版应作为受限客户端,复用账号、模型、会话、MCP 与桌面配对协议,把 Node/Harness/Shell/插件执行放到配对桌面或合规远端;分别完成 Apple/Google 签名和商店审核。
43
- - MAS 使用独立 `electron.vite.mas.config.ts` 与 `electron-builder.mas.cjs` 构建最小客户端,应用包只含客户端入口、受限 preload、静态界面和版权材料;不能把父工程依赖、Harness、独立 Node 或站外更新器混入沙盒包。正式包使用 Mac App Distribution 与 Mac Installer Distribution;本机验证使用 Mac Development 和包含该设备的开发描述文件。签名钥匙串必须先用实际保存的密码完成锁定、解锁往返验证,再启动构建;记录密码不得被重复生成过程覆盖。签名包、本机运行、Apple 上传处理、提交审核和正式上架分别回读,不能以包已生成代替上架。商店截屏使用经过验证的真实客户端界面,按 Apple 接受的高清尺寸上传,保留原始高清 Logo。
44
- - Windows Microsoft Store 使用分配给产品的 MSIX Identity/Publisher,上传包由商店签名。MSIX 运行时以 Electron 的 `process.windowsStore` 识别,禁止调用官网 EXE 更新、降级或安装入口;手动检查更新转到该产品的 Microsoft Store 页面,版本列表不请求 NSIS 归档。包内 PE/x64、Manifest/BlockMap 校验、Windows 原生运行、商店认证和正式可下载分别记录。官网 Windows/macOS 下载按钮旁可展示真实商店产品链接,但审核中必须明确标注,不能把未开放页面称为已上架。
45
- - 闭源商业项目要求免费可信 EXE 下载时,已发布的免费 Store MSIX 可使用 Microsoft Store Web Installer:从官方 badge 生成器的 Direct 模式取得该产品 `get.microsoft.com/installer/download/` 链接,验证真实下载的 Microsoft 签名及文件摘要。这是联网安装当前商店版的小型 EXE,不是给官网完整 NSIS EXE 签名;保留两渠道并说明版本差异,不把下载成功写成原生安装通过,不将动态安装器冒充固定版本 CDN 产物。按当前包 Manifest 的 MinVersion 和架构记录系统条件,分别说明旧 Windows、x86、ARM 仿真、LTSC/Server、离线与企业策略边界;不降低安全策略或虚构全部系统验收。自签名不能产生公众信任,免费开源签名服务不适用于私有商业源码。
46
- - 复用已签名 MAS 应用制作开发测试包时,必须替换 `Contents/embedded.provisionprofile`,核对描述文件中的证书与开发签名及当前设备一致;`codesign --verify` 通过仍不能替代实际启动。资料目录中的描述文件保持私有权限,复制到安装包后设为普通用户可读,并检查整个有效载荷,避免 ITMS-90255。沙盒阻止调试监听时不得扩大正式包的网络监听权限;自动化测试入口只放入独立开发副本,正式入口、preload 与界面应核对同源,测试入口和配对口令不得进入正式安装包。安装包上传成功后仍要回读 Apple 处理状态、选择构建、上传高清素材并实际提交审核。
47
- - 官方账号页和关于标签通过 `platform-current-user` 接口引擎读取当前 `sys_user.LicenseType`。桌面相关平台业务逻辑优先通过 `microi_itdos` 接口引擎实现;只有接口引擎缺少必需底层原子能力时才能改后端源码,并说明原因。
48
- - 正式 Windows/macOS 安装包必须内置固定版本且经过 SHA-256 校验的 cloudflared,运行时优先使用安装包 `resources/bin`,避免首次联网临时下载。检查更新从 `https://api.itdos.com/microi-code/updates/` 的匿名接口引擎读取 YAML/JSON,安装包二进制仍通过 HDFS 流式发布。
49
- - Windows 安装验收必须包含旧卸载器损坏后的升级、同版本重装、超过 260 字符的路径以及全部文件 SHA-256 回读。安装器使用当次发布的兼容卸载器,并用固定哈希的 Unicode 7-Zip 直接解压到目标目录,禁止恢复临时目录解压后使用 NSIS `CopyFiles` 复制的流程;该流程会将路径或复制错误误报为“应用无法关闭”。进程检查仅匹配安装目录内的产品主程序及内置 Node,不能按整个目录匹配安装器或无关程序。
50
- - 长路径验收必须先安装完整旧版本,再在同一目录覆盖升级及再次重装,不能只在空目录或仅含模拟卸载器的目录安装。卸载清理、旧文件备份迁移和失败回滚均须支持 Windows 扩展路径;通过真实 NSIS 与独占文件句柄验证长路径迁移和占用回滚,不能仅用 JS 文件操作或首次解压测试替代。
51
- - Windows 1.2.7 起安装失败诊断直接集成于安装器:失败窗口提供「复制安装日志」与「打开日志」,不另发独立诊断工具。`build/microi-installer-log.nsh` 在实际清理/解压/回滚步骤写入安装目录外的 UTF-8 日志,`build/microi-installer-diagnostics.ps1` 作为内嵌的只读补充,记录 Win32 访问错误和 Restart Manager 占用 PID。整份日志通过原生 Unicode 剪贴板复制;超过容量时明确拒绝而不截断。验收须真实点击复制按钮、核对中文长日志、占用文件的 Win32=32 与回滚;卸载退出码 2 不等同于 Win32 错误码 2,本机通过不代表客户机升级通过。
52
- - Windows 1.2.8 起升级先在安装盘同级目录完整解压,再切换程序目录;旧文件仅同盘重命名,禁止回退到逐文件跨盘搬运。`build/microi-installer-transaction.nsh` 与相关 NSIS 补丁必须随上游同步永久保留。Win32=33 是文件区域锁错误,不能仅凭此指认某个安全软件;验收须在安装盘与 TEMP 不同的条件下持有真实字节锁,证明旧跨盘操作失败而新版安装成功,并验证持续占用、回滚与未知目标目录冲突。未恢复的同盘备份必须在安装退出后保留,不能存入会自动删除的临时目录;完整源文件哈希检查与客户设备验收分别记录。
53
- - Windows 1.3.7 修复候选针对新版 stage 启用时 Win32=5 的单次失败:对 5/32/33 有限重试,再仅在成功新建的目标目录内做同盘文件重命名;以固定 UTF-16 日志记录迁移意图,部分失败逐项搬回,已有目标、未知文件与旧备份均不覆盖。回滚 EOF 和短记录必须停止,目录枚举句柄先关闭再删除空目录。真实 NSIS 回归覆盖短暂/持续错误 5、中途错误 5、文件冲突和未知目标;Wine 结果与 Windows 原生覆盖升级/全部文件哈希/最终程序启动分别报告。
54
- - Windows 1.2.9 起本机启动探测必须使用覆盖 TCP 连接和响应头的硬超时;Harness 输出认证地址后,Node 请求失败可使用实际渲染页面的 Chromium 网络通道回退,严格限制为本次 `http://127.0.0.1:端口/`、不带凭据、不跟随重定向。记录两个通道的真实错误;只有响应正常且存在本次认证信息才可启动页面。恢复日志只能去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布必须运行 `scripts/verify-harness-startup.mjs`,使用发布包内 Node/Harness 验证普通与安全模式、注入 Node 超时后由真实 Chromium 渲染新会话控件,以及双通道真实不响应的有界失败;本机验证不能称为客户设备已通过。
55
- - 桌面平台 Worker 必须在真实安装包内验证 IPC 与 Windows DPAPI。旧保险库只有成功解密且明文为零字节时才允许迁移为空文档;损坏或其他 Windows 用户的保险库保留原文件并返回具体错误。启动初始化拒绝不能让 Node 服务退出;单元测试、安装成功与真实桌面账号/AI 员工页面联调是三个独立验收层。
56
- - dsh-desktop 升级必须遵循 `Microi.Agent/同步dsh-desktop上游.md` 的三方同步流程和补丁意图清单;`microi/`、`packages/microi-code-*` 与桥接代码是永久保护区,普通上游文件使用三方比较,补丁必须经 `npm ci` 重放。关于页、NOTICE、MIT License、DataElement 版权与两个上游仓库链接不得删除。停止或退出后的任务保留历史,当前 SDK 的跨进程历史仅供查看,需新建任务引用继续。
57
-
58
- ### 默认中文输出
59
-
60
- - 面向用户的回答、计划、工具说明、错误解释和可见进度默认使用简体中文;代码、协议字段、命令、模型名称和路径保留原文。
61
- - 这条规则通过 Microi Skills 同步到 Microi Agent、Codex、DeepSeek Harness、WorkBuddy、CodeBuddy 和 OpenCode 的工作区指令;宿主或模型支持自定义系统提示时,也应将同一条规则放在最高优先级的用户可见输出约束中。
62
- - 中文规则只能约束可见回答、计划和工具摘要;模型服务内部隐藏思考的语言由模型决定,客户端不能保证每一个内部 token 都是中文,也不应把内部思考当成可导出内容。
63
-
64
- ## 非阻塞自动更新(强制)
65
-
66
- 每次新建或接续吾码任务必须执行 `workspace-conventions` 的版本检查、首次“Microi吾码开发工具版本”播报与后台自动升级,不限模型。先调用 `microi_codex action="profiles"` 读取 `toolchain` 中的当前已加载版本、工作区 Skills 版本和自动更新状态;未知项准确标记,不能把当前进程版本当成全局 CLI 或 npm 最新版。完整强制规范只维护在基础入口。
67
-
68
- Codex Router 启动后会异步调用 bundled CLI 的 `microi update --background`。需要了解完整安装/诊断机制时读取同级 `microi-codex-installer/SKILL.md`;更新检查不得发生在用户工作之前,也不得让任务等待。
69
-
70
- 自动更新会从 npm 官方 registry 升级 CLI,更新 Codex/DeepSeek Harness 插件并重新初始化工作区 AI/MCP。当前 Router、DSH 会话和已经启动的 MCP 继续使用旧版本,不被杀死或强制重载;新版供后续新进程使用。自动更新失败、被占用或用户暂不重载时,只记录/提示并继续当前、正在进行和新建任务;不得要求升级授权,也不得把版本状态当作业务门禁。
71
-
72
- ## 先确认工作区连接
73
-
74
- 1. 调用 `microi_codex`,传 `{ "action": "profiles" }`。
75
- 2. 只有一个已登录连接时,后续可以省略 `profile`;存在多个连接时,始终传 `profiles` 返回的稳定 `name`。
76
- 3. 尚未初始化时,插件根目录是本文件向上两级;使用其中的 `scripts/microi-cli.js`:
77
- - `node <plugin-root>/scripts/microi-cli.js init --workspace <workspace>`
78
- - 多连接:`profile list|add|remove`
79
- - 登录:`auth login|status|logout --profile <name>`
80
- - 诊断:`doctor --json`
81
- 4. 登录会在真实终端中隐式输入密码;不要把密码写入命令、日志、Skill、MCP 参数或工作区文件。Token 继续写入 `Microi-V8-Engine/.microi-mcp-tokens.json`,并按 API、OsClient、Type、Network 四段身份隔离。
82
-
83
- ## 功能路由
84
-
85
- - 连接、登录、拉取、推送、差异和 AI 初始化:使用 bundled CLI 的 `profile`、`auth`、`pull`、`push`、`sync status`、`ai init`、`mcp init`、`doctor`。
86
- - 接口引擎、表单事件、模块、字段、工作流和数据库结构:先用 `action="list_tools"` / `describe_tool`,再调用对应原始 `microi_*` 工具。写工具必须保留确认口令、审计与回读。
87
- - 远程执行与调试:读取 `v8-debugging/SKILL.md`。Codex 用“获取源码 → 远程执行 → 定位堆栈/日志 → 最小补丁 → 再执行”的结构化循环代替 VS Code DAP 的可视化逐行面板;不得把未执行的源码检查称为真机调试成功。
88
- - 性能测试:读取 `performance-testing/SKILL.md`,限制并发并输出样本、P95/P99、错误率和停止条件。
89
- - 系统日志、内存吃满、OOM 与接口/V8 异常分配:读取 `system-observability/SKILL.md` 及其内存事故手册,使用专用 MCP 的 `Capabilities` → `Memory` → 事故历史/详情 → `Trace`,先查采集质量再归因。
90
- - 微应用:读取 `microi-microservice/SKILL.md`,使用 scaffold、source sync、stream publish 和发布回读原工具;本地构建前遵守内存保护。
91
- - Playwright:读取 `playwright-e2e/SKILL.md`,使用当前已登录浏览器或受控 Playwright;报告必须来自实际页面执行。
92
- - 其他领域:从本插件同级 Skills 里选择最小相关 Skill,并完整读取后执行。
93
-
1
+ ---
2
+ name: microi-codex
3
+ description: 在 Microi Agent、Codex 或 DeepSeek Harness 中完成 Microi吾码 VS Code 扩展的等价工作流,包括连接与登录、AI/MCP 初始化、V8/表单/模块/工作流同步、远程执行与诊断、性能测试、微应用、Playwright 和发布回读。用户提到吾码、Microi、V8引擎、Microi-V8-Engine 或要求使用吾码 AI 插件时使用。
4
+ ---
5
+
6
+ # Microi吾码 Codex / DeepSeek Harness Plugin
7
+
8
+ 本插件与 `Microi.Agent`、`@microi.net/cli` 共用配置、Token、MCP Server 和 Microi Skills。不要另写原生 HTTP、SQL 或第二套认证实现。
9
+
10
+ 本地 HTTPS 连接同样必须验证证书。MCP 不因 `localhost/127.0.0.1` 自动设置
11
+ `NODE_TLS_REJECT_UNAUTHORIZED=0`,也不能覆盖调用方的严格策略。开发节点使用受信
12
+ 证书;必要时在启动 MCP 前通过 `NODE_EXTRA_CA_CERTS` 指定已核验的公开 CA PEM。
13
+ 分别验证正确 CA 可连接、陌生 CA/无信任证书被拒绝;配置了 CA 不等于实际启用了
14
+ 证书验证,须核对最终进程与真实握手结果。证书私钥和会话 Token 不进入日志。
15
+
16
+ 平台 Api/Web 版本入口可生成独立开发工具连接。收到连接 JSON 时,用 `microi auth import --session-stdin` 从标准输入导入,再运行 `microi ai init` 和 `microi doctor`;禁止将 Token 放入命令行、源码或日志,不再索取账号密码。开发 Token 使用现有终端有效期,可独立撤销;它只授权该业务租户,不能替代 Microi Agent 的官方 AI 计费账号登录。访问密钥的最小业务 scope 不能替代完整 MCP 管理身份。第三方 App Secret 默认进入系统设置“安全与服务接入”,优先使用 `microi_manage_server_private_secret`。
17
+
18
+ 每次 Microi 对话先完整读取工作区 `microi.skills/workspace-conventions/SKILL.md`;工作区尚未初始化时读取本插件同级 `../workspace-conventions/SKILL.md`。按其中首部完成创始人身份识别及平台功能四项同步检查,再进入专项流程;完整规则只维护该基础入口,不复制到本路由。
19
+
20
+ 在已初始化吾码工作区中,用户仅描述业务需求也自动读取 `microi-system-delivery/SKILL.md`
21
+ 及相关专项 Skills,无需用户指定 Skill 名称。具体读取顺序与完整开发、局部修改、只读分析
22
+ 的执行范围以基础规范的“吾码 AI 开发默认路由”为唯一事实源。
23
+
24
+ ## Microi Agent 桌面宿主
25
+
26
+ - 完整版在所有平台用物理 `node_modules/node/bin/node[.exe]` 启动 Harness、Worker 和插件命令,不能换成 Electron Helper/utilityProcess;后者会在特定 Electron 指纹下被原生加载器拒绝。每次发布最终安装包先运行 `test:packaged-desktop`,设置真实产物与独立证据目录,验收生产 main 两次正常启动、Worker IPC、员工引导及 Harness 重启,并核对日志 `electron=none`。直接启动 Harness、签名公证成功或跳过完整应用用例均不足以证明用户能正常启动;不同系统和架构覆盖分别记录。同步上游必须保留该选择器、门禁脚本与回归用例。
27
+ - 桌面包内置技能目录;干净工作区输入 `/microi` 可发现吾码入口,再读取基础规范与专项技能。查不到时先核对当前桌面版本及内置技能资源,不要求用户复制开发机目录,也不要把 MCP 工具名当成斜杠技能名。
28
+ - 对话输入框上下键回填成功提交的提示词,向下可恢复未发送草稿。菜单、输入法候选、选区和多行正常光标移动优先;不要在用户编辑文本时强行覆盖草稿。
29
+ - 消息编辑/撤回通过真实会话分叉到该消息之前的已完成轮次;原会话和已经执行的文件修改保留。撤回将消息恢复为草稿,编辑则重新发送;这不是撤销文件系统。图片随草稿恢复,无法安全恢复的文件附件明确拒绝,不能静默删除附件或只改屏幕文字而保留旧模型上下文。
30
+ - AI 员工桌面工作台提供十岗、任务草稿、执行、成果审阅、已验收依赖、目标和预算。云端执行复用员工中心;本机执行使用显式受限 OpenClaw Agent 与已有 Gateway。Harness 的会话/技能/定时能力不能证明 OpenClaw 的渠道、Gateway、设备节点与全部 cron 语义已完整内置。相关配置和验收读取 `ai-engine/references/ai-employees.md`。
31
+
32
+ - 桌面与手机配对的本机 HTTP 监听必须避开 Fetch 标准禁止端口。系统自动分配的端口也可能不可浏览器访问;只有浏览器允许的真实监听端口才能进入配对 URL。自动命中禁止端口时关闭监听再有界重选,显式配置禁止端口须报错;权限和占用错误仍保留原错误,不改变系统动态端口范围、不绕过浏览器安全策略。同步上游时保护共同端口选择器、配对监听与对应回归。
33
+
34
+ - 同步上游前读取内部源码根目录 `.microi-upstream.json`、`同步dsh-desktop上游.md` 与维护交接记录;分别核对 dsh-desktop 提交、Harness 官方 tag/提交、npm 版本与锁定 integrity。三方比较和补丁意图迁移、干净 `npm ci`、回归及真实界面验收通过后才能推进基线。禁止用整目录覆盖或删除补丁来通过同步。Harness 的同级权限请求应直接使用当前有效模式;提升权限必须填写非空理由,普通调用不要附带这两个升级字段。
35
+ - Microi Agent 是内部仓库中的独立桌面发行物,直接基于 DataElement/dsh-desktop 与 DeepSeek Harness 二次开发,内置固定版本的 Harness SDK、Node.js、MCP / CLI / Skills;不是需要额外 Agent Token 的 CLI 别名。
36
+ - 官方 AI 登录只走桌面账号窗口,固定 `https://api.itdos.com`、`OsClient=iTdos`,使用当前用户的中转 Key 和额度。不要让用户把密码或 AI Key 写入对话、命令行、MCP 参数或模型配置。
37
+ - 业务连接在「服务器连接(MCP)」中单独添加、登录;官方 AI 账号不授予业务租户权限。项目初始化和资源同步优先使用桌面「项目资源」;其余业务继续调用同源 MCP 的原工具。
38
+ - macOS 登录凭据通过桌面 Keychain/受限 IPC 管理;不要在 macOS 改跑当前只支持 Windows 凭据恢复的 `microi auth login`。不要手改 Token 文件。
39
+ - 桌面安装包中的 Harness、Node 和同源资产随桌面版本升级;不运行 npm 自更新去改写正在使用或已签名的安装目录。外部 Codex / WorkBuddy / CLI 的后台更新规则保持不变。
40
+ - 桌面 UI 沿用 dsh-desktop 的设计系统;首页保留 dsh 原生会话区,并在下方用无外层卡片边框、无整块背景的差异层完整展示吾码 AI 大类与 29 项图像工具。工具 Id、名称和分类以 `Microi.Client/src/views/ai-engine/ai-image-tool-directory.js` 为事实源,点击时在「Microi吾码」主面板打开原生三栏工作台,禁止跳转浏览器页面;模型来源可选当前对话模型、吾码官方中转站或已登录服务器连接。服务器连接入口和“预览版”不重复放进首页。AI 数据分析明确使用 `microi_run_engine` 调用 `mci_ai_data_assistant`,不能改成绕过 MCP 的直接数据库访问。
41
+ - Microi Agent 左侧「功能区」动态读取 dsh 的 `settings.section` 注册表,并在主界面 `main` 面板中渲染原设置组件;第一项「Microi吾码」合并官方账号和吾码 AI,第二项为「服务器连接(MCP)」,之后提供 AI 员工、采集引擎、环境与服务管理入口,再接 dsh 原生设置。功能区与工作区可拖动调高,默认无滚动条;首页/聊天页不显示虚假选中态。底部入口显示「关于 v版本号」及 `LicenseType` 版本标签,连接手机入口保持同一行。品牌显示 `Microi Agent` 与 `HARNESS` 标签,新安装默认浅色,用户仍可切换浅色/深色。
42
+ - 桌面安装包版本从 `1.0.0` 开始,使用吾码三段十进制进位规则。正式新版本先在发布源码中执行 `version:bump`,核对并提交三个版本文件;Mac 拉取后使用 `bash ./一键打包Mac.sh` 在临时 Git 工作树中打包当前已提交版本,默认不再升版,失败也不能把生成文件留在原检出目录。`--current` 仅作旧命令兼容;同版本本地重打包不得覆盖已公开的不可变产物。测试、类型检查和普通 Web 构建不升版。
43
+ - Windows 安装包的构建成功、Authenticode 签名、SmartScreen/商店信任、HDFS 上传与 CDN 回读是不同证据;双击 `一键打包Windows.cmd` 时自动探测 Microsoft Artifact Signing 或本机可信证书,没有凭据则继续生成明确标记的未签名包,显式 `-Signing Signed` 才失败关闭。签名必须先覆盖安装器及独立执行文件,再计算发布 SHA256。macOS 默认 `bash ./一键打包Mac.sh` 同样自动探测并在无凭据时生成未签名包;`--signed` 是正式门禁,必须在缺少证书或公证钥匙串时失败,并通过 `codesign`、`spctl`、`stapler validate` 后才标记已签名公证。
44
+ - Harness 本机探测必须以独立硬计时器约束 TCP 连接和响应头,Node 失败后用 Chromium 复核。两个通道在认证地址公布后连续连接失败时,仅重启一次到 IPv6 `::1`;IPv6 也必须实际取得有效 HTTP 响应,不得伪造就绪、绑定所有网卡或关闭鉴权。普通模式与安全模式使用同一规则,500 响应不得触发网络回退或算作就绪。日志同时记录桌面版本、实际监听地址和进程内 HTTP 自检;探测不带凭据、不跟随重定向、不输出自检 Token。恢复日志只去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布运行 `scripts/verify-harness-startup.mjs`,以包内 Node/Harness、真实 Chromium 页面验证普通与安全模式、Node 超时回退、IPv4 双通道受阻后 IPv6 鉴权和双通道真实无响应的有界失败。Mac 验收与 Windows 真机、安装升级、客户设备验收分别记录。
45
+ - Windows 的 IPv4/IPv6 TCP 都连接失败时,允许回退到本次启动创建的私有命名管道。必须先从管道取得真实 HTTP 响应,再沿用 Harness 原有 Host、Origin、启动 Token 和签名 Cookie 验证;不得跳过鉴权或开放公网。HTTP 请求与 `/api/remote.mux` 会话流都要验收,IPC 仅限当前主窗口顶层页面和固定端点,不暴露凭据、管道路径或任意代理能力。`scripts/verify-harness-pipe.mjs` 的 macOS Unix socket 验证不等于 Windows 命名管道或客户设备已通过。
46
+ - 当前 Electron 桌面运行时不能直接打包 iOS/Android,也不能把现有 DMG 原样提交 Mac App Store。移动端和 MAS 版应作为受限客户端,复用账号、模型、会话、MCP 与桌面配对协议,把 Node/Harness/Shell/插件执行放到配对桌面或合规远端;分别完成 Apple/Google 签名和商店审核。
47
+ - MAS 使用独立 `electron.vite.mas.config.ts` 与 `electron-builder.mas.cjs` 构建最小客户端,应用包只含客户端入口、受限 preload、静态界面和版权材料;不能把父工程依赖、Harness、独立 Node 或站外更新器混入沙盒包。正式包使用 Mac App Distribution 与 Mac Installer Distribution;本机验证使用 Mac Development 和包含该设备的开发描述文件。签名钥匙串必须先用实际保存的密码完成锁定、解锁往返验证,再启动构建;记录密码不得被重复生成过程覆盖。签名包、本机运行、Apple 上传处理、提交审核和正式上架分别回读,不能以包已生成代替上架。商店截屏使用经过验证的真实客户端界面,按 Apple 接受的高清尺寸上传,保留原始高清 Logo。
48
+ - Windows Microsoft Store 使用分配给产品的 MSIX Identity/Publisher,上传包由商店签名。MSIX 运行时以 Electron 的 `process.windowsStore` 识别,禁止调用官网 EXE 更新、降级或安装入口;手动检查更新转到该产品的 Microsoft Store 页面,版本列表不请求 NSIS 归档。包内 PE/x64、Manifest/BlockMap 校验、Windows 原生运行、商店认证和正式可下载分别记录。官网 Windows/macOS 下载按钮旁可展示真实商店产品链接,但审核中必须明确标注,不能把未开放页面称为已上架。
49
+ - 闭源商业项目要求免费可信 EXE 下载时,已发布的免费 Store MSIX 可使用 Microsoft Store Web Installer:从官方 badge 生成器的 Direct 模式取得该产品 `get.microsoft.com/installer/download/` 链接,验证真实下载的 Microsoft 签名及文件摘要。这是联网安装当前商店版的小型 EXE,不是给官网完整 NSIS EXE 签名;保留两渠道并说明版本差异,不把下载成功写成原生安装通过,不将动态安装器冒充固定版本 CDN 产物。按当前包 Manifest 的 MinVersion 和架构记录系统条件,分别说明旧 Windows、x86、ARM 仿真、LTSC/Server、离线与企业策略边界;不降低安全策略或虚构全部系统验收。自签名不能产生公众信任,免费开源签名服务不适用于私有商业源码。
50
+ - 复用已签名 MAS 应用制作开发测试包时,必须替换 `Contents/embedded.provisionprofile`,核对描述文件中的证书与开发签名及当前设备一致;`codesign --verify` 通过仍不能替代实际启动。资料目录中的描述文件保持私有权限,复制到安装包后设为普通用户可读,并检查整个有效载荷,避免 ITMS-90255。沙盒阻止调试监听时不得扩大正式包的网络监听权限;自动化测试入口只放入独立开发副本,正式入口、preload 与界面应核对同源,测试入口和配对口令不得进入正式安装包。安装包上传成功后仍要回读 Apple 处理状态、选择构建、上传高清素材并实际提交审核。
51
+ - 官方账号页和关于标签通过 `platform-current-user` 接口引擎读取当前 `sys_user.LicenseType`。桌面相关平台业务逻辑优先通过 `microi_itdos` 接口引擎实现;只有接口引擎缺少必需底层原子能力时才能改后端源码,并说明原因。
52
+ - 正式 Windows/macOS 安装包必须内置固定版本且经过 SHA-256 校验的 cloudflared,运行时优先使用安装包 `resources/bin`,避免首次联网临时下载。检查更新从 `https://api.itdos.com/microi-code/updates/` 的匿名接口引擎读取 YAML/JSON,安装包二进制仍通过 HDFS 流式发布。
53
+ - Windows 安装验收必须包含旧卸载器损坏后的升级、同版本重装、超过 260 字符的路径以及全部文件 SHA-256 回读。安装器使用当次发布的兼容卸载器,并用固定哈希的 Unicode 7-Zip 直接解压到目标目录,禁止恢复临时目录解压后使用 NSIS `CopyFiles` 复制的流程;该流程会将路径或复制错误误报为“应用无法关闭”。进程检查仅匹配安装目录内的产品主程序及内置 Node,不能按整个目录匹配安装器或无关程序。
54
+ - 长路径验收必须先安装完整旧版本,再在同一目录覆盖升级及再次重装,不能只在空目录或仅含模拟卸载器的目录安装。卸载清理、旧文件备份迁移和失败回滚均须支持 Windows 扩展路径;通过真实 NSIS 与独占文件句柄验证长路径迁移和占用回滚,不能仅用 JS 文件操作或首次解压测试替代。
55
+ - Windows 1.2.7 起安装失败诊断直接集成于安装器:失败窗口提供「复制安装日志」与「打开日志」,不另发独立诊断工具。`build/microi-installer-log.nsh` 在实际清理/解压/回滚步骤写入安装目录外的 UTF-8 日志,`build/microi-installer-diagnostics.ps1` 作为内嵌的只读补充,记录 Win32 访问错误和 Restart Manager 占用 PID。整份日志通过原生 Unicode 剪贴板复制;超过容量时明确拒绝而不截断。验收须真实点击复制按钮、核对中文长日志、占用文件的 Win32=32 与回滚;卸载退出码 2 不等同于 Win32 错误码 2,本机通过不代表客户机升级通过。
56
+ - Windows 1.2.8 起升级先在安装盘同级目录完整解压,再切换程序目录;旧文件仅同盘重命名,禁止回退到逐文件跨盘搬运。`build/microi-installer-transaction.nsh` 与相关 NSIS 补丁必须随上游同步永久保留。Win32=33 是文件区域锁错误,不能仅凭此指认某个安全软件;验收须在安装盘与 TEMP 不同的条件下持有真实字节锁,证明旧跨盘操作失败而新版安装成功,并验证持续占用、回滚与未知目标目录冲突。未恢复的同盘备份必须在安装退出后保留,不能存入会自动删除的临时目录;完整源文件哈希检查与客户设备验收分别记录。
57
+ - Windows 1.3.7 修复候选针对新版 stage 启用时 Win32=5 的单次失败:对 5/32/33 有限重试,再仅在成功新建的目标目录内做同盘文件重命名;以固定 UTF-16 日志记录迁移意图,部分失败逐项搬回,已有目标、未知文件与旧备份均不覆盖。回滚 EOF 和短记录必须停止,目录枚举句柄先关闭再删除空目录。真实 NSIS 回归覆盖短暂/持续错误 5、中途错误 5、文件冲突和未知目标;Wine 结果与 Windows 原生覆盖升级/全部文件哈希/最终程序启动分别报告。
58
+ - Windows 1.2.9 起本机启动探测必须使用覆盖 TCP 连接和响应头的硬超时;Harness 输出认证地址后,Node 请求失败可使用实际渲染页面的 Chromium 网络通道回退,严格限制为本次 `http://127.0.0.1:端口/`、不带凭据、不跟随重定向。记录两个通道的真实错误;只有响应正常且存在本次认证信息才可启动页面。恢复日志只能去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布必须运行 `scripts/verify-harness-startup.mjs`,使用发布包内 Node/Harness 验证普通与安全模式、注入 Node 超时后由真实 Chromium 渲染新会话控件,以及双通道真实不响应的有界失败;本机验证不能称为客户设备已通过。
59
+ - 桌面平台 Worker 必须在真实安装包内验证 IPC 与 Windows DPAPI。旧保险库只有成功解密且明文为零字节时才允许迁移为空文档;损坏或其他 Windows 用户的保险库保留原文件并返回具体错误。启动初始化拒绝不能让 Node 服务退出;单元测试、安装成功与真实桌面账号/AI 员工页面联调是三个独立验收层。
60
+ - dsh-desktop 升级必须遵循 `Microi.Agent/同步dsh-desktop上游.md` 的三方同步流程和补丁意图清单;`microi/`、`packages/microi-code-*` 与桥接代码是永久保护区,普通上游文件使用三方比较,补丁必须经 `npm ci` 重放。关于页、NOTICE、MIT License、DataElement 版权与两个上游仓库链接不得删除。停止或退出后的任务保留历史,当前 SDK 的跨进程历史仅供查看,需新建任务引用继续。
61
+
62
+ ### 默认中文输出
63
+
64
+ - 面向用户的回答、计划、工具说明、错误解释和可见进度默认使用简体中文;代码、协议字段、命令、模型名称和路径保留原文。
65
+ - 这条规则通过 Microi Skills 同步到 Microi Agent、Codex、DeepSeek Harness、WorkBuddy、CodeBuddy 和 OpenCode 的工作区指令;宿主或模型支持自定义系统提示时,也应将同一条规则放在最高优先级的用户可见输出约束中。
66
+ - 中文规则只能约束可见回答、计划和工具摘要;模型服务内部隐藏思考的语言由模型决定,客户端不能保证每一个内部 token 都是中文,也不应把内部思考当成可导出内容。
67
+
68
+ ## 非阻塞自动更新(强制)
69
+
70
+ 每次新建或接续吾码任务必须执行 `workspace-conventions` 的版本检查、首次“Microi吾码开发工具版本”播报与后台自动升级,不限模型。先调用 `microi_codex action="profiles"` 读取 `toolchain` 中的当前已加载版本、工作区 Skills 版本和自动更新状态;未知项准确标记,不能把当前进程版本当成全局 CLI 或 npm 最新版。完整强制规范只维护在基础入口。
71
+
72
+ Codex Router 启动后会异步调用 bundled CLI 的 `microi update --background`。需要了解完整安装/诊断机制时读取同级 `microi-codex-installer/SKILL.md`;更新检查不得发生在用户工作之前,也不得让任务等待。
73
+
74
+ 自动更新会从 npm 官方 registry 升级 CLI,更新 Codex/DeepSeek Harness 插件并重新初始化工作区 AI/MCP。当前 Router、DSH 会话和已经启动的 MCP 继续使用旧版本,不被杀死或强制重载;新版供后续新进程使用。自动更新失败、被占用或用户暂不重载时,只记录/提示并继续当前、正在进行和新建任务;不得要求升级授权,也不得把版本状态当作业务门禁。
75
+
76
+ ## 先确认工作区连接
77
+
78
+ 1. 调用 `microi_codex`,传 `{ "action": "profiles" }`。
79
+ 2. 只有一个已登录连接时,后续可以省略 `profile`;存在多个连接时,始终传 `profiles` 返回的稳定 `name`。
80
+ 3. 尚未初始化时,插件根目录是本文件向上两级;使用其中的 `scripts/microi-cli.js`:
81
+ - `node <plugin-root>/scripts/microi-cli.js init --workspace <workspace>`
82
+ - 多连接:`profile list|add|remove`
83
+ - 登录:`auth login|status|logout --profile <name>`
84
+ - 诊断:`doctor --json`
85
+ 4. 登录会在真实终端中隐式输入密码;不要把密码写入命令、日志、Skill、MCP 参数或工作区文件。Token 继续写入 `Microi-V8-Engine/.microi-mcp-tokens.json`,并按 API、OsClient、Type、Network 四段身份隔离。
86
+
87
+ ## 功能路由
88
+
89
+ - 连接、登录、拉取、推送、差异和 AI 初始化:使用 bundled CLI 的 `profile`、`auth`、`pull`、`push`、`sync status`、`ai init`、`mcp init`、`doctor`。
90
+ - 接口引擎、表单事件、模块、字段、工作流和数据库结构:先用 `action="list_tools"` / `describe_tool`,再调用对应原始 `microi_*` 工具。写工具必须保留确认口令、审计与回读。
91
+ - 远程执行与调试:读取 `v8-debugging/SKILL.md`。Codex 用“获取源码 → 远程执行 → 定位堆栈/日志 → 最小补丁 → 再执行”的结构化循环代替 VS Code DAP 的可视化逐行面板;不得把未执行的源码检查称为真机调试成功。
92
+ - 性能测试:读取 `performance-testing/SKILL.md`,限制并发并输出样本、P95/P99、错误率和停止条件。
93
+ - 系统日志、内存吃满、OOM 与接口/V8 异常分配:读取 `system-observability/SKILL.md` 及其内存事故手册,使用专用 MCP 的 `Capabilities` → `Memory` → 事故历史/详情 → `Trace`,先查采集质量再归因。
94
+ - 微应用:读取 `microi-microservice/SKILL.md`,使用 scaffold、source sync、stream publish 和发布回读原工具;本地构建前遵守内存保护。
95
+ - Playwright:读取 `playwright-e2e/SKILL.md`,使用当前已登录浏览器或受控 Playwright;报告必须来自实际页面执行。
96
+ - 其他领域:从本插件同级 Skills 里选择最小相关 Skill,并完整读取后执行。
97
+
94
98
  ## 同步与安全边界
95
99
 
96
100
  - 发布扩展与 CLI/AI Plugin 前检查实际 VSIX:完整清单、字节数、SHA-256 和敏感文件扫描回执保存在 `.tmp/development-tools-releases/<版本>/`;逐字节核对 MCP 输出/构建输入与 Skills 全部文件同源。归档超过 64 MiB 或混入签名资料、凭据、桌面安装包、工具链、apps、upstream、同步目录或 node_modules 时停止,修复误包后复测;断点补发使用同一门禁,不用 `vsce ls` 替代归档检查。npm Token 只绑定官方 HTTPS registry,私有 npmrc 仅引用 `${NPM_TOKEN}`;同时固定 `npm_config_userconfig` / `NPM_CONFIG_USERCONFIG` 与 registry 两种大小写变量,避免外层 `npm run` 的配置遮蔽有效 Token。不输出凭据,不因继承错误重复要求登录;已发布正确制品保留,发行内容变化使用新不可变版本。
97
-
98
- - `Microi-V8-Engine/.microi-config.json` 是三端连接配置事实源;未知字段必须保留。
99
- - CLI、VS Code、Codex 与 DeepSeek Harness 插件可以在同一工作区并存;各端必须复用同一配置/Token/MCP 协议,带版本写入实行较新 provider 优先,禁止旧入口回写降级。`doctor.coexistence` 未通过时准确报告兼容风险并后台修复,但不得因此停止无关工作。
100
- - 推送前先做远端差异检查。写请求超时只表示结果不确定,使用对应 get 工具短超时回读,禁止盲目重复创建或覆盖。
101
- - 配置和 Token 文件使用现有原子写与锁协议;不要手工拼接或清空用户已有 MCP 配置。
102
- - Codex Plugin 路由器只选择连接,业务行为必须继续走原 MCP bundle。
103
-
104
- 完整 VS Code 命令覆盖关系见插件根目录 `assets/feature-matrix.json`。
101
+
102
+ - `Microi-V8-Engine/.microi-config.json` 是三端连接配置事实源;未知字段必须保留。
103
+ - CLI、VS Code、Codex 与 DeepSeek Harness 插件可以在同一工作区并存;各端必须复用同一配置/Token/MCP 协议,带版本写入实行较新 provider 优先,禁止旧入口回写降级。`doctor.coexistence` 未通过时准确报告兼容风险并后台修复,但不得因此停止无关工作。
104
+ - 推送前先做远端差异检查。写请求超时只表示结果不确定,使用对应 get 工具短超时回读,禁止盲目重复创建或覆盖。
105
+ - 配置和 Token 文件使用现有原子写与锁协议;不要手工拼接或清空用户已有 MCP 配置。
106
+ - Codex Plugin 路由器只选择连接,业务行为必须继续走原 MCP bundle。
107
+
108
+ 完整 VS Code 命令覆盖关系见插件根目录 `assets/feature-matrix.json`。
@@ -12,7 +12,7 @@ description: Microi 移动端质量门禁,适用于 UniApp/H5/微信小程序
12
12
  自动触发:只要任务涉及 Microi 移动端应用、H5、微信小程序、App 构建、uni-app 项目、登录页、tabbar、首页、我的页、工作台、报告页、视觉重设计或移动端验收,即使用户没有明确点名,也要应用本 skill。
13
13
 
14
14
  <!-- microi-progressive:begin -->
15
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-000 sha256=9f83607349ba6e305c3d2993de8eeceab70c344557e5dfa2a5be964492ef4685 -->
15
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-000 sha256=285994dc05b3ecd321e88a087d4bf5b98c1798898d1bf6861f35ea067d5aade3 -->
16
16
  ## 1. 导航和快捷入口必须使用真实图标
17
17
 
18
18
  底部导航、首页快捷入口、会员中心快捷项、九宫格操作和悬浮操作,必须在文字上方或旁边显示可识别的图标。
@@ -39,8 +39,20 @@ description: Microi 移动端质量门禁,适用于 UniApp/H5/微信小程序
39
39
  - 主题切换后重新截图底部导航、首页快捷入口和个人中心快捷入口;任何一个图标在圆底上看不清,都算验收失败。
40
40
  - UniApp H5 桌面预览可以显示手机壳;真机和浏览器移动设备仿真必须自动去壳并铺满视口。自动化测试要分别断言桌面手机壳存在、移动端手机壳标题隐藏,同时检查所有底部菜单包含真实图标节点。
41
41
 
42
+ ### 1.0 底部导航必须通过几何门禁
43
+
44
+ - H5 安全区只采用浏览器提供的 `env(safe-area-inset-bottom)` 等可信来源;禁止把 `screen.height - window.innerHeight`、`screenHeight - windowHeight` 或浏览器工具栏高度当作安全区。桌面非最大化窗口、缩放和手机地址栏收展时,这些差值可能达到数百像素。App/小程序读取平台权威 inset,`0` 是有效值,禁止 `inset || guessedFallback` 把零替换为猜测值。
45
+
46
+ - 图标存在、页面截图生成和按钮可见都不足以通过验收。必须测量手机壳内屏或移动可见视口、导航外框、每个菜单触摸区与正文滚动区的真实矩形;导航外框底边贴齐所属内屏底边,导航项下方只保留设计间距和真实系统安全区。
47
+ - 桌面手机壳须有明确的可用高度;底部导航贴壳底,不贴浏览器外窗底。手机和移动设备仿真自动去壳;横屏、旋转和宽屏手机不能仅因宽度超过断点就变成桌面预览。
48
+ - 页面壳按“头部不收缩、正文 `flex:1; min-height:0`、导航 `flex-shrink:0`”分配空间。普通单列页只允许一个正文滚动 owner,不能让 body、路由包装层和正文同时滚动;短内容也不能把导航挤到中间或在导航下方留下大块空白。
49
+ - 安全区来自运行时或 CSS `env` 的统一变量,只消费一次。流内导航已占据布局空间时,正文不再预留整条导航高度;覆盖式导航才预留其**实测总高度**,不能同时累加导航高度、固定占位和第二份安全区。桌面无真实手势区时不得伪造几十像素底部 padding。
50
+ - 宽度受限的 H5 手机壳仍可能按浏览器宽度换算 `rpx`,必须检查 `pages.json.globalStyle` 的 `rpxCalcMaxDeviceWidth / rpxCalcBaseDeviceWidth` 和实际构建产物;导航高度、图标和尾部占位不得随 4K 桌面视口放大。`750rpx` 不能充当容器 `100%`。
51
+ - 至少覆盖三个主 Tab(不足三个时覆盖全部)、短内容/空态与长内容滚动到底;桌面正常/矮屏、375px/430px 手机、断点两侧、横竖屏和键盘打开/关闭均须留存矩形断言与**视口截图**。`fullPage` 长图不能证明首屏导航贴底;浏览器缩放视口测试不能冒充真实软键盘或真机验收。
52
+ - 详细布局、矩形断言示例与安全区所有权见 [UniApp 布局与安全区参考](../microi-uniapp-frontend/references/progressive-01-移动端分类-双栏列表独立滚动.md#h5-在-pc-浏览器必须自动模拟移动端)。
53
+
42
54
  <!-- /microi-progressive:chunk -->
43
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-001 sha256=4e1b247852aa9f235a26f756d415ebb9fb922f2fea0569bda1bdc8e0b91c4d1c -->
55
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-001 sha256=a5e92f4e6114635b73be59d2a550294bb79dd8c60a3cc2133be16c934e05da8e -->
44
56
  ## 1.1 包体资源必须按用途分层
45
57
 
46
58
  - 构建前扫描图片、音频、视频、字体和第三方资源;公开的大资源优先上传到当前租户 HDFS 公有桶并通过 `sys_config.FileServer`/CDN 引用,敏感资源使用私有桶。
@@ -51,7 +63,7 @@ description: Microi 移动端质量门禁,适用于 UniApp/H5/微信小程序
51
63
  - 迁移到 HDFS/CDN 后必须从构建产物确认原大文件已经消失,并从业务记录/配置回读相对 `Path`;页面要先加载当前租户 `SysConfig.FileServer`,不得以源码硬编码 CDN 域名替代运行期配置。远程资源加载失败时只能回退到轻量本地占位,不得把原大图重新塞回主包。
52
64
 
53
65
  <!-- /microi-progressive:chunk -->
54
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-002 sha256=b8e83d75588362899921af62996577277ba77b2fab86767317d62607cec80a84 -->
66
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-002 sha256=470ad2ef6382f8564ca54feb74957701b851d00ca69948b87e347715fa08e6c6 -->
55
67
  ## 2. 不要猜测 Microi 前端 SDK 登录接口
56
68
 
57
69
  编写登录代码前,先检查本地项目 SDK 封装,例如 `src/utils/microi.v8.js`、`src/utils/api.js`,或标准 `microi.uniapp` 登录实现。
@@ -82,7 +94,7 @@ description: Microi 移动端质量门禁,适用于 UniApp/H5/微信小程序
82
94
  - 自动回归覆盖并发引导、去重取消无 `complete`、失败重试、历史重复登录栈、登录成功后返回及业务页继续初始化、旧弹窗迟到和页面销毁;真实开发者工具与真机另验冷启动及分享接收,不能用模拟会话代替授权登录。
83
95
 
84
96
  <!-- /microi-progressive:chunk -->
85
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-003 sha256=a35f20404acbf61814f9475610f881f7c60effc0ce3bb8797cee300cd3349ba7 -->
97
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-003 sha256=fec4c841ed7a897643a4c16337dce79a9be22931866af8aa7f888cbae5e72a20 -->
86
98
  ## 2.1 登录验证码必须跟随 Sys_Config.EnableCaptcha
87
99
 
88
100
  PC 端、H5、App、微信小程序或任何自定义前端只要调用 `/api/SysUser/login`、`/api/SysUser/Login` 或 `V8.Login(param)`,都必须先读取 `Sys_Config` 的 `EnableCaptcha` 配置,并按配置决定是否展示和提交图形验证码。
@@ -108,7 +120,7 @@ PC 端、H5、App、微信小程序或任何自定义前端只要调用 `/api/Sy
108
120
  - 参考标准实现:`microi.uniapp/src/pages/login/index.vue`。
109
121
 
110
122
  <!-- /microi-progressive:chunk -->
111
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-004 sha256=22bdaf38588f251016e115f1ad15a433e827fb2191041d55ecad42cda94253d1 -->
123
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-004 sha256=84a0f768af152f584f87643e1037a0ae57261df8947cc59710e1f021b99c287f -->
112
124
  ## 3. OsClient 请求头不得重复
113
125
 
114
126
  Microi 请求只能发送一个不区分大小写的 OsClient 请求头。浏览器、代理或服务端运行时可能把 `OsClient` 和 `osclient` 这类大小写重复键合并成 `demo, demo`,导致租户识别失败。
@@ -130,7 +142,7 @@ Microi 请求只能发送一个不区分大小写的 OsClient 请求头。浏览
130
142
  - 微信/支付宝/飞书/抖音等小程序授权登录接口也必须检查,例如 `/apiengine/miniprogram-login`,不得出现 `osclient: demo, demo` 这类合并值。
131
143
 
132
144
  <!-- /microi-progressive:chunk -->
133
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-005 sha256=1394c7fb8e59b25553e2f9b71ab7f8cf03290b6930c8d8436123bc6048ad2435 -->
145
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-005 sha256=aefc3f7242a62ac411fa234fe322dd7726a8ed7db4f0d35e01cc364a36e8a335 -->
134
146
  ## 3.1 小程序授权登录必须可追踪、可读错误
135
147
 
136
148
  微信开发者工具的模拟授权与体验版真机调用不是同一条真实链路。手机号授权登录接口必须按阶段诊断,不能只返回“手机号登录失败”。
@@ -149,7 +161,7 @@ Microi 请求只能发送一个不区分大小写的 OsClient 请求头。浏览
149
161
  - 体验版真机复测授权登录;不能只以开发者工具模拟成功作为上线依据。
150
162
 
151
163
  <!-- /microi-progressive:chunk -->
152
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-006 sha256=feb9ba3267bdf1f6394c425b45dd71e19ac4382ae05549d6e1b6b664c6517a19 -->
164
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-006 sha256=e2446ca4c0fca61d3c748c2f91c585d9da0df9ee9a0170f70d823b0c0745a88e -->
153
165
  ## 3.1.1 手机号快速验证前置页不得混淆腾讯官方
154
166
 
155
167
  - 调用手机号快速验证组件前展示的登录页、弹窗、按钮、说明、分享标题和失败提示中,禁止出现“微信”“微信官方”“微信登录”“一键登录”等可能让用户误认为腾讯官方功能或官方产品的文案。
@@ -158,7 +170,7 @@ Microi 请求只能发送一个不区分大小写的 OsClient 请求头。浏览
158
170
  - `build:mp-weixin` 后必须扫描登录页源码和 `dist/build/mp-weixin/pages/login/` 产物中的可见文案,并对手机号快速验证前置页截图;发现混淆词、官方 Logo 或近似元素时阻止上传和提审。
159
171
 
160
172
  <!-- /microi-progressive:chunk -->
161
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-007 sha256=7598db1fdabfe127c2be7593b83dc3a246b1db852d9c0d4001f849d3e97aa273 -->
173
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-007 sha256=15dc4a001ce3bf6f3620b741cf1bf7dd92e4ff8372eeb256f01c5e2aabba8398 -->
162
174
  ## 3.2 微信小程序每个页面默认支持分享
163
175
 
164
176
  小程序项目必须默认支持转发给朋友和分享到朋友圈,不能只给首页或公开页添加分享。登录和权限控制属于访问阶段,不得用来隐藏分享能力。
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
4
 
5
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-008 sha256=765335189d85b558ad29ba73c04d1cf078101ee94819f969195b50440a82106f -->
5
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-008 sha256=8cc961b2ba44763893f3cc09fbfca36668061b6bd75fc8f066904a04622948ff -->
6
6
  ## 4. 重要按钮必须带图标
7
7
 
8
8
  醒目的主操作必须使用打磨过的图标加文字按钮。
@@ -23,7 +23,7 @@
23
23
  - 确认主操作有图标、合适的加载文案和按下反馈。
24
24
 
25
25
  <!-- /microi-progressive:chunk -->
26
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-009 sha256=e3c66bd92ca059235a7a3b0ece2fdfa598a41eaa149d0ee3a0d24d0d822a9f58 -->
26
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-009 sha256=47248f77c0a41a7fd64f6a255d8c9af356b6768e5167c73a48d60b86f1ab9899 -->
27
27
  ## 4.1 模块列表优先使用声明式业务卡片
28
28
 
29
29
  Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆叠。优先在
@@ -53,7 +53,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
53
53
  - 批量选择后出现底部操作条;取消选择、执行按钮、更多菜单均可单手点击。
54
54
 
55
55
  <!-- /microi-progressive:chunk -->
56
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-010 sha256=2ddd560cf3620f8fb7f3cf64d62566206430ee14e6ac380a3023c5b9047b4f46 -->
56
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-010 sha256=979733873bd74cd95b0c84988a8d3709f673a813dc212076e4f02e8b376fb492 -->
57
57
  ## 5. 首屏文字和浮层不得重叠
58
58
 
59
59
  移动端首屏常组合大首屏区域和悬浮快捷面板。这个布局必须视觉检查,因为过大的中文标题和激进的负边距容易造成难看的换行或遮挡主按钮。
@@ -74,7 +74,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
74
74
  - 检查首屏标题、主/次按钮和后续悬浮面板是否裁切或重叠。
75
75
 
76
76
  <!-- /microi-progressive:chunk -->
77
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-011 sha256=b599e047e6b7a3688e4264a4d4b334e220e9798cbc13326e85a06f52bf20ce12 -->
77
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-011 sha256=47a21d62bc04740ed19eea3f7c2c816e4c73b9054de63beb16df12468c6a4363 -->
78
78
  ## 5.1 未登录/授权提示必须在可用内容区居中
79
79
 
80
80
  未登录、未授权、无权限等提示模块不能贴在页面顶部。页面上方有 hero/header,下方有 tabBar 或固定底栏时,提示卡片和“立即登录/去授权”按钮必须在剩余可用内容区上下左右居中。
@@ -94,7 +94,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
94
94
  - 375px、430px、iOS 刘海屏/灵动岛和 Android 状态栏场景均不得出现贴顶或按钮文字偏移。
95
95
 
96
96
  <!-- /microi-progressive:chunk -->
97
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-012 sha256=a363aaead9b632f3533e2f046f39cf7b579a91b92ef4e33d42f848d5a7538515 -->
97
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-012 sha256=fb7a9bfb6e8be41d472df82edf6238b9d09e6aeabd54eb71bce2a255a50c6326 -->
98
98
  ## 5.2 自定义导航页面必须通过安全区与微信胶囊门禁
99
99
 
100
100
  `navigationStyle: custom` 代表应用接管了系统导航区域,页面壳必须同时负责状态栏、刘海/灵动岛、微信右上角胶囊和底部手势区,不能把这一责任留给业务页面自行估算。
@@ -104,7 +104,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
104
104
  - CSS `env(safe-area-inset-*)` 只能作为 H5 兜底,不能作为微信小程序唯一实现。真实值应注入 `--mci-safe-top`、`--mci-safe-bottom` 等共享变量。
105
105
  - 微信小程序必须读取 `getMenuButtonBoundingClientRect()` 并为顶部栏预留胶囊右侧宽度;标题、登录、分享、状态按钮与返回按钮都不能和胶囊相交。
106
106
  - 全屏弹层或工作台的多按钮头部必须纳入同一门禁。若按钮组不能完整放在胶囊左侧,标题和按钮组整体布局到胶囊底边以下;不得让关闭按钮被原生“更多/关闭”覆盖。
107
- - 底部导航、fixed 提交栏、底部弹层和正文滚动区必须消费同一个底部安全变量,正文还要预留完整固定栏高度。
107
+ - 底部导航、fixed 提交栏、底部弹层和正文滚动区使用同一个底部安全变量,并明确空间所有者。流内导航已经占高度时正文不再加整条栏占位;覆盖式栏才由共享布局预留一次实测总高度,安全区包含在该高度内,不能再叠一份。
108
108
  - 审计 `pages.json` 的全部页面:每一个自定义导航路由都必须使用统一安全页面壳。首页通过不代表详情页、表单页、管理页已经通过。
109
109
 
110
110
  自动化验收:
@@ -112,8 +112,19 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
112
112
  - 断言首个可交互元素位于状态栏下方,逐个读取顶部按钮与胶囊的矩形并确认不相交,底部导航/按钮位于手势条上方,最后一条滚动内容可完整显示。
113
113
  - 发现任意页面被遮挡时,必须修复共享页面壳并重跑全路由;禁止只给当前截图页面增加固定 padding。
114
114
 
115
+ ### 5.2.1 底部空白、滚动和键盘必须测量
116
+
117
+ - 安全区来源单独回读:H5 使用 CSS 环境安全区,禁止将 `screenHeight - windowHeight` 当作底部 inset。App/小程序按各端权威接口取值,`0` 必须原样保留;不得以 `inset || guessedFallback` 触发估算。用非最大化桌面窗口、浏览器缩放和地址栏收展重测,不能仅用 `screen === viewport` 的固定截图通过门禁。
118
+
119
+ - 矩形断言以实际页面内屏为边界:桌面使用手机壳内屏,移动端使用当前可见视口;导航底边与该边界的差应在事先约定的舍入容差内(示例 `2 CSS px`)。壳外阴影、边框和桌面留边不算导航下方空白。
120
+ - 同时量导航外框和内部菜单触摸区。外框贴底但高度几百像素、菜单挤在其顶部仍算失败;内部菜单下方剩余高度只能等于真实安全区加设计底间距,不能把多余区域都解释成“安全区”。
121
+ - 至少选三个主 Tab,在初始、滚动中、滚动到底、切回短内容/空态后重复测量;导航位置应稳定,最后一项不能被导航遮挡。普通单列页只允许一个主体滚动 owner,桌面 body 不应跟随正文滚动。
122
+ - 覆盖桌面正常与矮屏、375px/430px 手机、预览断点两侧、手机横屏和旋转后恢复。`rpx` 换算要在 768px、960px 和 4K 外窗下检查实际导航高度,不能只看源码写了 `430px` 壳宽。
123
+ - 输入框获得焦点、软键盘打开、关闭和返回后重新验证可见区域与导航。H5 结合 `visualViewport` 的尺寸/偏移判断真实可见范围,原生端遵守其键盘模式;缩小浏览器视口只证明 resize 响应,不能证明 iOS/Android 真键盘行为。
124
+ - 取 `fullPage:false` 的真实视口截图并核对导航下方区域。长页 `fullPage` 图中导航可能位于图中部,不能据此判定贴底,也不能仅凭长图或图标存在宣称布局通过。
125
+
115
126
  <!-- /microi-progressive:chunk -->
116
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-013 sha256=207765d0398738f24566763a2481469f4fc63e8a0b5f00abd292fe8a1cdd225a -->
127
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-013 sha256=f4e1f01f3dde22120ecba9131b5c738118c0e4aa8131ea83978f3e1d6b4db289 -->
117
128
  ## 5.3 全屏工具页必须遵守返回状态栈
118
129
 
119
130
  - AI 助手、扫码工作台、全屏预览等独占视口功能需要手机侧滑返回时,优先使用独立路由承载;普通 `position:fixed` 蒙层不能冒充页面历史。
@@ -122,7 +133,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
122
133
  - 自动化至少覆盖关闭按钮、Android 返回键/`onBackPress`、微信侧滑返回三条路径,并验证返回后原页面和滚动状态仍然可用。
123
134
 
124
135
  <!-- /microi-progressive:chunk -->
125
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-014 sha256=1451e6ffbb0c0d29d8362e400540e3fa4f9f38a2402a9faf93de4cce7b1c9b4c -->
136
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-014 sha256=eaf8ac0e9edadf382a08951d6c43b9ab561dd2a8ee02fc80048fc843e4656033 -->
126
137
  ## 5.4 微信浮动入口必须通过真实事件桥门禁
127
138
 
128
139
  - UniApp 自定义组件中的浮动按钮、拖拽助手和悬浮客服不得只做 H5 点击测试。必须在微信运行时找到真实组件节点,派发 `touchstart/touchend`,并断言页面栈、弹层状态或业务动作确实变化。
@@ -131,7 +142,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
131
142
  - 自动化需增加对照按钮:同页普通按钮可点击、浮动入口也可点击,才能确认不是自动化连接或页面整体失效。
132
143
 
133
144
  <!-- /microi-progressive:chunk -->
134
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-015 sha256=8377f92a7456bd68e83867e893f1c9e8eec9edf0bba2a3f434c5bce75a9e2d00 -->
145
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-015 sha256=3a65e2da022d493b7d950450a10186d33652ec4225c359d9b3800ef431458525 -->
135
146
  ## 6. 后台菜单必须规划为至少两级
136
147
 
137
148
  真实业务系统的后台菜单不能简单堆成一批一级菜单。
@@ -159,7 +170,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
159
170
  - 最终回复必须说明通过 MCP 写入的真实菜单树,以及执行过的权限刷新。
160
171
 
161
172
  <!-- /microi-progressive:chunk -->
162
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-016 sha256=0c1632d28f986156f8d70b2710dc0219de4643b4b9c61771ac544a18f4c355ac -->
173
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-016 sha256=808d3a4d3e7736566e1dd23c287a9316ea851c3ca212ffe283f49e565a7e0a3d -->
163
174
  ## 7. 移动端页面需要动效,但动效必须有用
164
175
 
165
176
  移动端产品不应像静态后台表单。
@@ -181,7 +192,7 @@ Microi.Client 的标准模块移动端不应把 PC 表格字段机械纵向堆
181
192
  - 没有动画导致横向溢出、文字裁切或固定栏抖动。
182
193
 
183
194
  <!-- /microi-progressive:chunk -->
184
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-017 sha256=2dcca5305da25f543181ae23550547cb3e3761aebae2843c5fc60e7848153176 -->
195
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-017 sha256=15d415351b8e3a7700d56cab2b39079494b06265b7d648636d1e511db1892161 -->
185
196
  ## 8. 登录页必须是直接登录界面
186
197
 
187
198
  登录页不能强迫用户先在两个身份标签之间切换才能登录。
@@ -2,7 +2,7 @@
2
2
 
3
3
  > 按需读取;本文件由 SKILL.md 的原章节无损拆分。
4
4
 
5
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-018 sha256=b6e3138b7f398fad5b03253d07c1eb30e26da5c3df8ff1975117e5a3a282fd58 -->
5
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-018 sha256=28b7c339cbf546a91f4f35fce2bc146f052283fad2b6c54d7a8971acde21740a -->
6
6
  ## 9. 主题切换必须真实且全局生效
7
7
 
8
8
  当客户要求增加另一种视觉风格时,除非用户明确要求删除,否则要把当前已认可设计保留为一个命名主题,而不是直接覆盖。
@@ -39,7 +39,7 @@
39
39
  - 报告详情页必须逐主题截图,检查 `INSPECTION REPORT`、状态胶囊、封面标题、摘要卡、报告正文和富文本在当前主题下都有足够对比度。
40
40
 
41
41
  <!-- /microi-progressive:chunk -->
42
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-019 sha256=f2ca99aebb70273d991f5142e88bd1e02ff42782df5a8e7e180de297fba0faac -->
42
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-019 sha256=406cf4edff553e80567a6462a68b872d98275358b89ff196df0873f78a2c30a9 -->
43
43
  ## 10. 报告/列表详情必须保留用户身份
44
44
 
45
45
  从列表进入详情时必须保留调用者身份模型。即使打开的是同一个视觉报告详情页,员工、客户和公开/分享路线也可能需要不同接口。
@@ -60,7 +60,7 @@
60
60
  - 确认点击可见卡片后不会发生意外登录跳转。
61
61
 
62
62
  <!-- /microi-progressive:chunk -->
63
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-020 sha256=95487284aa5f9b1b3a0fb557845b3400af0355e4b2ebf6abebbef461e8ec8485 -->
63
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-020 sha256=c11ddf69390b21893b0bbb7de62592b8af6e9ecee5eb046bbeff99f3782e7493 -->
64
64
  ## 11. 角色与权限必须基于 sys_user.RoleIds 建模
65
65
 
66
66
  移动端和后台不能只区分“已登录/未登录”。企业应用通常至少有内部员工、售后师傅、客服、客户账号等角色,必须在建模阶段明确角色、菜单权限和数据权限。
@@ -93,7 +93,7 @@
93
93
  - 用未绑定的小程序手机号账号登录,截图确认“我的”页出现申请绑定身份入口;提交申请后后台能看到待审核记录;通过审核前数据权限不提前开放,通过审核后对应客户数据或内部工作台能力才出现。
94
94
 
95
95
  <!-- /microi-progressive:chunk -->
96
- <!-- microi-progressive:chunk id=microi-mobile-app-quality-021 sha256=13405c8ce231e9db8920cd8e1c4e0db26a32c1b5ac967113abee1391985ebfcd -->
96
+ <!-- microi-progressive:chunk id=microi-mobile-app-quality-021 sha256=e177d9cc3a9c28603129f42b598d2af72ecf305e934a982ed9801ca0d5a9e73c -->
97
97
  ## 审核后的会话与角色同步(强制)
98
98
 
99
99
  - 审核通过后的数据库角色、服务端 DiyToken 身份投影、SDK 用户缓存、页面 capability 和申请状态必须一致,禁止以“退出重登后正常”作为验收成功。
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: microi-system-delivery
3
- description: Microi 吾码从自然语言交付完整系统的总控规范。用于通过 MCP、VS Code 插件、V8 引擎、低代码元数据、UniApp/H5、PC 后台和 Playwright E2E 设计、生成、升级、测试、同步或交付完整 Microi 系统。
3
+ description: 已初始化吾码工作区的默认 AI 开发总控入口,用户只描述需求也必须读取,无需指定 Skill 名称。用于通过 MCP、VS Code 插件、V8、低代码、UniApp/H5、PC 后台和 Playwright E2E 开发、修改、分析或交付 Microi 系统,按用户范围路由相关专项 Skills。
4
4
  ---
5
5
 
6
6
  > **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
@@ -9,7 +9,9 @@ description: Microi 吾码从自然语言交付完整系统的总控规范。用
9
9
 
10
10
  本 Skill 来自一次完整业务系统交付复盘。目标是让下一套 OA、ERP、MES、CRM、商城、预约、互联网项目等 Microi 系统少走返工路:先固定事实源,再用 MCP 正确建模,最后用可视化和业务闭环测试证明可交付。
11
11
 
12
- 用户只需提供业务需求、目标 MCP 连接及可选需求文件/验收地址,不必重复粘贴长提示词。
12
+ 本 Skill 是已初始化吾码工作区的默认开发总控入口。用户直接描述需求即可,无需指定 Skill 名称;
13
+ 目标 MCP 连接可沿用当前项目或唯一已登录连接,需求文件/验收地址按需提供。
14
+ 任何吾码开发任务先读本入口与八项清单,再按下表读取相关专项 Skill。
13
15
  收到“完整开发/交付系统”请求时,必须先读取
14
16
  [完整系统开发默认交付清单(原推荐提示词 1–8)](references/progressive-01-标准工作流.md#完整系统开发默认交付清单原推荐提示词-18),
15
17
  逐项执行并记录覆盖结果;不能只交方案、示例或待办。局部修改、只读分析按用户实际范围执行,