@microi.net/cli 6.0.2 → 6.0.4
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.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +43 -43
- package/.mcp.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/LICENSE +21 -21
- package/README.md +71 -71
- package/assets/build-meta.json +6 -6
- package/assets/feature-matrix.json +138 -138
- package/assets/logo.svg +4 -4
- package/cordis.patch.yml +1 -1
- package/package.json +82 -82
- package/scripts/codex-marketplace.json +20 -20
- package/scripts/mcp-codex-stdio-adapter.js +189 -189
- package/scripts/mcp-server.js +50 -50
- package/scripts/mcp-trae-windows-launcher.cmd +21 -21
- package/scripts/microi-cli-mcp.js +7 -7
- package/scripts/microi-codex-broker.js +466 -466
- package/scripts/microi-codex-router.js +635 -635
- package/scripts/microi-skills.meta.json +209 -209
- package/skills/.microi-skills-version.json +6 -6
- package/skills/.progressive-disclosure-manifest.json +5 -5
- package/skills/microi-client-frontend/SKILL.md +19 -19
- package/skills/microi-microservice/SKILL.md +348 -348
- package/skills/page-engine/SKILL.md +24 -24
- package/skills/playwright-e2e/SKILL.md +30 -30
- package/skills/v8-api-config/SKILL.md +400 -388
- package/skills/workspace-conventions/SKILL.md +11 -3
|
@@ -18,15 +18,23 @@ description: 每次 Microi 任务开始前必读的基础规范。用于识别
|
|
|
18
18
|
|
|
19
19
|
本节适用于开发、测试、诊断和发布产生的全部自有临时资产,包括工作区根 `.tmp/`、宿主临时目录(如 `$CODEX_HOME/tmp`)和隔离 Git worktree,并替代历史“任务完成后可以不清理”的约定。目录位置和 `.gitignore` 不改变收尾责任。
|
|
20
20
|
|
|
21
|
-
- 创建前使用独立的 `.tmp
|
|
21
|
+
- 创建前使用独立的 `.tmp/<任务标识>/`,登记本任务创建的目录、文件、进程及用途;不得混用其它任务目录,既有文件或共享依赖不因本轮使用而取得删除权。每轮测试及任务成功、失败、取消或中断退出时都执行 `finally` / teardown,先核验并关闭本任务的写入者、浏览器和临时服务,再删除本轮已无用途的临时文件;不能等用户再次要求清理磁盘。
|
|
22
22
|
- 默认删除本任务的一次性脚本、下载/解压副本、编译输出、隔离依赖、测试夹具和冗余截图/trace/video/日志。交付必需的少量报告、关键截图、发布哈希/回执先脱敏并归档到对应项目的长期交付目录,回读归档完整后再删临时副本;不得把完整构建树、源码副本或依赖目录当作验收证据长期留存。
|
|
23
23
|
- 失败仍需排查或下一阶段确实依赖的文件,只保留可解释的最小集合,记录路径、体积、原因、归属和清理时机;排查/依赖结束后立即删除。崩溃来不及执行 teardown 时,下次接续先核对自有清单并补清;不能以“测试失败”“以后可能有用”为由无限保留。
|
|
24
24
|
- 隔离副本只为实际并发冲突或构建输入冻结创建,优先复用合适的工作树、稀疏检出和最小夹具;禁止每次重试复制整套源码、Git 历史、依赖、SDK 和运行目录。创建前盘点源盘与目标盘可用空间及已有同类副本,按本轮实际需求估算新增体积;测试结束先回收旧运行/编译目录,再创建下一轮。不要把临时目录移到另一块盘当作清理。
|
|
25
25
|
- 工作树不是永久保留项:任务结束逐仓检查未提交、未跟踪、忽略文件和未推送提交,已合入/已归档且无活动引用的副本按 Git/宿主支持的方式移除并回读注册表;必要差异先最小归档并校验可恢复性,不复制完整构建树。嵌套独立 Git 仓库逐个核对;禁止因存在 `.git` 就跳过整个任务目录,也禁止把主工作区存在当成差异已安全保存的证明。
|
|
26
26
|
- **规则必须落到执行入口**:新增或维护测试、构建、发布脚本时,将自有临时资产回收写入实际的 `finally`、测试框架 teardown/after hook 或宿主归档流程,并验证成功与失败退出均回收。`Microi.Tests/run-tests.ps1` 的 Full 隔离 `.net-artifacts` 由入口自动回收,保留结果报告与 `artifact-cleanup.json`;已有共享目录不取得删除权。仅修改 Skill、模型读过规则或工具显示最新版,都不能声称自动清理已生效;须检查已安装正文及实际执行结果。硬崩溃/强杀可能跳过收尾,恢复时按归属清单补清,不能承诺任意中断都即时删除。
|
|
27
|
-
-
|
|
27
|
+
- 删除前核验解析后的绝对路径位于已登记的本任务临时目录或独占副本内,不能仅依赖字符串前缀;检查目标及祖先的重解析点/符号链接、当前进程 CWD/文件锁、Git worktree 与未提交源码、发布锁以及虚拟机/容器引用。禁止跟随链接递归到共享或外部目录;无法确认真实边界时保留。保留用户文件、唯一源码/未提交改动、正式交付物、共享资源和其它任务资产;独占 Git 工作树先按 Git/宿主支持的移除方式完成检查,不能直接递归删除。
|
|
28
28
|
- 历史垃圾清理先做体积与引用盘点,只删已核验无引用、无跟踪源码且可再生成的产物;文件名含 `.tmp`、目录名为 `bin/obj` 或时间较旧都不能单独证明可删。禁止整体清空共享 `.tmp/`,禁止为了清理结束其它任务或重启 Docker/WSL。
|
|
29
|
-
-
|
|
29
|
+
- 清理后独立回读已删路径不存在、保护对象仍在;必要时比对源码、用户原图、正式交付物的哈希及其它工作树登记。收尾报告已删路径/文件数、逻辑字节数、磁盘可用空间变化、剩余保留项及清理时机;并行写入、硬链接等会使逻辑大小与实际净空间变化不同,不能混报。遇到文件锁、权限或策略拒绝时记录执行阶段、原始错误和未完成范围,禁止换工具绕过。测试通过与临时文件清理完成是两个验收项,不能互相代替。
|
|
30
|
+
|
|
31
|
+
### Windows 默认普通删除与策略拒绝排查(强制)
|
|
32
|
+
|
|
33
|
+
- 自动收尾默认使用原生 PowerShell 普通删除:已完成上述核验的普通文件使用 `Remove-Item -LiteralPath $verifiedTaskFile -ErrorAction Stop`,已核验的独占目录才使用 `Remove-Item -LiteralPath $verifiedTaskDirectory -Recurse -ErrorAction Stop`。变量必须来自本任务明确登记并重新解析的单个绝对路径,禁止空值、通配符、盘符根目录、用户目录根、源码根或共享 `.tmp` 根;不能把这两行当作跳过核验的通用清盘命令。
|
|
34
|
+
- **删除命令不默认添加 `-Force`,自动 teardown 也不得失败后升级为强制删除。** 不通过清除只读/隐藏/系统属性、修改 ACL、改审批配置、编码命令、换语言/API、换 shell 或间接脚本完成被拒绝的同一动作。只读盘点可使用 `Get-ChildItem -Force` 发现隐藏项;它不授予强制删除权。普通删除遇到受保护属性、占用或权限错误,保留相应项并报告,不能因其体积小或由 AI 创建就忽略限制。
|
|
35
|
+
- `CreateProcess ... rejected: blocked by policy` 表示执行器在启动 shell 前拒绝;命令里的路径/归档检查也没有运行,不能把它当作 Windows ACL 报错或清理成功。已核验的 Codex Windows `0.163.0-alpha.10.2` 将 `Remove-Item … -Force` 识别为危险删除,并在 `approval_policy=never` 下直接拒绝;`danger-full-access` 不取消命令策略,`never` 也不等于全部允许。其它版本/宿主必须依据当前有效配置、日志或对应版本实现定位,不能把所有同名错误都归因于 `-Force`。实现依据:[强制删除识别](https://github.com/openai/codex/blob/rust-v0.163.0-alpha.10.2/codex-rs/shell-command/src/command_safety/windows_dangerous_commands.rs#L489)、[禁止审批时的决策](https://github.com/openai/codex/blob/rust-v0.163.0-alpha.10.2/codex-rs/core/src/exec_policy.rs#L799)。
|
|
36
|
+
- 若已明确拒绝针对强制删除,只有在原有授权和归属/路径核验仍成立、且普通删除确实保留系统保护语义时,才可收窄为上述原生非强制操作;这不授权扩大删除范围。拒绝原因未知、存在明确禁止,或普通操作仍被拒绝时停止该项,保留并报告,不反复变换写法试探策略,也不修改规则放行。
|
|
37
|
+
- `git worktree remove` 的 `Result too large` 等是命令执行后的失败,与策略拒绝分开处理。失败后分别回读工作树登记与目录,不能假定“登记没了,文件也没了”;先验证差异/未推送提交已可恢复、残留源码与对应提交一致、无其它任务引用和外部链接,才将已注销的残留产物纳入普通清理清单。归属或恢复证据不足时保留,不强删独占副本或嵌套仓库。
|
|
30
38
|
|
|
31
39
|
## 质量优先与适用范围
|
|
32
40
|
|