@microi.net/cli 5.5.9 → 5.6.0

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 (166) 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/.mcp.json +1 -1
  5. package/.workbuddy-plugin/marketplace.json +2 -2
  6. package/.workbuddy-plugin/plugin.json +1 -1
  7. package/README.md +71 -71
  8. package/assets/build-meta.json +5 -5
  9. package/assets/feature-matrix.json +129 -129
  10. package/cordis.patch.yml +1 -1
  11. package/package.json +1 -1
  12. package/scripts/codex-marketplace.json +20 -20
  13. package/scripts/mcp-codex-stdio-adapter.js +189 -189
  14. package/scripts/mcp-trae-windows-launcher.cmd +21 -21
  15. package/scripts/microi-cli-mcp.js +7 -7
  16. package/scripts/microi-codex-broker.js +447 -447
  17. package/scripts/microi-codex-router.js +582 -582
  18. package/scripts/microi-skills.meta.json +336 -336
  19. package/skills/.microi-skills-version.json +2 -2
  20. package/skills/.progressive-disclosure-manifest.json +3566 -3566
  21. package/skills/README.md +3 -3
  22. package/skills/ai-engine/SKILL.md +45 -45
  23. package/skills/ai-platform-governance/SKILL.md +177 -177
  24. package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -190
  25. package/skills/app-store/SKILL.md +177 -177
  26. package/skills/business-blueprint/SKILL.md +85 -85
  27. package/skills/datasource-engine/SKILL.md +91 -91
  28. package/skills/dos-orm/SKILL.md +81 -81
  29. package/skills/dos-orm/references/api-reference.md +229 -229
  30. package/skills/email-engine/SKILL.md +80 -80
  31. package/skills/email-engine/references/v8-email.md +34 -34
  32. package/skills/job-engine/SKILL.md +154 -154
  33. package/skills/message-notification/SKILL.md +126 -126
  34. package/skills/message-notification/agents/openai.yaml +5 -5
  35. package/skills/message-notification/references/contracts.md +102 -102
  36. package/skills/microi-ai-app-auth.js +652 -652
  37. package/skills/microi-ai-application/SKILL.md +102 -102
  38. package/skills/microi-ai-application/agents/openai.yaml +4 -4
  39. package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
  40. package/skills/microi-client-frontend/SKILL.md +43 -43
  41. package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +2 -2
  42. package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +28 -28
  43. package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +56 -56
  44. package/skills/microi-codex/SKILL.md +46 -46
  45. package/skills/microi-codex-installer/SKILL.md +216 -216
  46. package/skills/microi-codex-installer/agents/openai.yaml +7 -7
  47. package/skills/microi-datasource-mapping/SKILL.md +67 -67
  48. package/skills/microi-db-schema/SKILL.md +6 -6
  49. package/skills/microi-db-schema/references/core-tables.md +18 -18
  50. package/skills/microi-db-schema/references/form-component-options.md +256 -256
  51. package/skills/microi-db-schema/references/schema-overview.md +11 -11
  52. package/skills/microi-db-schema/references/schema.md +46 -46
  53. package/skills/microi-db-schema/references/table-catalog.md +57 -57
  54. package/skills/microi-deployment/SKILL.md +18 -1
  55. package/skills/microi-deployment/references/deployment-matrix.md +101 -101
  56. package/skills/microi-docs-coverage/SKILL.md +123 -123
  57. package/skills/microi-docs-coverage/references/capability-map.md +1 -0
  58. package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
  59. package/skills/microi-form-engine/SKILL.md +50 -50
  60. package/skills/microi-form-engine/references/component-catalog.md +218 -218
  61. package/skills/microi-form-engine/references/data-source-events.md +124 -124
  62. package/skills/microi-form-layout/SKILL.md +13 -13
  63. package/skills/microi-form-layout/references/progressive-01-3-/344/270/211/347/247/215/345/210/206/347/273/204/347/232/204/345/255/230/345/202/250/344/270/216/351/205/215/347/275/256.md +235 -235
  64. package/skills/microi-frontend-sdk/SKILL.md +4 -4
  65. package/skills/microi-frontend-sdk/references/progressive-01-token-/345/275/223/345/211/215/347/231/273/345/275/225/347/224/250/346/210/267/344/270/216/345/275/223/345/211/215/347/273/210/347/253/257/347/231/273/345/275/225/345/215/217/350/256/256.md +175 -175
  66. package/skills/microi-left-right-layout/SKILL.md +141 -141
  67. package/skills/microi-microservice/SKILL.md +15 -15
  68. package/skills/microi-microservice/references/runtime-delivery.md +278 -278
  69. 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 +213 -213
  70. package/skills/microi-solution-quotation/SKILL.md +78 -78
  71. package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
  72. package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
  73. package/skills/microi-sso/SKILL.md +85 -85
  74. package/skills/microi-sso/references/acceptance.md +49 -49
  75. package/skills/microi-sso/references/configuration-and-security.md +53 -53
  76. package/skills/microi-sso/references/inbound.md +53 -53
  77. package/skills/microi-sso/references/outbound.md +39 -39
  78. 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 +20 -20
  79. package/skills/microi-ui/SKILL.md +7 -2
  80. package/skills/microi-uniapp-frontend/SKILL.md +134 -134
  81. 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 +136 -136
  82. 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 +124 -124
  83. package/skills/module-engine/SKILL.md +16 -16
  84. package/skills/ocr-engine/SKILL.md +2 -2
  85. package/skills/ocr-engine/agents/openai.yaml +1 -1
  86. package/skills/page-engine/SKILL.md +28 -28
  87. package/skills/page-engine/references/progressive-01-/346/211/200/346/234/211/347/273/204/344/273/266/347/261/273/345/236/213.md +126 -126
  88. package/skills/page-engine/references/progressive-02-/347/211/210/346/234/254/345/216/206/345/217/262-/345/271/266/345/217/221/344/277/235/345/255/230/344/270/216/345/233/236/346/273/232.md +42 -42
  89. package/skills/performance-testing/SKILL.md +120 -120
  90. package/skills/playwright-e2e/SKILL.md +84 -84
  91. package/skills/playwright-e2e/references/progressive-01-/345/205/250/350/207/252/345/212/250/347/231/273/345/275/225-/345/205/215/351/252/214/350/257/201/347/240/201-/344/275/206/344/270/215/345/205/215/345/257/206/347/240/201-/345/277/205/350/257/273.md +68 -68
  92. package/skills/playwright-e2e/references/progressive-02-/346/226/207/345/255/227/345/257/271/346/257/224/345/272/246/344/270/216/345/217/257/350/257/273/346/200/247/350/207/252/345/212/250/345/214/226/346/243/200/346/237/245-/345/277/205/345/201/232.md +64 -64
  93. package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +20 -20
  94. package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +69 -69
  95. package/skills/print-engine/SKILL.md +36 -36
  96. package/skills/production-readonly-audit/SKILL.md +41 -41
  97. package/skills/report-engine/SKILL.md +71 -71
  98. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
  99. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
  100. package/skills/scripts/validate-progressive-disclosure.mjs +52 -52
  101. package/skills/search-engine/SKILL.md +75 -75
  102. package/skills/spider-engine/SKILL.md +190 -190
  103. package/skills/system-observability/SKILL.md +162 -162
  104. package/skills/system-observability/references/memory-incident-triage.md +73 -73
  105. package/skills/translate-engine/SKILL.md +1 -1
  106. package/skills/ui-design/SKILL.md +3 -1
  107. package/skills/uniapp-mall-assets/SKILL.md +170 -170
  108. package/skills/unity-integration/SKILL.md +155 -155
  109. package/skills/unity-integration/agents/openai.yaml +4 -4
  110. package/skills/unity-integration/references/ai-app-delivery.md +103 -103
  111. package/skills/unity-integration/references/sdk-api.md +82 -82
  112. package/skills/unity-integration/references/toolbox-migration.md +66 -66
  113. package/skills/unity-integration/references/webgl-hosting.md +57 -57
  114. package/skills/v8-api-config/SKILL.md +378 -378
  115. package/skills/v8-cache-pattern/SKILL.md +306 -306
  116. package/skills/v8-crud-api/SKILL.md +29 -29
  117. package/skills/v8-crud-api/references/progressive-01-/346/237/245/350/257/242/345/210/227/350/241/250-/345/210/206/351/241/265.md +56 -56
  118. package/skills/v8-debugging/SKILL.md +143 -143
  119. package/skills/v8-explorer-tree/SKILL.md +64 -64
  120. package/skills/v8-export-import/references/progressive-01-excellayout-/351/253/230/347/272/247/350/207/252/347/224/261/345/270/203/345/261/200.md +201 -201
  121. package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +118 -118
  122. package/skills/v8-export-import/references/progressive-03-/345/256/211/345/205/250-/346/200/247/350/203/275/346/263/250/346/204/217.md +32 -32
  123. package/skills/v8-file-upload/SKILL.md +154 -154
  124. package/skills/v8-file-upload/references/progressive-01-/345/205/254/346/234/211/346/241/266-vs-/347/247/201/346/234/211/346/241/266.md +133 -133
  125. package/skills/v8-file-upload/references/progressive-02-office-/346/226/207/344/273/266/345/234/250/347/272/277/347/274/226/350/276/221/347/211/210/346/234/254/345/217/267/350/247/204/345/210/231.md +138 -138
  126. package/skills/v8-formengine-http/SKILL.md +107 -107
  127. package/skills/v8-frontend-events/SKILL.md +22 -22
  128. package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
  129. package/skills/v8-frontend-events/references/bluetooth-print.md +247 -247
  130. package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +50 -50
  131. package/skills/v8-http-integration/SKILL.md +106 -106
  132. package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +31 -31
  133. package/skills/v8-http-integration/references/progressive-02-/351/224/231/350/257/257/345/244/204/347/220/206/346/250/241/345/274/217.md +5 -5
  134. package/skills/v8-image-processing/SKILL.md +190 -190
  135. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  136. package/skills/v8-image-processing/references/api-reference.md +623 -623
  137. package/skills/v8-menu-buttons/SKILL.md +103 -103
  138. package/skills/v8-menu-buttons/references/progressive-01-2-/346/214/211/351/222/256/345/257/271/350/261/241-schema.md +145 -145
  139. package/skills/v8-menu-buttons/references/progressive-02-8-/346/250/241/345/274/217-f-/345/220/216/345/217/260/344/273/273/345/212/241/346/214/211/351/222/256-/351/225/277/344/273/273/345/212/241.md +228 -228
  140. package/skills/v8-menu-buttons/references/progressive-03-10-/345/217/215/346/250/241/345/274/217-/351/201/277/345/205/215.md +43 -43
  141. package/skills/v8-mongodb/SKILL.md +65 -65
  142. package/skills/v8-mq-mqtt/SKILL.md +175 -175
  143. package/skills/v8-mq-mqtt/references/mqtt-production.md +342 -342
  144. package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +137 -137
  145. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  146. package/skills/v8-saas-multi-tenant/SKILL.md +223 -223
  147. package/skills/v8-security/SKILL.md +25 -25
  148. package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +122 -122
  149. package/skills/v8-sql-query/SKILL.md +127 -127
  150. package/skills/v8-table-event/SKILL.md +20 -20
  151. package/skills/v8-table-event/references/progressive-01-informv8-js-/350/241/250/345/215/225/346/211/223/345/274/200/344/272/213/344/273/266.md +18 -18
  152. package/skills/v8-table-event/references/progressive-02-/345/211/215/347/253/257/344/272/213/344/273/266/345/220/215-v8-eventname-/345/217/257/350/203/275/347/232/204/345/200/274.md +15 -15
  153. package/skills/v8-tcp-integration/SKILL.md +1 -1
  154. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  155. package/skills/v8-template-engine/SKILL.md +59 -59
  156. package/skills/v8-utilities/SKILL.md +92 -92
  157. package/skills/v8-utilities/references/client-api-index.md +143 -143
  158. package/skills/v8-utilities/references/platform-http-routes.md +83 -83
  159. package/skills/v8-utilities/references/server-api-index.md +74 -74
  160. package/skills/v8-workflow/SKILL.md +44 -44
  161. package/skills/vision-engine/SKILL.md +19 -19
  162. package/skills/vision-engine/references/architecture-and-acceptance.md +34 -34
  163. package/skills/workspace-conventions/SKILL.md +236 -236
  164. 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 +208 -208
  165. 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 +179 -179
  166. 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 +21 -21
@@ -1,216 +1,216 @@
1
- ---
2
- name: microi-codex-installer
3
- description: 当用户在 Codex、DeepSeek Harness、WorkBuddy、CodeBuddy、Qoder、Comate、Trae、Cursor、Claude Code 或其它 AI 编程软件中说“安装 @microi.net/cli”“初始化 Microi吾码插件”“添加吾码服务器/MCP”“拉取某连接的所有 V8 代码”,或要求安装、自动升级、启用、诊断吾码 AI 插件时使用。吾码 CLI、Codex/DSH 插件及既有工作区 AI/MCP 默认后台自动更新;失败只延后和提示,不得阻断任何工作。
4
- ---
5
-
6
- # Microi吾码 AI 插件与 CLI 安装
7
-
8
- 本技能负责发现、安装、初始化、升级和诊断 Microi吾码 AI 开发能力。唯一 npm 包为 `@microi.net/cli`;该包同时提供 `microi` CLI、Codex Plugin、DeepSeek Harness 原生 profile bundle、WorkBuddy/CodeBuddy 兼容插件清单、完整 Skills 与同源 MCP。Codex marketplace 名称固定为 `microi-net`,插件选择器固定为 `microi@microi-net`,禁止新建 `microi-official` 或第二个 npm 包。
9
-
10
- 只要本技能已经由 Microi.VSCode、工作区 `microi.skills` 或已安装插件提供,用户说“帮我初始化 Microi吾码插件”时就必须识别该意图,用户不需要再次说出 npm 包名。全新 Codex 与空目录尚未加载任何吾码 Skill 时,用户只需在首次请求中明确 `@microi.net/cli`,例如“通过 `@microi.net/cli` 安装吾码 Codex 插件”;具备终端与网络权限的 AI 必须直接执行本技能中的确定性安装命令。安装完成后,更短的“初始化吾码”“添加服务器/MCP”“拉取全部 V8”均由插件 Skill 自动识别。
11
-
12
- ## 非阻塞自动更新(强制)
13
-
14
- 只要当前宿主已装有 Microi VS Code 扩展、`@microi.net/cli`、Codex 插件或 DeepSeek Harness bundle,就应由宿主/CLI 在后台投递自动更新。更新检查与业务工作并行,绝不能成为分析、MCP 调用、源码修改、构建、测试、发布或新任务的前置门禁。
15
-
16
- 自动更新只从 npm 官方 registry 读取 CLI 最新版:
17
-
18
- ```bash
19
- npm view '@microi.net/cli' version --json --prefer-online --registry=https://registry.npmjs.org/
20
- ```
21
-
22
- CLI、Codex 插件与工作区状态仍可用以下命令只读核对,但核对未完成不妨碍用户继续工作:
23
-
24
- ```bash
25
- microi version --json
26
- microi codex status --json
27
- microi dsh status --json
28
- microi doctor --workspace "<工作区绝对路径>" --json
29
- ```
30
-
31
- 旧版 CLI 尚不支持 `microi version --json` 时,可使用 `npm list --global '@microi.net/cli' --depth=0 --json` 读取全局安装版本。`microi codex status --json` 的 `expectedVersion` 来自当前 CLI 自带快照,只检查本地一致性,不能代替 npm 在线查询。
32
-
33
- 标准入口是非阻塞投递命令:
34
-
35
- ```bash
36
- microi update --background --workspace "<工作区绝对路径>" --json
37
- ```
38
-
39
- 后台进程会依次检查/安装全局 CLI、幂等更新 Codex 插件与已存在 DSH 宿主的 profile bundle、执行 `microi ai init`、`microi doctor`、`microi codex status` 和 `microi dsh status`。`codex install --yes` 的 `--yes` 只保留给旧脚本兼容,不再表示必须先取得用户授权。VS Code 扩展同时使用官方扩展宿主的 `workbench.extensions.installExtension` / 自动更新机制;当前 Extension Host 不强制重载。
40
-
41
- 当前运行中的扩展、CLI、Codex Router、DSH 会话与 MCP 必须继续使用已加载版本,禁止为了升级终止进程、强制重载窗口、结束对话或拒绝新任务。新版本写入版本隔离目录,只在后续新进程或宿主自然重启时接管。npm registry 不可用、版本无法解析、权限不足、文件被占用或安装失败时,写入 `~/.microi/updater/status.json` 并延后重试;可非模态提示“立即重试/查看日志”,但无论用户是否处理,当前、正在进行和新建工作都必须继续。禁止改用第三方 registry 或不明镜像冒充最新版。
42
-
43
- ## 自然语言入口规则
44
-
45
- - 任一 AI 宿主开始处理 Microi吾码低代码、V8、MCP、表单/模块/流程、微应用或平台源码任务时,先判断当前任务是否已经提供 `microi` 的 Skills/MCP/CLI 能力。
46
- - 能力不明确时可立即做只读检测或后台投递 `microi update`,但不得等待检测/更新完成才开始用户工作。
47
- - 用户明确说“安装 `@microi.net/cli`”“初始化 Microi吾码插件”“添加服务器/MCP”或“拉取某连接全部 V8”时,直接执行确定性命令,不再询问“是否允许升级”。连接地址、帐号、密码以及远端业务写入仍遵守各自原有确认边界。
48
- - 普通 Microi 对话发现 CLI、Codex/DSH 插件、AI bundle 或 MCP 不是最新版时,自动更新并继续任务;如自动更新做不到,只给出不阻塞的重试提示,不得把升级选择变成继续工作的条件。
49
- - 用户关闭自动更新、忽略提示或暂不重载时,当前版本能力照常可用。只在任务确实依赖一个旧版本不存在的具体能力时,准确说明该能力边界并提供降级方案,不能用笼统“版本未通过”拒绝整个任务。
50
-
51
- ## 检测
52
-
53
- 需要诊断更新状态时,使用已经安装的 CLI 检查;这些命令是可观测性工具,不是业务门禁:
54
-
55
- ```bash
56
- microi version --json
57
- microi codex status --json
58
- microi dsh status --json
59
- microi doctor --workspace "<工作区绝对路径>" --json
60
- ```
61
-
62
- 如果 `microi` 命令不存在,只可先运行不会下载包的本机只读检查:
63
-
64
- ```bash
65
- codex plugin marketplace list
66
- codex plugin list
67
- ```
68
-
69
- 理想状态同时满足:
70
-
71
- - 全局 CLI、npm 官方最新版与 Codex 插件版本一致;
72
- - marketplace 为 `microi-net`;
73
- - `microi@microi-net` 显示 `installed, enabled`;
74
- - 已安装版本等于 CLI 内置 marketplace 的目标版本。
75
- - 插件路径位于 `microi-net-marketplace/plugins/microi`,且 `.codex-plugin/plugin.json` 的显示名为 `Microi吾码`。
76
- - DSH 已安装时,目标 profile 的依赖、`node_modules/@microi.net/cli` 版本、`cordis.patch.yml` 和 `dsh.profile.bundles` 激活项全部一致;DSH 未安装不是其它宿主的失败。
77
- - `doctor.coexistence.aiBundleVersion` 不低于当前 CLI,MCP provider 没有 `legacy` 或 `upgrade-available`;`newer-provider-preserved` 表示较新的 VS Code/CLI 提供者已被安全保留,可以通过。
78
-
79
- `microi-official` 和 `microi@microi-official` 仅是旧标识,不得写入新文档或新配置;安装器会在新版安装成功后迁移并清理旧标识。
80
-
81
- ## 自动安装与手动恢复
82
-
83
- 正常情况由 `microi update --background` 自动完成。需要人工立即恢复时,可直接把全局 CLI 更新到 npm 官方最新版:
84
-
85
- ```bash
86
- npm install --global @microi.net/cli@latest
87
- microi codex install --yes
88
- microi dsh install
89
- ```
90
-
91
- 全局安装受宿主限制时可使用下面的临时执行方式;它不能证明一个既有旧版全局 CLI 已被升级:
92
-
93
- ```bash
94
- npx --yes @microi.net/cli@latest codex install --yes
95
- ```
96
-
97
- 这条命令把 npm 仅作为下载通道:安装器会将包内完整 Codex Plugin 安全复制到当前用户的 `${CODEX_HOME:-~/.codex}/microi-net-marketplace/plugins/microi`,生成 Codex 官方支持的本地 marketplace,注册 `microi-net`,再安装并启用 `microi@microi-net`。完成并重载后,Codex 的“插件”页面必须显示 **Microi吾码**,来源为 **microi-net**。禁止重新写入 Codex 不支持的 `source: npm` marketplace 条目。
98
-
99
- 在全新 Codex 的空目录中,以下自然语言必须等价执行上述命令,不得仅生成项目 Skill 后就声称 Codex Plugin 已安装:
100
-
101
- ```text
102
- 通过 @microi.net/cli@latest 安装吾码 Codex 插件。
103
- ```
104
-
105
- `--yes` 仅兼容旧版无人值守脚本,安装器不再把它当作工作授权。只有版本不一致且普通安装不能升级、并确认目标 npm 包已经公开可读时,才使用:
106
-
107
- ```bash
108
- microi codex install --yes --force
109
- ```
110
-
111
- CLI、Codex 或 DSH 插件安装/升级完成后,后台幂等重新初始化当前工作区 AI 配置并更新 MCP,然后分别验收:
112
-
113
- ```bash
114
- microi ai init --workspace "<工作区绝对路径>" --json
115
- microi doctor --workspace "<工作区绝对路径>" --json
116
- microi codex status --json
117
- microi dsh status --json
118
- ```
119
-
120
- 不得用单独的 `microi mcp init` 代替完整 AI 重新初始化;`ai init` 已默认包含 MCP 更新。只有诊断表明 MCP 仍有明确残留问题时,才追加 `microi mcp init` 做定向恢复。初始化写入采用幂等/原子方式,不终止已启动的 MCP;当前进程继续旧版本,新进程读取新版本。
121
-
122
- 开发者从可信本地源码验收时,可以显式指定 marketplace 源:
123
-
124
- ```bash
125
- microi codex install --yes --source <Microi.VSCode目录>
126
- ```
127
-
128
- 普通用户不得被引导到来历不明的 Git、本地目录或第三方 registry。不得通过 VPN、伪造地区/企业身份或共享账号绕过 OpenAI 地区与身份政策。
129
-
130
- ## DeepSeek Harness 原生 Profile Bundle
131
-
132
- 用户要求“安装吾码 DeepSeek Harness 插件”“让 DSH 支持吾码”时,在已安装官方 `@deepseek-ai/dsh` 且 `dsh`、`pnpm` 可用的前提下直接执行:
133
-
134
- ```bash
135
- npx --yes @microi.net/cli@latest dsh install
136
- microi dsh status --json
137
- ```
138
-
139
- 安装器必须调用 DSH 官方 `dsh plugin --profile <name> add <package>` 协议。唯一包 `@microi.net/cli` 通过 `dsh.bundle.patch=./cordis.patch.yml` 贡献 `@deepseek-ai/dsh-mcp-client` 配置,禁止另建 npm 包,也禁止把 `.mcp.json` 写给 DSH 后声称已安装。默认安装官方 `web` 与 `headless` profile;指定单个 profile 使用 `--profile <名称>`。
140
-
141
- `status` 验收必须回读 `$DSH_HOME/profiles/<profile>/package.json`、安装包版本、bundle patch 与激活列表;工具入口应为 `mcp__microi__microi_codex`。安装后只说明“新 DSH 会话将加载”,不得终止或冒充热更新当前会话。开发者从可信源码验收使用 `microi dsh install --source <Microi.VSCode目录> --force`;普通用户只允许 npm 官方 registry 的精确版本。
142
-
143
- ## 空工作区与多宿主初始化
144
-
145
- 用户明确要求“初始化 Microi吾码插件/AI 配置”“添加吾码服务器并配置 MCP”时,该请求同时授权在其指定工作区生成吾码 AI 配置;如果还明确要求安装 Codex Plugin,则先按上一节完成全局插件安装。随后优先执行唯一包的初始化命令:
146
-
147
- ```bash
148
- npx --yes @microi.net/cli@latest init --workspace <工作区>
149
- ```
150
-
151
- 用户还要求首次拉取全部 V8 与数据库结构时增加 `--pull`。用户已经全局安装 CLI 时改用:
152
-
153
- ```bash
154
- microi init --workspace <工作区> --pull
155
- ```
156
-
157
- `init` 必须能够在干净空目录中依次添加服务器连接、交互登录、生成 `microi.skills/`、`AGENTS.md`、`CLAUDE.md`、Copilot/Cursor/CodeBuddy 规则、CodeBuddy/Qoder/Comate 项目 Skill、typings、`jsconfig.json`,并配置 Codex、VS Code、Cursor、Trae、Claude Code、WorkBuddy、CodeBuddy、Qoder、Comate MCP。密码只允许隐式输入,禁止放入命令参数、对话记录或明文生成文件。Windows 需要静默恢复时,只能写入当前工作区 `Microi-V8-Engine/.microi-workspace-secrets.dpapi.json` 的 DPAPI CurrentUser 密文保险库;MCP 环境只保存该路径和 Key 名,保险库与同目录 Token 文件必须 Git-ignore。
158
-
159
- 安装/升级后若 `microi doctor` 返回“Token 签名验证失败”,先区分验签密钥变化与 20 天到期。新版 MCP 会从工作区 DPAPI 保险库重载精确 Profile 的帐号密码并自动续登、更新 Token/MCP;不得删除全部 Profile、清空 Token 文件或要求用户反复手工输入。同一 `OsClient` 的多条 SaaS 运行记录必须由后端在 JWT 初始化前收敛到同一个 `AuthSecret`,否则更新后仍会反复失效。
160
-
161
- 原生配置对应关系:
162
-
163
- - WorkBuddy:`.workbuddy/mcp.json`;保存并重载后可直接用自然语言调用 MCP。
164
- - CodeBuddy:`.codebuddy/skills/microi/SKILL.md`、`.codebuddy/rules/microi.md` 与根 `.mcp.json`。
165
- - Qoder:`.qoder/skills/microi/SKILL.md`、`AGENTS.md` 与根 `.mcp.json`。
166
- - 百度 Comate:`.agents/skills/microi/SKILL.md`、`.comate/skills/microi/SKILL.md` 与 `.comate/mcp.json`。
167
- - Trae:`AGENTS.md` 与 `.trae/mcp.json`;首次仍需开启项目级 MCP。
168
- - Codex:`AGENTS.md`、完整 Skills、项目及用户 `config.toml`;全局插件是可选增强。
169
- - DeepSeek Harness:读取 `AGENTS.md`,MCP 必须通过 `@microi.net/cli` 的原生 profile bundle 注入,不读取项目 `.mcp.json`。
170
-
171
- 完成后运行:
172
-
173
- ```bash
174
- microi doctor --workspace <工作区> --json
175
- ```
176
-
177
- 当前宿主不会热加载新 Skills/MCP 时,不要求用户立即重载;当前工作继续,用户自然新建任务、重载 Skills/MCP 或重启宿主后再验收新版能力。
178
-
179
- ## 按服务器连接拉取全部 V8
180
-
181
- 已有连接时先列出稳定标识:
182
-
183
- ```bash
184
- microi profile list --workspace <工作区> --json
185
- ```
186
-
187
- 用户点名连接名称、OsClient、序号或 MCP 名称后执行:
188
-
189
- ```bash
190
- microi pull --profile <连接名称、OsClient、序号或mcpName> --scope all --workspace <工作区>
191
- ```
192
-
193
- `profile list --json` 会返回每个连接的稳定 `mcpName`(例如 `microi_demo`),CLI 可直接接受该值。存在同名租户或无法唯一匹配时必须让用户选择,禁止猜服务器。`--scope all` 包含接口引擎、表单事件与字段、模块按钮、工作流和数据库结构。
194
-
195
- ## WorkBuddy 与 CodeBuddy 原生插件包
196
-
197
- `@microi.net/cli` 包根同时携带 `.workbuddy-plugin/plugin.json`、`.codebuddy-plugin/plugin.json`、对应 `marketplace.json`、根 `.mcp.json` 与全部 `skills/`。查看已安装包的真实路径:
198
-
199
- ```bash
200
- microi plugin path --json
201
- ```
202
-
203
- CodeBuddy CLI 可把该 `packageRoot` 作为本地 marketplace 添加,再安装 `microi@microi-net`;WorkBuddy 按其插件页面添加可信 marketplace,或从已安装包导入 Skill。插件安装、启用和重载属于宿主自身的信任边界:CLI 只生成包与项目配置,不伪造“已经在 UI 安装成功”。即使不安装宿主级插件,执行 `microi init` 后仍可通过项目 MCP、规则与 Skills 完成当前工作区开发。
204
-
205
- ## 安装后验收
206
-
207
- 再次执行:
208
-
209
- ```bash
210
- microi codex status --json
211
- microi dsh status --json
212
- ```
213
-
214
- 返回 `ok: true` 且选择器、状态和版本全部正确时可报告安装完成;必要时再用 `codex plugin list` 核对路径。若宿主尚未热加载,只说明“新版将在下一次自然启动时生效”,不得要求用户立即新建任务或重载才能继续当前工作。
215
-
216
- 若 npm 返回 `E404`,说明 `@microi.net/cli` 的目标版本尚未公开或仍在传播。不得删除仍可用的旧插件、不得重复发布同一不可变版本,也不得声称安装成功。
1
+ ---
2
+ name: microi-codex-installer
3
+ description: 当用户在 Codex、DeepSeek Harness、WorkBuddy、CodeBuddy、Qoder、Comate、Trae、Cursor、Claude Code 或其它 AI 编程软件中说“安装 @microi.net/cli”“初始化 Microi吾码插件”“添加吾码服务器/MCP”“拉取某连接的所有 V8 代码”,或要求安装、自动升级、启用、诊断吾码 AI 插件时使用。吾码 CLI、Codex/DSH 插件及既有工作区 AI/MCP 默认后台自动更新;失败只延后和提示,不得阻断任何工作。
4
+ ---
5
+
6
+ # Microi吾码 AI 插件与 CLI 安装
7
+
8
+ 本技能负责发现、安装、初始化、升级和诊断 Microi吾码 AI 开发能力。唯一 npm 包为 `@microi.net/cli`;该包同时提供 `microi` CLI、Codex Plugin、DeepSeek Harness 原生 profile bundle、WorkBuddy/CodeBuddy 兼容插件清单、完整 Skills 与同源 MCP。Codex marketplace 名称固定为 `microi-net`,插件选择器固定为 `microi@microi-net`,禁止新建 `microi-official` 或第二个 npm 包。
9
+
10
+ 只要本技能已经由 Microi.VSCode、工作区 `microi.skills` 或已安装插件提供,用户说“帮我初始化 Microi吾码插件”时就必须识别该意图,用户不需要再次说出 npm 包名。全新 Codex 与空目录尚未加载任何吾码 Skill 时,用户只需在首次请求中明确 `@microi.net/cli`,例如“通过 `@microi.net/cli` 安装吾码 Codex 插件”;具备终端与网络权限的 AI 必须直接执行本技能中的确定性安装命令。安装完成后,更短的“初始化吾码”“添加服务器/MCP”“拉取全部 V8”均由插件 Skill 自动识别。
11
+
12
+ ## 非阻塞自动更新(强制)
13
+
14
+ 只要当前宿主已装有 Microi VS Code 扩展、`@microi.net/cli`、Codex 插件或 DeepSeek Harness bundle,就应由宿主/CLI 在后台投递自动更新。更新检查与业务工作并行,绝不能成为分析、MCP 调用、源码修改、构建、测试、发布或新任务的前置门禁。
15
+
16
+ 自动更新只从 npm 官方 registry 读取 CLI 最新版:
17
+
18
+ ```bash
19
+ npm view '@microi.net/cli' version --json --prefer-online --registry=https://registry.npmjs.org/
20
+ ```
21
+
22
+ CLI、Codex 插件与工作区状态仍可用以下命令只读核对,但核对未完成不妨碍用户继续工作:
23
+
24
+ ```bash
25
+ microi version --json
26
+ microi codex status --json
27
+ microi dsh status --json
28
+ microi doctor --workspace "<工作区绝对路径>" --json
29
+ ```
30
+
31
+ 旧版 CLI 尚不支持 `microi version --json` 时,可使用 `npm list --global '@microi.net/cli' --depth=0 --json` 读取全局安装版本。`microi codex status --json` 的 `expectedVersion` 来自当前 CLI 自带快照,只检查本地一致性,不能代替 npm 在线查询。
32
+
33
+ 标准入口是非阻塞投递命令:
34
+
35
+ ```bash
36
+ microi update --background --workspace "<工作区绝对路径>" --json
37
+ ```
38
+
39
+ 后台进程会依次检查/安装全局 CLI、幂等更新 Codex 插件与已存在 DSH 宿主的 profile bundle、执行 `microi ai init`、`microi doctor`、`microi codex status` 和 `microi dsh status`。`codex install --yes` 的 `--yes` 只保留给旧脚本兼容,不再表示必须先取得用户授权。VS Code 扩展同时使用官方扩展宿主的 `workbench.extensions.installExtension` / 自动更新机制;当前 Extension Host 不强制重载。
40
+
41
+ 当前运行中的扩展、CLI、Codex Router、DSH 会话与 MCP 必须继续使用已加载版本,禁止为了升级终止进程、强制重载窗口、结束对话或拒绝新任务。新版本写入版本隔离目录,只在后续新进程或宿主自然重启时接管。npm registry 不可用、版本无法解析、权限不足、文件被占用或安装失败时,写入 `~/.microi/updater/status.json` 并延后重试;可非模态提示“立即重试/查看日志”,但无论用户是否处理,当前、正在进行和新建工作都必须继续。禁止改用第三方 registry 或不明镜像冒充最新版。
42
+
43
+ ## 自然语言入口规则
44
+
45
+ - 任一 AI 宿主开始处理 Microi吾码低代码、V8、MCP、表单/模块/流程、微应用或平台源码任务时,先判断当前任务是否已经提供 `microi` 的 Skills/MCP/CLI 能力。
46
+ - 能力不明确时可立即做只读检测或后台投递 `microi update`,但不得等待检测/更新完成才开始用户工作。
47
+ - 用户明确说“安装 `@microi.net/cli`”“初始化 Microi吾码插件”“添加服务器/MCP”或“拉取某连接全部 V8”时,直接执行确定性命令,不再询问“是否允许升级”。连接地址、帐号、密码以及远端业务写入仍遵守各自原有确认边界。
48
+ - 普通 Microi 对话发现 CLI、Codex/DSH 插件、AI bundle 或 MCP 不是最新版时,自动更新并继续任务;如自动更新做不到,只给出不阻塞的重试提示,不得把升级选择变成继续工作的条件。
49
+ - 用户关闭自动更新、忽略提示或暂不重载时,当前版本能力照常可用。只在任务确实依赖一个旧版本不存在的具体能力时,准确说明该能力边界并提供降级方案,不能用笼统“版本未通过”拒绝整个任务。
50
+
51
+ ## 检测
52
+
53
+ 需要诊断更新状态时,使用已经安装的 CLI 检查;这些命令是可观测性工具,不是业务门禁:
54
+
55
+ ```bash
56
+ microi version --json
57
+ microi codex status --json
58
+ microi dsh status --json
59
+ microi doctor --workspace "<工作区绝对路径>" --json
60
+ ```
61
+
62
+ 如果 `microi` 命令不存在,只可先运行不会下载包的本机只读检查:
63
+
64
+ ```bash
65
+ codex plugin marketplace list
66
+ codex plugin list
67
+ ```
68
+
69
+ 理想状态同时满足:
70
+
71
+ - 全局 CLI、npm 官方最新版与 Codex 插件版本一致;
72
+ - marketplace 为 `microi-net`;
73
+ - `microi@microi-net` 显示 `installed, enabled`;
74
+ - 已安装版本等于 CLI 内置 marketplace 的目标版本。
75
+ - 插件路径位于 `microi-net-marketplace/plugins/microi`,且 `.codex-plugin/plugin.json` 的显示名为 `Microi吾码`。
76
+ - DSH 已安装时,目标 profile 的依赖、`node_modules/@microi.net/cli` 版本、`cordis.patch.yml` 和 `dsh.profile.bundles` 激活项全部一致;DSH 未安装不是其它宿主的失败。
77
+ - `doctor.coexistence.aiBundleVersion` 不低于当前 CLI,MCP provider 没有 `legacy` 或 `upgrade-available`;`newer-provider-preserved` 表示较新的 VS Code/CLI 提供者已被安全保留,可以通过。
78
+
79
+ `microi-official` 和 `microi@microi-official` 仅是旧标识,不得写入新文档或新配置;安装器会在新版安装成功后迁移并清理旧标识。
80
+
81
+ ## 自动安装与手动恢复
82
+
83
+ 正常情况由 `microi update --background` 自动完成。需要人工立即恢复时,可直接把全局 CLI 更新到 npm 官方最新版:
84
+
85
+ ```bash
86
+ npm install --global @microi.net/cli@latest
87
+ microi codex install --yes
88
+ microi dsh install
89
+ ```
90
+
91
+ 全局安装受宿主限制时可使用下面的临时执行方式;它不能证明一个既有旧版全局 CLI 已被升级:
92
+
93
+ ```bash
94
+ npx --yes @microi.net/cli@latest codex install --yes
95
+ ```
96
+
97
+ 这条命令把 npm 仅作为下载通道:安装器会将包内完整 Codex Plugin 安全复制到当前用户的 `${CODEX_HOME:-~/.codex}/microi-net-marketplace/plugins/microi`,生成 Codex 官方支持的本地 marketplace,注册 `microi-net`,再安装并启用 `microi@microi-net`。完成并重载后,Codex 的“插件”页面必须显示 **Microi吾码**,来源为 **microi-net**。禁止重新写入 Codex 不支持的 `source: npm` marketplace 条目。
98
+
99
+ 在全新 Codex 的空目录中,以下自然语言必须等价执行上述命令,不得仅生成项目 Skill 后就声称 Codex Plugin 已安装:
100
+
101
+ ```text
102
+ 通过 @microi.net/cli@latest 安装吾码 Codex 插件。
103
+ ```
104
+
105
+ `--yes` 仅兼容旧版无人值守脚本,安装器不再把它当作工作授权。只有版本不一致且普通安装不能升级、并确认目标 npm 包已经公开可读时,才使用:
106
+
107
+ ```bash
108
+ microi codex install --yes --force
109
+ ```
110
+
111
+ CLI、Codex 或 DSH 插件安装/升级完成后,后台幂等重新初始化当前工作区 AI 配置并更新 MCP,然后分别验收:
112
+
113
+ ```bash
114
+ microi ai init --workspace "<工作区绝对路径>" --json
115
+ microi doctor --workspace "<工作区绝对路径>" --json
116
+ microi codex status --json
117
+ microi dsh status --json
118
+ ```
119
+
120
+ 不得用单独的 `microi mcp init` 代替完整 AI 重新初始化;`ai init` 已默认包含 MCP 更新。只有诊断表明 MCP 仍有明确残留问题时,才追加 `microi mcp init` 做定向恢复。初始化写入采用幂等/原子方式,不终止已启动的 MCP;当前进程继续旧版本,新进程读取新版本。
121
+
122
+ 开发者从可信本地源码验收时,可以显式指定 marketplace 源:
123
+
124
+ ```bash
125
+ microi codex install --yes --source <Microi.VSCode目录>
126
+ ```
127
+
128
+ 普通用户不得被引导到来历不明的 Git、本地目录或第三方 registry。不得通过 VPN、伪造地区/企业身份或共享账号绕过 OpenAI 地区与身份政策。
129
+
130
+ ## DeepSeek Harness 原生 Profile Bundle
131
+
132
+ 用户要求“安装吾码 DeepSeek Harness 插件”“让 DSH 支持吾码”时,在已安装官方 `@deepseek-ai/dsh` 且 `dsh`、`pnpm` 可用的前提下直接执行:
133
+
134
+ ```bash
135
+ npx --yes @microi.net/cli@latest dsh install
136
+ microi dsh status --json
137
+ ```
138
+
139
+ 安装器必须调用 DSH 官方 `dsh plugin --profile <name> add <package>` 协议。唯一包 `@microi.net/cli` 通过 `dsh.bundle.patch=./cordis.patch.yml` 贡献 `@deepseek-ai/dsh-mcp-client` 配置,禁止另建 npm 包,也禁止把 `.mcp.json` 写给 DSH 后声称已安装。默认安装官方 `web` 与 `headless` profile;指定单个 profile 使用 `--profile <名称>`。
140
+
141
+ `status` 验收必须回读 `$DSH_HOME/profiles/<profile>/package.json`、安装包版本、bundle patch 与激活列表;工具入口应为 `mcp__microi__microi_codex`。安装后只说明“新 DSH 会话将加载”,不得终止或冒充热更新当前会话。开发者从可信源码验收使用 `microi dsh install --source <Microi.VSCode目录> --force`;普通用户只允许 npm 官方 registry 的精确版本。
142
+
143
+ ## 空工作区与多宿主初始化
144
+
145
+ 用户明确要求“初始化 Microi吾码插件/AI 配置”“添加吾码服务器并配置 MCP”时,该请求同时授权在其指定工作区生成吾码 AI 配置;如果还明确要求安装 Codex Plugin,则先按上一节完成全局插件安装。随后优先执行唯一包的初始化命令:
146
+
147
+ ```bash
148
+ npx --yes @microi.net/cli@latest init --workspace <工作区>
149
+ ```
150
+
151
+ 用户还要求首次拉取全部 V8 与数据库结构时增加 `--pull`。用户已经全局安装 CLI 时改用:
152
+
153
+ ```bash
154
+ microi init --workspace <工作区> --pull
155
+ ```
156
+
157
+ `init` 必须能够在干净空目录中依次添加服务器连接、交互登录、生成 `microi.skills/`、`AGENTS.md`、`CLAUDE.md`、Copilot/Cursor/CodeBuddy 规则、CodeBuddy/Qoder/Comate 项目 Skill、typings、`jsconfig.json`,并配置 Codex、VS Code、Cursor、Trae、Claude Code、WorkBuddy、CodeBuddy、Qoder、Comate MCP。密码只允许隐式输入,禁止放入命令参数、对话记录或明文生成文件。Windows 需要静默恢复时,只能写入当前工作区 `Microi-V8-Engine/.microi-workspace-secrets.dpapi.json` 的 DPAPI CurrentUser 密文保险库;MCP 环境只保存该路径和 Key 名,保险库与同目录 Token 文件必须 Git-ignore。
158
+
159
+ 安装/升级后若 `microi doctor` 返回“Token 签名验证失败”,先区分验签密钥变化与 20 天到期。新版 MCP 会从工作区 DPAPI 保险库重载精确 Profile 的帐号密码并自动续登、更新 Token/MCP;不得删除全部 Profile、清空 Token 文件或要求用户反复手工输入。同一 `OsClient` 的多条 SaaS 运行记录必须由后端在 JWT 初始化前收敛到同一个 `AuthSecret`,否则更新后仍会反复失效。
160
+
161
+ 原生配置对应关系:
162
+
163
+ - WorkBuddy:`.workbuddy/mcp.json`;保存并重载后可直接用自然语言调用 MCP。
164
+ - CodeBuddy:`.codebuddy/skills/microi/SKILL.md`、`.codebuddy/rules/microi.md` 与根 `.mcp.json`。
165
+ - Qoder:`.qoder/skills/microi/SKILL.md`、`AGENTS.md` 与根 `.mcp.json`。
166
+ - 百度 Comate:`.agents/skills/microi/SKILL.md`、`.comate/skills/microi/SKILL.md` 与 `.comate/mcp.json`。
167
+ - Trae:`AGENTS.md` 与 `.trae/mcp.json`;首次仍需开启项目级 MCP。
168
+ - Codex:`AGENTS.md`、完整 Skills、项目及用户 `config.toml`;全局插件是可选增强。
169
+ - DeepSeek Harness:读取 `AGENTS.md`,MCP 必须通过 `@microi.net/cli` 的原生 profile bundle 注入,不读取项目 `.mcp.json`。
170
+
171
+ 完成后运行:
172
+
173
+ ```bash
174
+ microi doctor --workspace <工作区> --json
175
+ ```
176
+
177
+ 当前宿主不会热加载新 Skills/MCP 时,不要求用户立即重载;当前工作继续,用户自然新建任务、重载 Skills/MCP 或重启宿主后再验收新版能力。
178
+
179
+ ## 按服务器连接拉取全部 V8
180
+
181
+ 已有连接时先列出稳定标识:
182
+
183
+ ```bash
184
+ microi profile list --workspace <工作区> --json
185
+ ```
186
+
187
+ 用户点名连接名称、OsClient、序号或 MCP 名称后执行:
188
+
189
+ ```bash
190
+ microi pull --profile <连接名称、OsClient、序号或mcpName> --scope all --workspace <工作区>
191
+ ```
192
+
193
+ `profile list --json` 会返回每个连接的稳定 `mcpName`(例如 `microi_demo`),CLI 可直接接受该值。存在同名租户或无法唯一匹配时必须让用户选择,禁止猜服务器。`--scope all` 包含接口引擎、表单事件与字段、模块按钮、工作流和数据库结构。
194
+
195
+ ## WorkBuddy 与 CodeBuddy 原生插件包
196
+
197
+ `@microi.net/cli` 包根同时携带 `.workbuddy-plugin/plugin.json`、`.codebuddy-plugin/plugin.json`、对应 `marketplace.json`、根 `.mcp.json` 与全部 `skills/`。查看已安装包的真实路径:
198
+
199
+ ```bash
200
+ microi plugin path --json
201
+ ```
202
+
203
+ CodeBuddy CLI 可把该 `packageRoot` 作为本地 marketplace 添加,再安装 `microi@microi-net`;WorkBuddy 按其插件页面添加可信 marketplace,或从已安装包导入 Skill。插件安装、启用和重载属于宿主自身的信任边界:CLI 只生成包与项目配置,不伪造“已经在 UI 安装成功”。即使不安装宿主级插件,执行 `microi init` 后仍可通过项目 MCP、规则与 Skills 完成当前工作区开发。
204
+
205
+ ## 安装后验收
206
+
207
+ 再次执行:
208
+
209
+ ```bash
210
+ microi codex status --json
211
+ microi dsh status --json
212
+ ```
213
+
214
+ 返回 `ok: true` 且选择器、状态和版本全部正确时可报告安装完成;必要时再用 `codex plugin list` 核对路径。若宿主尚未热加载,只说明“新版将在下一次自然启动时生效”,不得要求用户立即新建任务或重载才能继续当前工作。
215
+
216
+ 若 npm 返回 `E404`,说明 `@microi.net/cli` 的目标版本尚未公开或仍在传播。不得删除仍可用的旧插件、不得重复发布同一不可变版本,也不得声称安装成功。
@@ -1,7 +1,7 @@
1
- interface:
2
- display_name: "Microi吾码 AI 插件安装"
3
- short_description: "初始化吾码 CLI、Skills、MCP 与多宿主插件"
4
- default_prompt: "使用 $microi-codex-installer 安装或初始化 @microi.net/cli,配置指定吾码服务器与 MCP,并按需拉取全部 V8 代码。"
5
-
6
- policy:
7
- allow_implicit_invocation: true
1
+ interface:
2
+ display_name: "Microi吾码 AI 插件安装"
3
+ short_description: "初始化吾码 CLI、Skills、MCP 与多宿主插件"
4
+ default_prompt: "使用 $microi-codex-installer 安装或初始化 @microi.net/cli,配置指定吾码服务器与 MCP,并按需拉取全部 V8 代码。"
5
+
6
+ policy:
7
+ allow_implicit_invocation: true
@@ -1,11 +1,11 @@
1
- ---
2
- name: microi-datasource-mapping
3
- description: Microi 选项类字段的数据源 Key/Value 映射规范。用于 Select、Radio、Checkbox、UniApp 枚举显示、KeyValue 配置、数据迁移和接口返回标签映射。
4
- ---
1
+ ---
2
+ name: microi-datasource-mapping
3
+ description: Microi 选项类字段的数据源 Key/Value 映射规范。用于 Select、Radio、Checkbox、UniApp 枚举显示、KeyValue 配置、数据迁移和接口返回标签映射。
4
+ ---
5
5
 
6
6
  > **Codex 非阻塞自动更新:** 当前宿主为 Codex 时,吾码 CLI、Codex 插件与工作区 AI/MCP 由后台自动更新;需要诊断时读取 `../microi-codex-installer/SKILL.md`。更新失败、等待空闲或尚未重载均不得阻断当前、正在进行或新建任务。非 Codex 宿主跳过此项。
7
-
8
- # microi-datasource-mapping — 数据源 Key/Value 映射规范
7
+
8
+ # microi-datasource-mapping — 数据源 Key/Value 映射规范
9
9
 
10
10
  ## 一、后台字段数据源的两种模式
11
11
 
@@ -22,68 +22,68 @@ Microi 低代码平台中,`Select / Radio / Checkbox` 等选项组件支持两
22
22
 
23
23
  ## 二、移动端前端显示枚举值的规范
24
24
 
25
- 移动端(UniApp)不应假定页面已经加载后台 `diy_field.Config`。优先由接口返回当前租户可用的 `Key/Value` 选项,或复用项目内的共享字典模块;只有不会被租户配置动态修改的协议枚举,才适合在前端维护映射函数:
25
+ 移动端(UniApp)不应假定页面已经加载后台 `diy_field.Config`。优先由接口返回当前租户可用的 `Key/Value` 选项,或复用项目内的共享字典模块;只有不会被租户配置动态修改的协议枚举,才适合在前端维护映射函数:
26
26
 
27
27
  ```js
28
28
  // ✅ 正确做法:手写完整的枚举映射
29
- function statusLabel(status) {
30
- return ({
31
- Draft: '草稿',
32
- Enabled: '启用',
33
- Disabled: '停用'
34
- })[status] || status; // 未知值显示原始 key
35
- }
36
-
37
- // ✅ 动态选项:后端返回 [{ Key, Value }] 后建立映射
38
- export function createOptionLabel(options = []) {
39
- const map = new Map(options.map(x => [String(x.Key), x.Value]));
40
- return key => map.get(String(key ?? '')) || String(key ?? '');
41
- }
42
- ```
43
-
44
- **原则**:
45
- - 映射函数兜底返回原始 key,方便发现新枚举值或配置漂移
46
- - **不要** 用 `|| '未知'` 作为兜底,否则后台新增类型后移动端会显示"未知"而不是英文 key(更难排查)
47
- - 租户可配置的 Select/Radio/Checkbox 选项不得复制成官方 Skill 中的固定业务字典
29
+ function statusLabel(status) {
30
+ return ({
31
+ Draft: '草稿',
32
+ Enabled: '启用',
33
+ Disabled: '停用'
34
+ })[status] || status; // 未知值显示原始 key
35
+ }
36
+
37
+ // ✅ 动态选项:后端返回 [{ Key, Value }] 后建立映射
38
+ export function createOptionLabel(options = []) {
39
+ const map = new Map(options.map(x => [String(x.Key), x.Value]));
40
+ return key => map.get(String(key ?? '')) || String(key ?? '');
41
+ }
42
+ ```
43
+
44
+ **原则**:
45
+ - 映射函数兜底返回原始 key,方便发现新枚举值或配置漂移
46
+ - **不要** 用 `|| '未知'` 作为兜底,否则后台新增类型后移动端会显示"未知"而不是英文 key(更难排查)
47
+ - 租户可配置的 Select/Radio/Checkbox 选项不得复制成官方 Skill 中的固定业务字典
48
48
 
49
49
  ---
50
50
 
51
- ## 三、历史遗留数据迁移
52
-
53
- 从第三方数据库迁移枚举前,先用 `microi_inspect_external_database` 确认真实字段类型和说明,再用受限 `microi_query_external_database` 抽样唯一值。第三方显示文字不能直接成为吾码协议 Key;建立明确的“源值 -> 稳定 Key -> 展示 Value”映射,未识别值进入失败清单,禁止静默写成“未知”。持续同步应把映射版本写入任务配置,并保证同一源记录重投不会重复新增。
54
-
55
- 当后台 Select 字段的 Key 发生变更时(如从英文 `Normal` 改为中文 `普通会员`),DB 中已存入的旧 key 不会自动更新。需要手动执行迁移:
51
+ ## 三、历史遗留数据迁移
52
+
53
+ 从第三方数据库迁移枚举前,先用 `microi_inspect_external_database` 确认真实字段类型和说明,再用受限 `microi_query_external_database` 抽样唯一值。第三方显示文字不能直接成为吾码协议 Key;建立明确的“源值 -> 稳定 Key -> 展示 Value”映射,未识别值进入失败清单,禁止静默写成“未知”。持续同步应把映射版本写入任务配置,并保证同一源记录重投不会重复新增。
54
+
55
+ 当后台 Select 字段的 Key 发生变更时(如从英文 `Normal` 改为中文 `普通会员`),DB 中已存入的旧 key 不会自动更新。需要手动执行迁移:
56
56
 
57
57
  ```js
58
58
  // 接口引擎:一次性数据迁移
59
- var affected = V8.Db.FromSql(
60
- 'UPDATE biz_member SET Level = @p0, UpdateTime = @p1 WHERE Level = @p2'
61
- )
62
- .AddInParameter('@p0', 'NormalMember')
63
- .AddInParameter('@p1', DateNow('yyyy-MM-dd HH:mm:ss'))
64
- .AddInParameter('@p2', 'Normal')
65
- .ExecuteNonQuery();
66
- return { Code: 1, Msg: '迁移完成,共更新 ' + affected + ' 条', Data: { Updated: affected } };
67
- ```
68
-
69
- **最佳实践**:
70
- 1. 执行前先 `SELECT COUNT(*)` 确认受影响行数
71
- 2. 迁移接口默认 `StopHttp=1`,仅管理员可运行;保留版本和审计记录
72
- 3. 新字段应从一开始就统一使用 Key≠Value 格式(英文 key + 中文 label),避免后续迁移
73
-
74
- ---
75
-
76
- ## 四、租户与项目映射隔离
77
-
78
- 官方 Skill 只维护平台通用机制,不记录任何客户名称、真实 `OsClient`、客户表名、接口 Key 或业务枚举。项目专有映射应保存在对应应用源码、租户私有配置或项目级 Skill 中,并遵循以下规则:
79
-
80
- 1. 每个映射注明事实源(字段 KeyValue、数据源引擎或接口引擎)和更新时间。
81
- 2. 动态选项优先实时读取;允许缓存时,缓存 Key 必须包含 `OsClient` 和配置版本。
82
- 3. 后台字段配置修改后刷新字段/数据源缓存,前端不得长期保留另一份无版本的硬编码字典。
83
- 4. 历史值兼容只放在受影响项目中;迁移完成后仍保留审计与回滚说明。
84
- 5. 示例统一使用 `demo`、`biz_*` 等虚构名称,禁止把客户项目复制进官方文档、官方 Skill 或平台 AI 公共知识库。
85
-
86
- ---
59
+ var affected = V8.Db.FromSql(
60
+ 'UPDATE biz_member SET Level = @p0, UpdateTime = @p1 WHERE Level = @p2'
61
+ )
62
+ .AddInParameter('@p0', 'NormalMember')
63
+ .AddInParameter('@p1', DateNow('yyyy-MM-dd HH:mm:ss'))
64
+ .AddInParameter('@p2', 'Normal')
65
+ .ExecuteNonQuery();
66
+ return { Code: 1, Msg: '迁移完成,共更新 ' + affected + ' 条', Data: { Updated: affected } };
67
+ ```
68
+
69
+ **最佳实践**:
70
+ 1. 执行前先 `SELECT COUNT(*)` 确认受影响行数
71
+ 2. 迁移接口默认 `StopHttp=1`,仅管理员可运行;保留版本和审计记录
72
+ 3. 新字段应从一开始就统一使用 Key≠Value 格式(英文 key + 中文 label),避免后续迁移
73
+
74
+ ---
75
+
76
+ ## 四、租户与项目映射隔离
77
+
78
+ 官方 Skill 只维护平台通用机制,不记录任何客户名称、真实 `OsClient`、客户表名、接口 Key 或业务枚举。项目专有映射应保存在对应应用源码、租户私有配置或项目级 Skill 中,并遵循以下规则:
79
+
80
+ 1. 每个映射注明事实源(字段 KeyValue、数据源引擎或接口引擎)和更新时间。
81
+ 2. 动态选项优先实时读取;允许缓存时,缓存 Key 必须包含 `OsClient` 和配置版本。
82
+ 3. 后台字段配置修改后刷新字段/数据源缓存,前端不得长期保留另一份无版本的硬编码字典。
83
+ 4. 历史值兼容只放在受影响项目中;迁移完成后仍保留审计与回滚说明。
84
+ 5. 示例统一使用 `demo`、`biz_*` 等虚构名称,禁止把客户项目复制进官方文档、官方 Skill 或平台 AI 公共知识库。
85
+
86
+ ---
87
87
 
88
88
  ## 五、接口引擎 OsClient 传递规范
89
89
 
@@ -100,11 +100,11 @@ function withOsClient(url) {
100
100
  }
101
101
 
102
102
  // 请求头中包含:
103
- // { OsClient: OS_CLIENT, Token: 'xxx', ... }
104
-
105
- // ❌ 不要在已经携带租户请求头时,再把租户写死到 URL
106
- // /apiengine/order-query--OsClient--demo--
107
- // 这种写法在路由匹配时可能出错,导致 404 或参数丢失
108
- ```
109
-
110
- **结论**:`callEngine()` 系列函数已在请求头中传递 `OsClient` 时,无需在 URL 中重复传递。对于需要 query 参数识别租户的端点,使用运行期变量 `?OsClient=${encodeURIComponent(OS_CLIENT)}`,不得写死真实租户。
103
+ // { OsClient: OS_CLIENT, Token: 'xxx', ... }
104
+
105
+ // ❌ 不要在已经携带租户请求头时,再把租户写死到 URL
106
+ // /apiengine/order-query--OsClient--demo--
107
+ // 这种写法在路由匹配时可能出错,导致 404 或参数丢失
108
+ ```
109
+
110
+ **结论**:`callEngine()` 系列函数已在请求头中传递 `OsClient` 时,无需在 URL 中重复传递。对于需要 query 参数识别租户的端点,使用运行期变量 `?OsClient=${encodeURIComponent(OS_CLIENT)}`,不得写死真实租户。