@microi.net/cli 6.1.4 → 6.1.6
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 +1 -1
- package/.mcp.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +4 -4
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/codex-marketplace.json +20 -20
- package/scripts/mcp-codex-stdio-adapter.js +189 -189
- package/scripts/mcp-server.js +79 -79
- package/scripts/mcp-trae-windows-launcher.cmd +21 -21
- package/scripts/microi-cli-mcp.js +7 -7
- package/scripts/microi-skills.meta.json +290 -290
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +13 -13
- package/skills/ai-engine/references/ai-employees.md +48 -48
- package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
- package/skills/business-blueprint/SKILL.md +193 -193
- package/skills/datasource-engine/SKILL.md +93 -93
- package/skills/dos-orm/SKILL.md +105 -105
- package/skills/dos-orm/references/api-reference.md +229 -229
- package/skills/email-engine/SKILL.md +81 -81
- package/skills/email-engine/references/v8-email.md +34 -34
- package/skills/job-engine/SKILL.md +179 -179
- package/skills/message-notification/SKILL.md +160 -156
- package/skills/message-notification/references/contracts.md +119 -102
- package/skills/microi/SKILL.md +14 -14
- package/skills/microi-ai-application/SKILL.md +115 -115
- package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
- 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 +10 -10
- 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 +10 -10
- 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 +10 -10
- package/skills/microi-codex/SKILL.md +133 -130
- package/skills/microi-datasource-mapping/SKILL.md +131 -131
- package/skills/microi-db-schema/SKILL.md +182 -182
- package/skills/microi-db-schema/references/core-tables.md +695 -695
- package/skills/microi-db-schema/references/form-component-options.md +256 -256
- package/skills/microi-db-schema/references/schema-overview.md +202 -202
- package/skills/microi-db-schema/references/schema.md +646 -646
- package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
- package/skills/microi-deployment/SKILL.md +262 -262
- package/skills/microi-deployment/references/deployment-matrix.md +112 -112
- package/skills/microi-docs-coverage/SKILL.md +133 -133
- package/skills/microi-docs-coverage/references/capability-map.md +91 -91
- package/skills/microi-form-engine/SKILL.md +338 -338
- package/skills/microi-form-engine/references/component-catalog.md +218 -218
- package/skills/microi-form-engine/references/data-source-events.md +124 -124
- package/skills/microi-left-right-layout/SKILL.md +141 -141
- package/skills/microi-microservice/references/runtime-delivery.md +282 -282
- package/skills/microi-solution-quotation/SKILL.md +79 -79
- package/skills/microi-sso/SKILL.md +102 -102
- package/skills/microi-sso/references/configuration-and-security.md +53 -53
- package/skills/microi-sso/references/inbound.md +53 -53
- package/skills/microi-sso/references/outbound.md +43 -43
- package/skills/microi-system-delivery/references/context-quality.md +3 -3
- package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +11 -11
- 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 +12 -12
- package/skills/microi-system-delivery/references/progressive-03-/345/256/211/345/205/250/344/270/216/350/267/250/347/253/257/351/252/214/346/224/266.md +8 -8
- package/skills/module-engine/SKILL.md +297 -297
- package/skills/module-engine/references/module-config.md +204 -204
- package/skills/ocr-engine/SKILL.md +113 -113
- 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 +10 -10
- 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 +12 -12
- package/skills/performance-testing/SKILL.md +227 -227
- package/skills/print-engine/SKILL.md +259 -259
- package/skills/production-readonly-audit/SKILL.md +41 -41
- package/skills/report-engine/SKILL.md +83 -83
- package/skills/search-engine/SKILL.md +75 -75
- package/skills/spider-engine/SKILL.md +190 -190
- package/skills/system-observability/SKILL.md +264 -264
- package/skills/system-observability/references/memory-incident-triage.md +77 -77
- package/skills/translate-engine/SKILL.md +140 -140
- package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
- package/skills/ui-design/references/design-pattern-library.md +184 -184
- package/skills/ui-design/references/mci-design-contract.md +163 -163
- package/skills/ui-design/references/motion-and-media.md +78 -78
- package/skills/ui-design/references/product-flow-recipes.md +94 -94
- package/skills/uniapp-mall-assets/SKILL.md +176 -176
- package/skills/unity-integration/SKILL.md +178 -178
- package/skills/unity-integration/references/sdk-api.md +82 -82
- package/skills/unity-integration/references/toolbox-migration.md +66 -66
- package/skills/unity-integration/references/webgl-hosting.md +57 -57
- package/skills/v8-cache-pattern/SKILL.md +320 -320
- package/skills/v8-debugging/SKILL.md +284 -284
- package/skills/v8-explorer-tree/SKILL.md +228 -228
- package/skills/v8-file-upload/SKILL.md +20 -1
- package/skills/v8-file-upload/references/cdn-alias-repair.md +13 -13
- package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
- package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
- package/skills/v8-image-processing/SKILL.md +190 -190
- package/skills/v8-image-processing/references/api-reference.md +623 -623
- package/skills/v8-mongodb/SKILL.md +257 -241
- package/skills/v8-mq-mqtt/references/mqtt-production.md +352 -352
- package/skills/v8-security/SKILL.md +8 -1
- package/skills/v8-sql-query/SKILL.md +302 -302
- package/skills/v8-template-engine/SKILL.md +167 -167
- package/skills/v8-utilities/references/platform-http-routes.md +83 -83
- package/skills/v8-workflow/references/workflow-configuration.md +49 -49
- package/skills/vision-engine/SKILL.md +160 -160
- package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
- 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 +34 -34
- 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 +6 -6
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# microi-client-frontend 详细参考 1
|
|
2
|
-
|
|
3
|
-
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
-
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-005 sha256=189ca6438cd0fc58a5bf14bd13a3bad26a9254c766e4a6bed62ef2aeb1879e9d -->
|
|
1
|
+
# microi-client-frontend 详细参考 1
|
|
2
|
+
|
|
3
|
+
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
+
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-005 sha256=189ca6438cd0fc58a5bf14bd13a3bad26a9254c766e4a6bed62ef2aeb1879e9d -->
|
|
6
6
|
## 3. 动态按钮系统
|
|
7
7
|
|
|
8
8
|
按钮配置来自 `sys_menu`:
|
|
@@ -44,8 +44,8 @@ V8.Result = V8.Form.Status == '待审核';
|
|
|
44
44
|
|
|
45
45
|
---
|
|
46
46
|
|
|
47
|
-
<!-- /microi-progressive:chunk -->
|
|
48
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-006 sha256=b5d89b5a0b17ffb02579d4512b15468e52b599ddf4573afba85b9e5d3f9f5d49 -->
|
|
47
|
+
<!-- /microi-progressive:chunk -->
|
|
48
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-006 sha256=b5d89b5a0b17ffb02579d4512b15468e52b599ddf4573afba85b9e5d3f9f5d49 -->
|
|
49
49
|
## 5. 路由与打开方式
|
|
50
50
|
|
|
51
51
|
登录首页支持“用户 > 系统 > 首个可访问菜单”的三级优先级:
|
|
@@ -113,8 +113,8 @@ Page 模式要特别注意:
|
|
|
113
113
|
|
|
114
114
|
---
|
|
115
115
|
|
|
116
|
-
<!-- /microi-progressive:chunk -->
|
|
117
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-007 sha256=573d988999f9721cf7efe7654c203342213728b4f1ce61a718b10815595ae894 -->
|
|
116
|
+
<!-- /microi-progressive:chunk -->
|
|
117
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-007 sha256=573d988999f9721cf7efe7654c203342213728b4f1ce61a718b10815595ae894 -->
|
|
118
118
|
## 6. 修改前必查清单
|
|
119
119
|
|
|
120
120
|
### `diy-table` 嵌入分页条数
|
|
@@ -141,4 +141,4 @@ Page 模式要特别注意:
|
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
144
|
-
<!-- /microi-progressive:chunk -->
|
|
144
|
+
<!-- /microi-progressive:chunk -->
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# microi-client-frontend 详细参考 2
|
|
2
|
-
|
|
3
|
-
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
-
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-008 sha256=8cd14b9e9483cd23cc4ea25411c5c69e015387ade54131252a385c88be3a1a17 -->
|
|
1
|
+
# microi-client-frontend 详细参考 2
|
|
2
|
+
|
|
3
|
+
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
+
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-008 sha256=8cd14b9e9483cd23cc4ea25411c5c69e015387ade54131252a385c88be3a1a17 -->
|
|
6
6
|
## 8. 运行时高频坑复盘
|
|
7
7
|
|
|
8
8
|
### 前端 V8.Http 与后端同构契约
|
|
@@ -146,8 +146,8 @@ DiyCommon.FormEngine.AddFormData("table_name", { Field: "value" }, function (res
|
|
|
146
146
|
- 保存/提交/登录验证等动作保留按钮 Loading,可信百分比保留真实进度;其余 spinner、转圈图标和“加载中”文案不得充当内容加载态。
|
|
147
147
|
- 修改后运行静态门禁,确认源码不存在内容型 `v-loading`、`ElLoading.service`、硬编码黑色 Loading mask 或加载期空态;再用真实浏览器验证菜单、首页、表格、表单详情在亮色、暗色、自定义主题和移动端下的骨架几何、对比度、`aria-busy`、reduced-motion 及请求失败收口。
|
|
148
148
|
|
|
149
|
-
<!-- /microi-progressive:chunk -->
|
|
150
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-009 sha256=b1105375a6b9477eb397a275c67cd7e1074ae14948c41bd594e91deb4a2ba9b0 -->
|
|
149
|
+
<!-- /microi-progressive:chunk -->
|
|
150
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-009 sha256=b1105375a6b9477eb397a275c67cd7e1074ae14948c41bd594e91deb4a2ba9b0 -->
|
|
151
151
|
## 7.1 登录验证码与 Sys_Config
|
|
152
152
|
|
|
153
153
|
修改 `Microi.Client/src/views/login/index.vue` 或任何 PC 端登录扩展时,必须遵守平台登录验证码契约:
|
|
@@ -183,8 +183,8 @@ DiyCommon.FormEngine.AddFormData("table_name", { Field: "value" }, function (res
|
|
|
183
183
|
- 通用规则:异步刷新结果只能写回与当前 Token 相同的 `UserId + OsClient`;登录切换或租户切换后的迟到响应必须丢弃。权限修复失败时不得提前把路由身份标记为已初始化。
|
|
184
184
|
- 自动化检查:单测覆盖失败投影保留最后有效权限、合法撤权、访问密钥、登录切换迟到响应和注销竞态;真实浏览器拦截一次坏的当前用户投影,确认页面无需重新登录即可自动刷新,并连续检查新增、编辑按钮及刷新接口返回的管理员权限始终完整。
|
|
185
185
|
|
|
186
|
-
<!-- /microi-progressive:chunk -->
|
|
187
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-010 sha256=2446aaeadddd95aa22dcd5935c5a9d60b51008bb1e0d5b5b7f6ee01f2fe9dd06 -->
|
|
186
|
+
<!-- /microi-progressive:chunk -->
|
|
187
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-010 sha256=2446aaeadddd95aa22dcd5935c5a9d60b51008bb1e0d5b5b7f6ee01f2fe9dd06 -->
|
|
188
188
|
## Microi 前端 SDK 约束
|
|
189
189
|
|
|
190
190
|
当修改 `Microi.Client` 之外的 Vue3 前端、PC 官网、移动 H5 或定制微前端页面时,必须优先读取 `microi.skills/microi-frontend-sdk/SKILL.md` 并使用 `microi.skills/microi.v8.js`。`Microi.Client` 主后台已有平台请求与 Pinia 体系时,可以复用现有平台能力;但新增独立页面、外部站点、插件页、嵌入式页面不得再复制旧 Vue2/Vuex 版 `microi.v8.js`。
|
|
@@ -193,4 +193,4 @@ DiyCommon.FormEngine.AddFormData("table_name", { Field: "value" }, function (res
|
|
|
193
193
|
- 业务请求、Token、上传、资源 URL 解析统一委托 SDK 或 Microi.Client 现有平台请求层。
|
|
194
194
|
- 后台仍使用 Element Plus;官网/产品站/文档站优先遵守 `microi.skills/ui-design/SKILL.md` 的 MCI-UI 策略。
|
|
195
195
|
|
|
196
|
-
<!-- /microi-progressive:chunk -->
|
|
196
|
+
<!-- /microi-progressive:chunk -->
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# microi-client-frontend 详细参考 3
|
|
2
|
-
|
|
3
|
-
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
-
|
|
5
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-011 sha256=4272be553eea5fd0ead8c7933b3b5231a6d8501bfed181294d1e5cf5965314d6 -->
|
|
1
|
+
# microi-client-frontend 详细参考 3
|
|
2
|
+
|
|
3
|
+
> 按需读取;本文件由 SKILL.md 的原章节无损拆分。
|
|
4
|
+
|
|
5
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-011 sha256=4272be553eea5fd0ead8c7933b3b5231a6d8501bfed181294d1e5cf5965314d6 -->
|
|
6
6
|
## Vue3 前端微服务宿主规则
|
|
7
7
|
|
|
8
8
|
`sys_menu.OpenType=MicroService` 时,动态路由必须把 `MicroServiceId`、`MicroServicePageId`、`MicroServiceRoutePath` 和真实入口 `MicroAppUrl` 写入 route meta;浏览器侧菜单路由使用 `/#/micro-app/{MsKey}/{RoutePath}`,不要再生成 `/micro-app-host/{menuId}`,否则地址过长且刷新或直接访问菜单路由容易加载空白页。
|
|
@@ -101,8 +101,8 @@ CurrentUser、ApiBase 和 OsClient。无痕窗口是人工第二租户的最低
|
|
|
101
101
|
- 分层排查:打印画布恢复后仍无业务数据时,继续直接运行 `DataApi` 及其 `V8.ApiEngine.Run` 依赖,逐一对比测试/正式环境的 `IsEnable/StopHttp/AllowAnonymous` 和真实返回;旧后端对仅赋值 `V8.Result` 的依赖可能需要同时保留赋值并显式 `return V8.Result`。不得把前端空白、数据接口失败和浏览器打印输出混成同一个结论。
|
|
102
102
|
- 自动化检查:打开真实列表连续点击两次旧打印按钮,断言抽屉内出现打印引擎、打印数据接口成功、出现浏览器打印日志,并且没有未知组件警告、递归更新、页面异常或失败请求;保存首次和重复点击截图。
|
|
103
103
|
|
|
104
|
-
<!-- /microi-progressive:chunk -->
|
|
105
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-012 sha256=4e579132c5176b46e6e9aa61e87982d63fe2c26c639f0ef3832614b2dacfcb3f -->
|
|
104
|
+
<!-- /microi-progressive:chunk -->
|
|
105
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-012 sha256=4e579132c5176b46e6e9aa61e87982d63fe2c26c639f0ef3832614b2dacfcb3f -->
|
|
106
106
|
## 在线 AI 应用与微服务页面协作
|
|
107
107
|
|
|
108
108
|
Microi 的 AI 应用与应用商城只有一个主数据源:`sys_microistore`。运行类型写入 `ApplicationType`:普通平台离线包的新建默认值为 `Regular`,既有商城平台应用/通知仍使用 `Platform`,另外还有 `Web / UniApp / MicroService`;读取端必须兼容 `Regular/Platform`。`Category` 保存游戏、企业、行业、教育等业务分类,`PublisherType` 保存官方/社区来源;`mci_ai_app_file / mci_ai_app_version` 仅作为私有源码清单和构建版本从表,其 `AppId` 必须指向 `sys_microistore.Id`。禁止再向 `mci_ai_app` 创建新的主记录。MicroService 另外使用 `sys_microiservice / sys_microiservice_page` 保存运行元数据和页面路由。
|
|
@@ -148,8 +148,8 @@ Microi 的 AI 应用与应用商城只有一个主数据源:`sys_microistore`
|
|
|
148
148
|
- 官网独立页面必须接收每次受保护请求响应头中的新 `authorization` 并立刻覆盖 Token 缓存,再发起后续并发请求;否则服务端轮换 Token 后继续使用旧 Token,会出现主接口成功、次级接口却提示身份过期的矛盾页面。
|
|
149
149
|
- 同一份 ApiKey/Token 摘要在 Overview 与 AI 页面复用同一个组件;Token 额度统一展示“总量/Total”,不要把总量写成“赠送”。复制密钥必须有明确成功或失败提示,并提供 Clipboard API 不可用时的兼容复制。
|
|
150
150
|
|
|
151
|
-
<!-- /microi-progressive:chunk -->
|
|
152
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-013 sha256=57dc1ce4db6ce0aa4865b3d0ad11293a17e473a9f6bb92a084701ea239056d13 -->
|
|
151
|
+
<!-- /microi-progressive:chunk -->
|
|
152
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-013 sha256=57dc1ce4db6ce0aa4865b3d0ad11293a17e473a9f6bb92a084701ea239056d13 -->
|
|
153
153
|
## 浏览器访问密钥路由
|
|
154
154
|
|
|
155
155
|
- 固定看板免登录使用常量匿名路由 `/access-login`,密钥使用 `microi_ak_` 前缀,完整链接格式为 `{Microi.Client前端WebBase}/?OsClient={当前租户}#/access-login?access_key={密钥}&redirect={encodeURIComponent后的站内Hash路由}`。例如目标路由 `/mic/data-dashboard/preview/01KK988A0YPHKAM8SF216917HX` 必须生成 `redirect=%2Fmic%2Fdata-dashboard%2Fpreview%2F01KK988A0YPHKAM8SF216917HX`。生成器只复制当前 `OsClient`,不能把其它页面查询参数带进凭据链接,也不能把 API Server 当成前端 WebBase。
|
|
@@ -164,4 +164,4 @@ Microi 的 AI 应用与应用商城只有一个主数据源:`sys_microistore`
|
|
|
164
164
|
- 不要因为底层帐号是管理员而在访问密钥会话展示控制面入口或触发控制面预加载。`_AccessKeySession=true` 时,密码显示、密钥管理、表/字段/菜单设计、缓存/服务器管理、查看或踢出其它终端等功能必须保持不可用;后台任务中心最多读取和管理当前用户自己的任务。
|
|
165
165
|
- `/access-login` 必须在普通 SSO 发现之前直接放行,兑换最多等待 20 秒并给出明确错误,不能让页面永久停在“正在自动登录”。
|
|
166
166
|
- 历史 `?token=` 只作兼容:解析后立即清除参数,不输出、不持久化完整 Token,不为新功能生成这种链接。
|
|
167
|
-
<!-- /microi-progressive:chunk -->
|
|
167
|
+
<!-- /microi-progressive:chunk -->
|
|
@@ -1,130 +1,133 @@
|
|
|
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
|
-
### MCP 开发角色授权(强制)
|
|
11
|
-
|
|
12
|
-
- 平台版本号的连接弹窗及角色授权管理仅向 `Level >= 9999` 开放;复制开发 Token 的后端仍须复核当前租户主库身份。普通账号不能通过前端参数申请管理员会话。
|
|
13
|
-
- 非超级管理员必须先获得角色的 MCP 开发授权。默认关闭;权限由 `sys_rolelimit` 的 `McpDevelopment` 类型保存,连接弹窗与角色编辑共享记录、并发版本和事务。不得另建不同步的本地授权表。
|
|
14
|
-
- 按同一角色组合访问范围与创建/修改、删除开关,禁止把 Full 只读角色与 Role 范围写角色拼成全库写权限。受限范围继续检查模块、表单、行、字段;禁止通过脚本、SQL、配置数据源或旧 FormEngine HTTP 路由绕过限制。
|
|
15
|
-
- 完整范围且两个写入开关均开启包含可信服务端开发能力,必须明确其可间接写删的范围;不能声称只授予无风险的界面编辑。管理授权入口仍由超级管理员控制。
|
|
16
|
-
- 被拒绝时回读账号/租户/角色授权与工具版本,不通过改 Header、改终端类型、匿名接口或直接 SQL 绕过。连接说明保持安装 CLI、stdin 导入、初始化及状态验收的短流程,不要求用户提供管理员密码。
|
|
17
|
-
|
|
18
|
-
本地 HTTPS 连接同样必须验证证书。MCP 不因 `localhost/127.0.0.1` 自动设置
|
|
19
|
-
`NODE_TLS_REJECT_UNAUTHORIZED=0`,也不能覆盖调用方的严格策略。开发节点使用受信
|
|
20
|
-
证书;必要时在启动 MCP 前通过 `NODE_EXTRA_CA_CERTS` 指定已核验的公开 CA PEM。
|
|
21
|
-
分别验证正确 CA 可连接、陌生 CA/无信任证书被拒绝;配置了 CA 不等于实际启用了
|
|
22
|
-
证书验证,须核对最终进程与真实握手结果。证书私钥和会话 Token 不进入日志。
|
|
23
|
-
|
|
24
|
-
平台 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`。
|
|
25
|
-
|
|
26
|
-
每次 Microi 对话先完整读取工作区 `microi.skills/workspace-conventions/SKILL.md`;工作区尚未初始化时读取本插件同级 `../workspace-conventions/SKILL.md`。按其中首部完成创始人身份识别及平台功能四项同步检查,再进入专项流程;完整规则只维护该基础入口,不复制到本路由。
|
|
27
|
-
|
|
28
|
-
在已初始化吾码工作区中,用户仅描述业务需求也自动读取 `microi-system-delivery/SKILL.md`
|
|
29
|
-
及相关专项 Skills,无需用户指定 Skill 名称。具体读取顺序与完整开发、局部修改、只读分析
|
|
30
|
-
的执行范围以基础规范的“吾码 AI 开发默认路由”为唯一事实源。
|
|
31
|
-
|
|
32
|
-
## Microi Agent 桌面宿主
|
|
33
|
-
|
|
34
|
-
- 完整版在所有平台用物理 `node_modules/node/bin/node[.exe]` 启动 Harness、Worker 和插件命令,不能换成 Electron Helper/utilityProcess;后者会在特定 Electron 指纹下被原生加载器拒绝。每次发布最终安装包先运行 `test:packaged-desktop`,设置真实产物与独立证据目录,验收生产 main 两次正常启动、Worker IPC、员工引导及 Harness 重启,并核对日志 `electron=none`。直接启动 Harness、签名公证成功或跳过完整应用用例均不足以证明用户能正常启动;不同系统和架构覆盖分别记录。同步上游必须保留该选择器、门禁脚本与回归用例。
|
|
35
|
-
- 桌面包内置技能目录;干净工作区输入 `/microi` 可发现吾码入口,再读取基础规范与专项技能。查不到时先核对当前桌面版本及内置技能资源,不要求用户复制开发机目录,也不要把 MCP 工具名当成斜杠技能名。
|
|
36
|
-
- 对话输入框上下键回填成功提交的提示词,向下可恢复未发送草稿。菜单、输入法候选、选区和多行正常光标移动优先;不要在用户编辑文本时强行覆盖草稿。
|
|
37
|
-
- 消息编辑/撤回通过真实会话分叉到该消息之前的已完成轮次;原会话和已经执行的文件修改保留。撤回将消息恢复为草稿,编辑则重新发送;这不是撤销文件系统。图片随草稿恢复,无法安全恢复的文件附件明确拒绝,不能静默删除附件或只改屏幕文字而保留旧模型上下文。
|
|
38
|
-
- AI 员工按项目群协作,十个岗位加技术总监共十一个岗位,可分别选择桌面已配置模型;原任务、成果审阅、目标和预算仍从「任务与验收」进入。群与任务共用用户明确选择并已登录的吾码 MCP,不能默认切到官方账号或首个客户。数据、运行与验收记录归所选租户;未安装员工中心或权限不足必须明确提示,不能擅自向所有客户安装。Harness 的会话/技能/定时能力不能证明完整 OpenClaw 已内置。相关执行边界读取 `ai-engine/references/ai-employees.md`。
|
|
39
|
-
- 员工群消息先持久提交 SQL 消息、运行与 outbox,再返回短确认;后台用稳定 Mongo `_id` 同步并按授权游标分页读取,失败明确显示 SQL 兜底,不能把未确认发送或模型排队当完成。旧历史只在当前群管理者显式操作后分批迁移。SignalR 使用通用 `/api-engine-realtime` 和群授权,只传版本提示;断线重连后重新授权并按游标回读,不将推送当持久记录。Token 留在桌面 Worker,切换 MCP/用户/群时清理旧订阅及迟到响应。最终安装包须实测详情、模型选择保存、短确认、Mongo 回读及断线恢复。
|
|
40
|
-
- Mongo 附件投影保存规范四字段数组的 JSON 字符串,读回仍核对完整消息摘要,不能只比较顶层 ContentHash。冲突先用同源、当前群管理权限限定的只读审计;旧嵌套字段已丢失时不可猜测解码或跳过摘要。派生投影修复仅限 SQL 正文摘要与 outbox 一致、原 outbox 独占租约仍有效、Mongo 同 Message/Group/Owner、时间/序号及其余非附件字段匹配、已知缺陷形态明确的记录;只更新派生附件字段并完整回读核对,不把固定 Id 更新宣称为 Mongo 原子 CAS。未知冲突保留 SQL 兜底,不改业务消息或模型运行、不扫描所有租户。
|
|
41
|
-
- 同一桌面实例的多个 Worker 必须共享本机模型容量预准入,在领取云端任务前取得名额;RPC 超时不等于模型终态,结果未知时停止自动重放并保留核对入口。
|
|
42
|
-
- 员工模型以 16,384 Token 为本功能默认且最高请求预算,不代表厂商输出能力;通过官方 prepareCall 同时冻结路由、能力和派发,按配置中的显式请求上限及剩余上下文收紧,保留用户 thinking/reasoning 控件。max-tokens 表示输出截断,必须记录 Uncertain 并等待核对,不能当完整成果或自动重试;预算不足应在派发前明确拒绝。
|
|
43
|
-
- 1.4.2 起,员工正文使用官方 SDK typed text/reasoning 和实际 finish 终态:必须实际收到 stop,独立 reasoning 不写入群消息;普通文本仅剥离开头完整闭合的标准 think 块,开头未闭合、空白或整份“最终正文”占位(含简单 Markdown 外壳)保留核对状态,不作为群成果。正文内部代码、引用、段落及标签示例不作全局改写;旧随机边界解析器只保留独立兼容测试,不作为新运行的输出要求或失败回退。不得自动重调同一已开始请求,实际供应商 usage 保留,缺失或部分用量沿用原 unknown 规则。实际追加的回答指引计入 prepareCall 的完整保守输入估算,不冒充供应商精确 tokenizer;不删除上下文预留、不放大输出或上下文上限,不绕过预算不足时的派发前拒绝。
|
|
44
|
-
- 自动会话标题仅处理提供方返回内容开头完整闭合的标准 think 块;未闭合、空标题或无可用正文走原回退,不把思考前缀作为标题。历史标题重建投影时保留用户命名、原始事件及正常标题,不为修复旧标题追加模型请求。同步上游时保护生成和历史投影两个接缝、共享纯前缀识别助手及真实普通会话标题断言;共享助手的换行规范不放宽官方源文件的完整 SHA-256 校验。
|
|
45
|
-
- 官方桌面自动欢迎流程必须尊重当前设置 owner:仅在吾码官方桌面标记严格为 true 时排除上游自动欢迎候选,显式模型配置与显式引导保留原行为。账号登录待完成、模型编辑等状态不能因后台自动步骤被卸载;同步上游时同时保护 SettingsRoot 决策接缝及真实 React 生命周期回归。本地内存桥回归不能代替安装包的真实认证与原生验收。
|
|
46
|
-
- 长记录群聊须保留消息条目自身高度及原离屏渲染策略,避免长回复在纵向 flex 日志中被压成零高。上游同步时同时保护消息高度样式、实际群聊组件和官方 Markdown 的浅色 / 深色回归;按唯一消息身份普通滚动后核对可见性和完整 AST / DOM 正文,位置使用正常绘制后的同轮矩形,不靠删除断言或强制改写布局通过。组件夹具结果不能代替新包、同包原生或真实目录升级。
|
|
47
|
-
- 历史消息重新编辑缺少官方安全回退(rewind)时,采用保留审计的安全分支;仅在新分支编辑请求实际持久接收后归档旧分支,活动侧栏以单条当前会话为目标。保留官方归档恢复原正文、附件、工作区的能力;接收结果未知时不归档、不重复 prompt,归档失败只重试归档,不重发模型请求。显式 fork / retract 不改变;上游同步须保护接收确认后归档的顺序及未知、失败、恢复路径,验收独立核对真实侧栏计数与归档恢复,设计不能冒充通过结果。
|
|
48
|
-
- Markdown 验收先定位唯一消息并普通滚动到目标,再保留身份、可见性及整份 AST/DOM 内容断言;签到只按当前岗位本人的明确肯定句判断,不能把引用、代码、请求、假设、否定或其他岗位在线当本人在线。源码回归、实际包校验、原生、真实升级与渠道验收分别记录,不能相互替代。
|
|
49
|
-
- 员工新运行只允许从用户所选且有效的 MCP 完整身份与当前显式项目群领取;未选群不自动领取其它群,切换连接或群后停止旧范围的新领取。已开始运行按原范围安全收尾,已保存的加密成果重报保留;不能因离群丢弃结果或重放结果未知的模型调用。
|
|
50
|
-
|
|
51
|
-
- 桌面与手机配对的本机 HTTP 监听必须避开 Fetch 标准禁止端口。系统自动分配的端口也可能不可浏览器访问;只有浏览器允许的真实监听端口才能进入配对 URL。自动命中禁止端口时关闭监听再有界重选,显式配置禁止端口须报错;权限和占用错误仍保留原错误,不改变系统动态端口范围、不绕过浏览器安全策略。同步上游时保护共同端口选择器、配对监听与对应回归。
|
|
52
|
-
|
|
53
|
-
- 1.3.8 起生产宿主为 DeepSeek 官方桌面。同步前读取内部源码根目录 `同步DeepSeek官方上游.md`、`apps/official-desktop/upstream.lock.json` 与维护交接记录;核对官方提交、归档 SHA、版本与完整锁。保留原始快照、自有层和精确接缝,干净安装、回归及真实包验收后才能推进基线。旧 `同步dsh-desktop上游.md` 已删除;历史派生模块只按发行快照追溯,不得恢复退役宿主或 PPT 模式。
|
|
54
|
-
- Microi Agent 是内部仓库中的独立桌面发行物,基于 DeepSeek Harness 官方桌面源码及独立吾码差异层,内置固定 Harness、Node.js、MCP / CLI / Skills;不是需要额外 Agent Token 的 CLI 别名。历史 DataElement 派生模块及许可证仍保留。
|
|
55
|
-
- 官方 AI 登录只走吾码桌面账号窗口,在受支持的 `https://api.microi.net` / `https://api.microi.net`、`OsClient=iTdos` 使用本人的中转 Key 和额度;它是员工业务 MCP 之外的可选计费来源。不要把密码或 AI Key 写入对话、命令行、MCP 参数或模型配置。
|
|
56
|
-
- 业务连接在「服务器连接(MCP)」中单独添加、登录;官方 AI 账号不授予业务租户权限。项目初始化和资源同步优先使用桌面「项目资源」;其余业务继续调用同源 MCP 的原工具。
|
|
57
|
-
- macOS 登录凭据通过桌面 Keychain/受限 IPC 管理;不要在 macOS 改跑当前只支持 Windows 凭据恢复的 `microi auth login`。不要手改 Token 文件。
|
|
58
|
-
- 桌面安装包中的 Harness、Node 和同源资产随桌面版本升级;不运行 npm 自更新去改写正在使用或已签名的安装目录。外部 Codex / WorkBuddy / CLI 的后台更新规则保持不变。
|
|
59
|
-
- 桌面 UI 通过官方 slots 接入吾码面板,首页保留官方会话区及吾码 AI 大类与 29 项图像工具。工具目录以 `Microi.Client/src/views/ai-engine/ai-image-tool-directory.js` 为事实源,点击在「Microi吾码」主面板使用;模型来源可选当前对话模型、吾码官方中转或已登录业务连接。AI 数据分析通过同源 MCP 调用 `mci_ai_data_assistant`。1.4.0 起不挂载旧 dsh-desktop PPT 模式、模板 dock 或独立菜单;普通 Office 技能、用户文件与历史不删除。
|
|
60
|
-
- 1.4.2 起,常用的 AI 员工、插件与自动化任务位于任务/工作区上方,其余工具统一进入官方设置弹窗;底部保留账号和一个设置按钮,关于、手机配对与吾码官网/QQ群 51050055 位于设置的帮助分区。旧版“工作区在功能区上方”规则由用户最新要求取代。旧业务入口通过已注册分区导航保留,不复制设置壳、不用 DOM 隐藏或点击模拟。自定义品牌与浅深主题继续保留。
|
|
61
|
-
- 桌面安装包版本从 `1.0.0` 开始,使用吾码三段十进制进位规则。正式新版本先在发布源码中执行 `version:bump`,核对并提交三个版本文件;Mac 拉取后使用 `bash ./一键打包Mac.sh` 在临时 Git 工作树中打包当前已提交版本,默认不再升版,失败也不能把生成文件留在原检出目录。`--current` 仅作旧命令兼容;同版本本地重打包不得覆盖已公开的不可变产物。测试、类型检查和普通 Web 构建不升版。
|
|
62
|
-
- Windows 安装包的构建成功、Authenticode 签名、SmartScreen/商店信任、HDFS 上传与 CDN 回读是不同证据;双击 `一键打包Windows.cmd` 时自动探测 Microsoft Artifact Signing 或本机可信证书,没有凭据则继续生成明确标记的未签名包,显式 `-Signing Signed` 才失败关闭。签名必须先覆盖安装器及独立执行文件,再计算发布 SHA256。macOS 默认 `bash ./一键打包Mac.sh` 同样自动探测并在无凭据时生成未签名包;`--signed` 是正式门禁,必须在缺少证书或公证钥匙串时失败,并通过 `codesign`、`spctl`、`stapler validate` 后才标记已签名公证。
|
|
63
|
-
- 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 真机、安装升级、客户设备验收分别记录。
|
|
64
|
-
- Windows 的 IPv4/IPv6 TCP 都连接失败时,允许回退到本次启动创建的私有命名管道。必须先从管道取得真实 HTTP 响应,再沿用 Harness 原有 Host、Origin、启动 Token 和签名 Cookie 验证;不得跳过鉴权或开放公网。HTTP 请求与 `/api/remote.mux` 会话流都要验收,IPC 仅限当前主窗口顶层页面和固定端点,不暴露凭据、管道路径或任意代理能力。`scripts/verify-harness-pipe.mjs` 的 macOS Unix socket 验证不等于 Windows 命名管道或客户设备已通过。
|
|
65
|
-
- 当前 Electron 桌面运行时不能直接打包 iOS/Android,也不能把现有 DMG 原样提交 Mac App Store。移动端和 MAS 版应作为受限客户端,复用账号、模型、会话、MCP 与桌面配对协议,把 Node/Harness/Shell/插件执行放到配对桌面或合规远端;分别完成 Apple/Google 签名和商店审核。
|
|
66
|
-
- MAS 使用独立 `electron.vite.mas.config.ts` 与 `electron-builder.mas.cjs` 构建最小客户端,应用包只含客户端入口、受限 preload、静态界面和版权材料;不能把父工程依赖、Harness、独立 Node 或站外更新器混入沙盒包。正式包使用 Mac App Distribution 与 Mac Installer Distribution;本机验证使用 Mac Development 和包含该设备的开发描述文件。签名钥匙串必须先用实际保存的密码完成锁定、解锁往返验证,再启动构建;记录密码不得被重复生成过程覆盖。签名包、本机运行、Apple 上传处理、提交审核和正式上架分别回读,不能以包已生成代替上架。商店截屏使用经过验证的真实客户端界面,按 Apple 接受的高清尺寸上传,保留原始高清 Logo。
|
|
67
|
-
- Windows Microsoft Store 使用分配给产品的 MSIX Identity/Publisher,上传包由商店签名。MSIX 运行时以 Electron 的 `process.windowsStore` 识别,禁止调用官网 EXE 更新、降级或安装入口;手动检查更新转到该产品的 Microsoft Store 页面,版本列表不请求 NSIS 归档。包内 PE/x64、Manifest/BlockMap 校验、Windows 原生运行、商店认证和正式可下载分别记录。官网 Windows/macOS 下载按钮旁可展示真实商店产品链接,但审核中必须明确标注,不能把未开放页面称为已上架。
|
|
68
|
-
- 闭源商业项目要求免费可信 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、离线与企业策略边界;不降低安全策略或虚构全部系统验收。自签名不能产生公众信任,免费开源签名服务不适用于私有商业源码。
|
|
69
|
-
- 复用已签名 MAS 应用制作开发测试包时,必须替换 `Contents/embedded.provisionprofile`,核对描述文件中的证书与开发签名及当前设备一致;`codesign --verify` 通过仍不能替代实际启动。资料目录中的描述文件保持私有权限,复制到安装包后设为普通用户可读,并检查整个有效载荷,避免 ITMS-90255。沙盒阻止调试监听时不得扩大正式包的网络监听权限;自动化测试入口只放入独立开发副本,正式入口、preload 与界面应核对同源,测试入口和配对口令不得进入正式安装包。安装包上传成功后仍要回读 Apple 处理状态、选择构建、上传高清素材并实际提交审核。
|
|
70
|
-
- 官方账号页和关于标签通过 `platform-current-user` 接口引擎读取当前 `sys_user.LicenseType`。桌面相关平台业务逻辑优先通过 `microi_itdos` 接口引擎实现;只有接口引擎缺少必需底层原子能力时才能改后端源码,并说明原因。
|
|
71
|
-
- 正式 Windows/macOS 安装包必须内置固定版本且经过 SHA-256 校验的 cloudflared,运行时优先使用安装包 `resources/bin`,避免首次联网临时下载。检查更新从 `https://api.microi.net/microi-code/updates/` 的匿名接口引擎读取 YAML/JSON,安装包二进制仍通过 HDFS 流式发布。
|
|
72
|
-
- Windows 安装验收必须包含旧卸载器损坏后的升级、同版本重装、超过 260 字符的路径以及全部文件 SHA-256 回读。安装器使用当次发布的兼容卸载器,并用固定哈希的 Unicode 7-Zip 直接解压到目标目录,禁止恢复临时目录解压后使用 NSIS `CopyFiles` 复制的流程;该流程会将路径或复制错误误报为“应用无法关闭”。进程检查仅匹配安装目录内的产品主程序及内置 Node,不能按整个目录匹配安装器或无关程序。
|
|
73
|
-
- 长路径验收必须先安装完整旧版本,再在同一目录覆盖升级及再次重装,不能只在空目录或仅含模拟卸载器的目录安装。卸载清理、旧文件备份迁移和失败回滚均须支持 Windows 扩展路径;通过真实 NSIS 与独占文件句柄验证长路径迁移和占用回滚,不能仅用 JS 文件操作或首次解压测试替代。
|
|
74
|
-
- 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,本机通过不代表客户机升级通过。
|
|
75
|
-
- Windows 1.2.8 起升级先在安装盘同级目录完整解压,再切换程序目录;旧文件仅同盘重命名,禁止回退到逐文件跨盘搬运。`build/microi-installer-transaction.nsh` 与相关 NSIS 补丁必须随上游同步永久保留。Win32=33 是文件区域锁错误,不能仅凭此指认某个安全软件;验收须在安装盘与 TEMP 不同的条件下持有真实字节锁,证明旧跨盘操作失败而新版安装成功,并验证持续占用、回滚与未知目标目录冲突。未恢复的同盘备份必须在安装退出后保留,不能存入会自动删除的临时目录;完整源文件哈希检查与客户设备验收分别记录。
|
|
76
|
-
- Windows 1.3.7 修复候选针对新版 stage 启用时 Win32=5 的单次失败:对 5/32/33 有限重试,再仅在成功新建的目标目录内做同盘文件重命名;以固定 UTF-16 日志记录迁移意图,部分失败逐项搬回,已有目标、未知文件与旧备份均不覆盖。回滚 EOF 和短记录必须停止,目录枚举句柄先关闭再删除空目录。真实 NSIS 回归覆盖短暂/持续错误 5、中途错误 5、文件冲突和未知目标;Wine 结果与 Windows 原生覆盖升级/全部文件哈希/最终程序启动分别报告。
|
|
77
|
-
- Windows 1.2.9 起本机启动探测必须使用覆盖 TCP 连接和响应头的硬超时;Harness 输出认证地址后,Node 请求失败可使用实际渲染页面的 Chromium 网络通道回退,严格限制为本次 `http://127.0.0.1:端口/`、不带凭据、不跟随重定向。记录两个通道的真实错误;只有响应正常且存在本次认证信息才可启动页面。恢复日志只能去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布必须运行 `scripts/verify-harness-startup.mjs`,使用发布包内 Node/Harness 验证普通与安全模式、注入 Node 超时后由真实 Chromium 渲染新会话控件,以及双通道真实不响应的有界失败;本机验证不能称为客户设备已通过。
|
|
78
|
-
- 桌面平台 Worker 必须在真实安装包内验证 IPC 与 Windows DPAPI。旧保险库只有成功解密且明文为零字节时才允许迁移为空文档;损坏或其他 Windows 用户的保险库保留原文件并返回具体错误。启动初始化拒绝不能让 Node 服务退出;单元测试、安装成功与真实桌面账号/AI 员工页面联调是三个独立验收层。
|
|
79
|
-
- Microi Agent 的生产桌面使用 DeepSeek 官方源码,升级唯一入口为 `Microi.Agent/同步DeepSeek官方上游.md`。锁定官方 commit 和归档哈希,重放独立 overlay、桥接、客户端插件及云应用契约;吾码源码保护区、VS Code/CLI/MCP 与商店通道不能被上游覆盖。历史 dsh 桌面快照只作旧发行追溯和保留业务模块的来源,不再作为生产同步入口。用户「关于」可以只展示 Microi Agent、版本、吾码官网和支持入口;第三方许可证与版权声明继续在安装包的 NOTICE/LICENSE 中保留,不能因简化关于弹窗而删除法律材料。停止或退出后的任务保留历史,当前 SDK 的跨进程历史仅供查看,需新建任务引用继续。
|
|
80
|
-
|
|
81
|
-
### 默认中文输出
|
|
82
|
-
|
|
83
|
-
- 面向用户的回答、计划、工具说明、错误解释和可见进度默认使用简体中文;代码、协议字段、命令、模型名称和路径保留原文。
|
|
84
|
-
- 这条规则通过 Microi Skills 同步到 Microi Agent、Codex、DeepSeek Harness、WorkBuddy、CodeBuddy 和 OpenCode 的工作区指令;宿主或模型支持自定义系统提示时,也应将同一条规则放在最高优先级的用户可见输出约束中。
|
|
85
|
-
- 中文规则只能约束可见回答、计划和工具摘要;模型服务内部隐藏思考的语言由模型决定,客户端不能保证每一个内部 token 都是中文,也不应把内部思考当成可导出内容。
|
|
86
|
-
|
|
87
|
-
## 非阻塞自动更新(强制)
|
|
88
|
-
|
|
89
|
-
每次新建或接续吾码任务必须执行 `workspace-conventions` 的版本检查、首次“Microi吾码开发工具版本”播报与后台自动升级,不限模型。先调用 `microi_codex action="profiles"` 读取 `toolchain` 中的当前已加载版本、工作区 Skills 版本和自动更新状态;未知项准确标记,不能把当前进程版本当成全局 CLI 或 npm 最新版。完整强制规范只维护在基础入口。
|
|
90
|
-
|
|
91
|
-
Codex Router 启动后会异步调用 bundled CLI 的 `microi update --background`。需要了解完整安装/诊断机制时读取同级 `microi-codex-installer/SKILL.md`;更新检查不得发生在用户工作之前,也不得让任务等待。
|
|
92
|
-
|
|
93
|
-
自动更新会从 npm 官方 registry 升级 CLI,更新 Codex/DeepSeek Harness 插件并重新初始化工作区 AI/MCP。当前 Router、DSH 会话和已经启动的 MCP 继续使用旧版本,不被杀死或强制重载;新版供后续新进程使用。自动更新失败、被占用或用户暂不重载时,只记录/提示并继续当前、正在进行和新建任务;不得要求升级授权,也不得把版本状态当作业务门禁。
|
|
94
|
-
|
|
95
|
-
## 先确认工作区连接
|
|
96
|
-
|
|
97
|
-
1. 调用 `microi_codex`,传 `{ "action": "profiles" }`。
|
|
98
|
-
2. 只有一个已登录连接时,后续可以省略 `profile`;存在多个连接时,始终传 `profiles` 返回的稳定 `name`。
|
|
99
|
-
3. 尚未初始化时,插件根目录是本文件向上两级;使用其中的 `scripts/microi-cli.js`:
|
|
100
|
-
- `node <plugin-root>/scripts/microi-cli.js init --workspace <workspace>`
|
|
101
|
-
- 多连接:`profile list|add|remove`
|
|
102
|
-
- 登录:`auth login|status|logout --profile <name>`
|
|
103
|
-
- 诊断:`doctor --json`
|
|
104
|
-
4. 登录会在真实终端中隐式输入密码;不要把密码写入命令、日志、Skill、MCP 参数或工作区文件。Token 继续写入 `Microi-V8-Engine/.microi-mcp-tokens.json`,并按 API、OsClient、Type、Network 四段身份隔离。
|
|
105
|
-
|
|
106
|
-
## 功能路由
|
|
107
|
-
|
|
108
|
-
- 质量优先的上下文策略读取 `microi-system-delivery/references/context-quality.md`。完整系统读全原八项及增补;局部修改读取目标与依赖,歧义扩大。`microi_get_db_schema` 默认目录摘要,字段写入前使用 `detail:"fields"` 并遍历 `Paging.nextCursor`;应用清单和文件片段同样检查完整性,不能把摘要作为覆盖正文。
|
|
109
|
-
- 较大 Manifest 在 `microi_plan_system` 首次提交正文并传 `detail:"summary"` 获取 `manifestRef/manifestHash` 复用,执行与验收仍校验当前身份;引用过期、重启或凭据变化时重新提交正文,写入未知先回读。`microi_get_context_metrics` 只报告当前 MCP 工具载荷字节、调用和错误,不能冒充供应商 token/费用。外部宿主的历史摘要和缓存由宿主管理。
|
|
110
|
-
|
|
111
|
-
- 连接、登录、拉取、推送、差异和 AI 初始化:使用 bundled CLI 的 `profile`、`auth`、`pull`、`push`、`sync status`、`ai init`、`mcp init`、`doctor`。
|
|
112
|
-
- 接口引擎、表单事件、模块、字段、工作流和数据库结构:先用 `action="list_tools"` / `describe_tool`,再调用对应原始 `microi_*` 工具。写工具必须保留确认口令、审计与回读。
|
|
113
|
-
- 远程执行与调试:读取 `v8-debugging/SKILL.md`。Codex 用“获取源码 → 远程执行 → 定位堆栈/日志 → 最小补丁 → 再执行”的结构化循环代替 VS Code DAP 的可视化逐行面板;不得把未执行的源码检查称为真机调试成功。
|
|
114
|
-
- 性能测试:读取 `performance-testing/SKILL.md`,限制并发并输出样本、P95/P99、错误率和停止条件。
|
|
115
|
-
- 系统日志、内存吃满、OOM 与接口/V8 异常分配:读取 `system-observability/SKILL.md` 及其内存事故手册,使用专用 MCP 的 `Capabilities` → `Memory` → 事故历史/详情 → `Trace`,先查采集质量再归因。
|
|
116
|
-
- 微应用:读取 `microi-microservice/SKILL.md`,使用 scaffold、source sync、stream publish 和发布回读原工具;本地构建前遵守内存保护。1.4.2 起,仅在确认 Vite 且缺少 `dev` 时补默认开发命令,保留已有命令;Windows 替换仅对 EPERM / EACCES / EBUSY 最多 4 次、20 / 40 / 80 毫秒有限退避,每次核对原完整字节与文件身份。发现可观察的并发编辑、替换或删除立即停止并保留用户内容,不删目标或强制覆盖,不把核对到替换的窄窗口宣称为跨进程原子 CAS。
|
|
117
|
-
- Playwright:读取 `playwright-e2e/SKILL.md`,使用当前已登录浏览器或受控 Playwright;报告必须来自实际页面执行。
|
|
118
|
-
- 其他领域:从本插件同级 Skills 里选择最小相关 Skill,并完整读取后执行。
|
|
119
|
-
|
|
120
|
-
## 同步与安全边界
|
|
121
|
-
|
|
122
|
-
- 发布扩展与 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。不输出凭据,不因继承错误重复要求登录;已发布正确制品保留,发行内容变化使用新不可变版本。npm、Visual Studio Marketplace、Open VSX 的发布命令明确提示成功即可报告对应渠道发布成功;默认不追加 `--verify-all` / `--verify-only`、版本轮询或下载回读,不因传播延迟重复发布。只有命令报错、结果未知或用户明确要求核验时才查询渠道状态。
|
|
123
|
-
|
|
124
|
-
- `Microi-V8-Engine/.microi-config.json` 是三端连接配置事实源;未知字段必须保留。
|
|
125
|
-
- CLI、VS Code、Codex 与 DeepSeek Harness 插件可以在同一工作区并存;各端必须复用同一配置/Token/MCP 协议,带版本写入实行较新 provider 优先,禁止旧入口回写降级。`doctor.coexistence` 未通过时准确报告兼容风险并后台修复,但不得因此停止无关工作。
|
|
126
|
-
- 推送前先做远端差异检查。写请求超时只表示结果不确定,使用对应 get 工具短超时回读,禁止盲目重复创建或覆盖。
|
|
127
|
-
- 配置和 Token 文件使用现有原子写与锁协议;不要手工拼接或清空用户已有 MCP 配置。
|
|
128
|
-
- Codex Plugin 路由器只选择连接,业务行为必须继续走原 MCP bundle。
|
|
129
|
-
|
|
130
|
-
|
|
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
|
+
### MCP 开发角色授权(强制)
|
|
11
|
+
|
|
12
|
+
- 平台版本号的连接弹窗及角色授权管理仅向 `Level >= 9999` 开放;复制开发 Token 的后端仍须复核当前租户主库身份。普通账号不能通过前端参数申请管理员会话。
|
|
13
|
+
- 非超级管理员必须先获得角色的 MCP 开发授权。默认关闭;权限由 `sys_rolelimit` 的 `McpDevelopment` 类型保存,连接弹窗与角色编辑共享记录、并发版本和事务。不得另建不同步的本地授权表。
|
|
14
|
+
- 按同一角色组合访问范围与创建/修改、删除开关,禁止把 Full 只读角色与 Role 范围写角色拼成全库写权限。受限范围继续检查模块、表单、行、字段;禁止通过脚本、SQL、配置数据源或旧 FormEngine HTTP 路由绕过限制。
|
|
15
|
+
- 完整范围且两个写入开关均开启包含可信服务端开发能力,必须明确其可间接写删的范围;不能声称只授予无风险的界面编辑。管理授权入口仍由超级管理员控制。
|
|
16
|
+
- 被拒绝时回读账号/租户/角色授权与工具版本,不通过改 Header、改终端类型、匿名接口或直接 SQL 绕过。连接说明保持安装 CLI、stdin 导入、初始化及状态验收的短流程,不要求用户提供管理员密码。
|
|
17
|
+
|
|
18
|
+
本地 HTTPS 连接同样必须验证证书。MCP 不因 `localhost/127.0.0.1` 自动设置
|
|
19
|
+
`NODE_TLS_REJECT_UNAUTHORIZED=0`,也不能覆盖调用方的严格策略。开发节点使用受信
|
|
20
|
+
证书;必要时在启动 MCP 前通过 `NODE_EXTRA_CA_CERTS` 指定已核验的公开 CA PEM。
|
|
21
|
+
分别验证正确 CA 可连接、陌生 CA/无信任证书被拒绝;配置了 CA 不等于实际启用了
|
|
22
|
+
证书验证,须核对最终进程与真实握手结果。证书私钥和会话 Token 不进入日志。
|
|
23
|
+
|
|
24
|
+
平台 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`。
|
|
25
|
+
|
|
26
|
+
每次 Microi 对话先完整读取工作区 `microi.skills/workspace-conventions/SKILL.md`;工作区尚未初始化时读取本插件同级 `../workspace-conventions/SKILL.md`。按其中首部完成创始人身份识别及平台功能四项同步检查,再进入专项流程;完整规则只维护该基础入口,不复制到本路由。
|
|
27
|
+
|
|
28
|
+
在已初始化吾码工作区中,用户仅描述业务需求也自动读取 `microi-system-delivery/SKILL.md`
|
|
29
|
+
及相关专项 Skills,无需用户指定 Skill 名称。具体读取顺序与完整开发、局部修改、只读分析
|
|
30
|
+
的执行范围以基础规范的“吾码 AI 开发默认路由”为唯一事实源。
|
|
31
|
+
|
|
32
|
+
## Microi Agent 桌面宿主
|
|
33
|
+
|
|
34
|
+
- 完整版在所有平台用物理 `node_modules/node/bin/node[.exe]` 启动 Harness、Worker 和插件命令,不能换成 Electron Helper/utilityProcess;后者会在特定 Electron 指纹下被原生加载器拒绝。每次发布最终安装包先运行 `test:packaged-desktop`,设置真实产物与独立证据目录,验收生产 main 两次正常启动、Worker IPC、员工引导及 Harness 重启,并核对日志 `electron=none`。直接启动 Harness、签名公证成功或跳过完整应用用例均不足以证明用户能正常启动;不同系统和架构覆盖分别记录。同步上游必须保留该选择器、门禁脚本与回归用例。
|
|
35
|
+
- 桌面包内置技能目录;干净工作区输入 `/microi` 可发现吾码入口,再读取基础规范与专项技能。查不到时先核对当前桌面版本及内置技能资源,不要求用户复制开发机目录,也不要把 MCP 工具名当成斜杠技能名。
|
|
36
|
+
- 对话输入框上下键回填成功提交的提示词,向下可恢复未发送草稿。菜单、输入法候选、选区和多行正常光标移动优先;不要在用户编辑文本时强行覆盖草稿。
|
|
37
|
+
- 消息编辑/撤回通过真实会话分叉到该消息之前的已完成轮次;原会话和已经执行的文件修改保留。撤回将消息恢复为草稿,编辑则重新发送;这不是撤销文件系统。图片随草稿恢复,无法安全恢复的文件附件明确拒绝,不能静默删除附件或只改屏幕文字而保留旧模型上下文。
|
|
38
|
+
- AI 员工按项目群协作,十个岗位加技术总监共十一个岗位,可分别选择桌面已配置模型;原任务、成果审阅、目标和预算仍从「任务与验收」进入。群与任务共用用户明确选择并已登录的吾码 MCP,不能默认切到官方账号或首个客户。数据、运行与验收记录归所选租户;未安装员工中心或权限不足必须明确提示,不能擅自向所有客户安装。Harness 的会话/技能/定时能力不能证明完整 OpenClaw 已内置。相关执行边界读取 `ai-engine/references/ai-employees.md`。
|
|
39
|
+
- 员工群消息先持久提交 SQL 消息、运行与 outbox,再返回短确认;后台用稳定 Mongo `_id` 同步并按授权游标分页读取,失败明确显示 SQL 兜底,不能把未确认发送或模型排队当完成。旧历史只在当前群管理者显式操作后分批迁移。SignalR 使用通用 `/api-engine-realtime` 和群授权,只传版本提示;断线重连后重新授权并按游标回读,不将推送当持久记录。Token 留在桌面 Worker,切换 MCP/用户/群时清理旧订阅及迟到响应。最终安装包须实测详情、模型选择保存、短确认、Mongo 回读及断线恢复。
|
|
40
|
+
- Mongo 附件投影保存规范四字段数组的 JSON 字符串,读回仍核对完整消息摘要,不能只比较顶层 ContentHash。冲突先用同源、当前群管理权限限定的只读审计;旧嵌套字段已丢失时不可猜测解码或跳过摘要。派生投影修复仅限 SQL 正文摘要与 outbox 一致、原 outbox 独占租约仍有效、Mongo 同 Message/Group/Owner、时间/序号及其余非附件字段匹配、已知缺陷形态明确的记录;只更新派生附件字段并完整回读核对,不把固定 Id 更新宣称为 Mongo 原子 CAS。未知冲突保留 SQL 兜底,不改业务消息或模型运行、不扫描所有租户。
|
|
41
|
+
- 同一桌面实例的多个 Worker 必须共享本机模型容量预准入,在领取云端任务前取得名额;RPC 超时不等于模型终态,结果未知时停止自动重放并保留核对入口。
|
|
42
|
+
- 员工模型以 16,384 Token 为本功能默认且最高请求预算,不代表厂商输出能力;通过官方 prepareCall 同时冻结路由、能力和派发,按配置中的显式请求上限及剩余上下文收紧,保留用户 thinking/reasoning 控件。max-tokens 表示输出截断,必须记录 Uncertain 并等待核对,不能当完整成果或自动重试;预算不足应在派发前明确拒绝。
|
|
43
|
+
- 1.4.2 起,员工正文使用官方 SDK typed text/reasoning 和实际 finish 终态:必须实际收到 stop,独立 reasoning 不写入群消息;普通文本仅剥离开头完整闭合的标准 think 块,开头未闭合、空白或整份“最终正文”占位(含简单 Markdown 外壳)保留核对状态,不作为群成果。正文内部代码、引用、段落及标签示例不作全局改写;旧随机边界解析器只保留独立兼容测试,不作为新运行的输出要求或失败回退。不得自动重调同一已开始请求,实际供应商 usage 保留,缺失或部分用量沿用原 unknown 规则。实际追加的回答指引计入 prepareCall 的完整保守输入估算,不冒充供应商精确 tokenizer;不删除上下文预留、不放大输出或上下文上限,不绕过预算不足时的派发前拒绝。
|
|
44
|
+
- 自动会话标题仅处理提供方返回内容开头完整闭合的标准 think 块;未闭合、空标题或无可用正文走原回退,不把思考前缀作为标题。历史标题重建投影时保留用户命名、原始事件及正常标题,不为修复旧标题追加模型请求。同步上游时保护生成和历史投影两个接缝、共享纯前缀识别助手及真实普通会话标题断言;共享助手的换行规范不放宽官方源文件的完整 SHA-256 校验。
|
|
45
|
+
- 官方桌面自动欢迎流程必须尊重当前设置 owner:仅在吾码官方桌面标记严格为 true 时排除上游自动欢迎候选,显式模型配置与显式引导保留原行为。账号登录待完成、模型编辑等状态不能因后台自动步骤被卸载;同步上游时同时保护 SettingsRoot 决策接缝及真实 React 生命周期回归。本地内存桥回归不能代替安装包的真实认证与原生验收。
|
|
46
|
+
- 长记录群聊须保留消息条目自身高度及原离屏渲染策略,避免长回复在纵向 flex 日志中被压成零高。上游同步时同时保护消息高度样式、实际群聊组件和官方 Markdown 的浅色 / 深色回归;按唯一消息身份普通滚动后核对可见性和完整 AST / DOM 正文,位置使用正常绘制后的同轮矩形,不靠删除断言或强制改写布局通过。组件夹具结果不能代替新包、同包原生或真实目录升级。
|
|
47
|
+
- 历史消息重新编辑缺少官方安全回退(rewind)时,采用保留审计的安全分支;仅在新分支编辑请求实际持久接收后归档旧分支,活动侧栏以单条当前会话为目标。保留官方归档恢复原正文、附件、工作区的能力;接收结果未知时不归档、不重复 prompt,归档失败只重试归档,不重发模型请求。显式 fork / retract 不改变;上游同步须保护接收确认后归档的顺序及未知、失败、恢复路径,验收独立核对真实侧栏计数与归档恢复,设计不能冒充通过结果。
|
|
48
|
+
- Markdown 验收先定位唯一消息并普通滚动到目标,再保留身份、可见性及整份 AST/DOM 内容断言;签到只按当前岗位本人的明确肯定句判断,不能把引用、代码、请求、假设、否定或其他岗位在线当本人在线。源码回归、实际包校验、原生、真实升级与渠道验收分别记录,不能相互替代。
|
|
49
|
+
- 员工新运行只允许从用户所选且有效的 MCP 完整身份与当前显式项目群领取;未选群不自动领取其它群,切换连接或群后停止旧范围的新领取。已开始运行按原范围安全收尾,已保存的加密成果重报保留;不能因离群丢弃结果或重放结果未知的模型调用。
|
|
50
|
+
|
|
51
|
+
- 桌面与手机配对的本机 HTTP 监听必须避开 Fetch 标准禁止端口。系统自动分配的端口也可能不可浏览器访问;只有浏览器允许的真实监听端口才能进入配对 URL。自动命中禁止端口时关闭监听再有界重选,显式配置禁止端口须报错;权限和占用错误仍保留原错误,不改变系统动态端口范围、不绕过浏览器安全策略。同步上游时保护共同端口选择器、配对监听与对应回归。
|
|
52
|
+
|
|
53
|
+
- 1.3.8 起生产宿主为 DeepSeek 官方桌面。同步前读取内部源码根目录 `同步DeepSeek官方上游.md`、`apps/official-desktop/upstream.lock.json` 与维护交接记录;核对官方提交、归档 SHA、版本与完整锁。保留原始快照、自有层和精确接缝,干净安装、回归及真实包验收后才能推进基线。旧 `同步dsh-desktop上游.md` 已删除;历史派生模块只按发行快照追溯,不得恢复退役宿主或 PPT 模式。
|
|
54
|
+
- Microi Agent 是内部仓库中的独立桌面发行物,基于 DeepSeek Harness 官方桌面源码及独立吾码差异层,内置固定 Harness、Node.js、MCP / CLI / Skills;不是需要额外 Agent Token 的 CLI 别名。历史 DataElement 派生模块及许可证仍保留。
|
|
55
|
+
- 官方 AI 登录只走吾码桌面账号窗口,在受支持的 `https://api.microi.net` / `https://api.microi.net`、`OsClient=iTdos` 使用本人的中转 Key 和额度;它是员工业务 MCP 之外的可选计费来源。不要把密码或 AI Key 写入对话、命令行、MCP 参数或模型配置。
|
|
56
|
+
- 业务连接在「服务器连接(MCP)」中单独添加、登录;官方 AI 账号不授予业务租户权限。项目初始化和资源同步优先使用桌面「项目资源」;其余业务继续调用同源 MCP 的原工具。
|
|
57
|
+
- macOS 登录凭据通过桌面 Keychain/受限 IPC 管理;不要在 macOS 改跑当前只支持 Windows 凭据恢复的 `microi auth login`。不要手改 Token 文件。
|
|
58
|
+
- 桌面安装包中的 Harness、Node 和同源资产随桌面版本升级;不运行 npm 自更新去改写正在使用或已签名的安装目录。外部 Codex / WorkBuddy / CLI 的后台更新规则保持不变。
|
|
59
|
+
- 桌面 UI 通过官方 slots 接入吾码面板,首页保留官方会话区及吾码 AI 大类与 29 项图像工具。工具目录以 `Microi.Client/src/views/ai-engine/ai-image-tool-directory.js` 为事实源,点击在「Microi吾码」主面板使用;模型来源可选当前对话模型、吾码官方中转或已登录业务连接。AI 数据分析通过同源 MCP 调用 `mci_ai_data_assistant`。1.4.0 起不挂载旧 dsh-desktop PPT 模式、模板 dock 或独立菜单;普通 Office 技能、用户文件与历史不删除。
|
|
60
|
+
- 1.4.2 起,常用的 AI 员工、插件与自动化任务位于任务/工作区上方,其余工具统一进入官方设置弹窗;底部保留账号和一个设置按钮,关于、手机配对与吾码官网/QQ群 51050055 位于设置的帮助分区。旧版“工作区在功能区上方”规则由用户最新要求取代。旧业务入口通过已注册分区导航保留,不复制设置壳、不用 DOM 隐藏或点击模拟。自定义品牌与浅深主题继续保留。
|
|
61
|
+
- 桌面安装包版本从 `1.0.0` 开始,使用吾码三段十进制进位规则。正式新版本先在发布源码中执行 `version:bump`,核对并提交三个版本文件;Mac 拉取后使用 `bash ./一键打包Mac.sh` 在临时 Git 工作树中打包当前已提交版本,默认不再升版,失败也不能把生成文件留在原检出目录。`--current` 仅作旧命令兼容;同版本本地重打包不得覆盖已公开的不可变产物。测试、类型检查和普通 Web 构建不升版。
|
|
62
|
+
- Windows 安装包的构建成功、Authenticode 签名、SmartScreen/商店信任、HDFS 上传与 CDN 回读是不同证据;双击 `一键打包Windows.cmd` 时自动探测 Microsoft Artifact Signing 或本机可信证书,没有凭据则继续生成明确标记的未签名包,显式 `-Signing Signed` 才失败关闭。签名必须先覆盖安装器及独立执行文件,再计算发布 SHA256。macOS 默认 `bash ./一键打包Mac.sh` 同样自动探测并在无凭据时生成未签名包;`--signed` 是正式门禁,必须在缺少证书或公证钥匙串时失败,并通过 `codesign`、`spctl`、`stapler validate` 后才标记已签名公证。
|
|
63
|
+
- 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 真机、安装升级、客户设备验收分别记录。
|
|
64
|
+
- Windows 的 IPv4/IPv6 TCP 都连接失败时,允许回退到本次启动创建的私有命名管道。必须先从管道取得真实 HTTP 响应,再沿用 Harness 原有 Host、Origin、启动 Token 和签名 Cookie 验证;不得跳过鉴权或开放公网。HTTP 请求与 `/api/remote.mux` 会话流都要验收,IPC 仅限当前主窗口顶层页面和固定端点,不暴露凭据、管道路径或任意代理能力。`scripts/verify-harness-pipe.mjs` 的 macOS Unix socket 验证不等于 Windows 命名管道或客户设备已通过。
|
|
65
|
+
- 当前 Electron 桌面运行时不能直接打包 iOS/Android,也不能把现有 DMG 原样提交 Mac App Store。移动端和 MAS 版应作为受限客户端,复用账号、模型、会话、MCP 与桌面配对协议,把 Node/Harness/Shell/插件执行放到配对桌面或合规远端;分别完成 Apple/Google 签名和商店审核。
|
|
66
|
+
- MAS 使用独立 `electron.vite.mas.config.ts` 与 `electron-builder.mas.cjs` 构建最小客户端,应用包只含客户端入口、受限 preload、静态界面和版权材料;不能把父工程依赖、Harness、独立 Node 或站外更新器混入沙盒包。正式包使用 Mac App Distribution 与 Mac Installer Distribution;本机验证使用 Mac Development 和包含该设备的开发描述文件。签名钥匙串必须先用实际保存的密码完成锁定、解锁往返验证,再启动构建;记录密码不得被重复生成过程覆盖。签名包、本机运行、Apple 上传处理、提交审核和正式上架分别回读,不能以包已生成代替上架。商店截屏使用经过验证的真实客户端界面,按 Apple 接受的高清尺寸上传,保留原始高清 Logo。
|
|
67
|
+
- Windows Microsoft Store 使用分配给产品的 MSIX Identity/Publisher,上传包由商店签名。MSIX 运行时以 Electron 的 `process.windowsStore` 识别,禁止调用官网 EXE 更新、降级或安装入口;手动检查更新转到该产品的 Microsoft Store 页面,版本列表不请求 NSIS 归档。包内 PE/x64、Manifest/BlockMap 校验、Windows 原生运行、商店认证和正式可下载分别记录。官网 Windows/macOS 下载按钮旁可展示真实商店产品链接,但审核中必须明确标注,不能把未开放页面称为已上架。
|
|
68
|
+
- 闭源商业项目要求免费可信 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、离线与企业策略边界;不降低安全策略或虚构全部系统验收。自签名不能产生公众信任,免费开源签名服务不适用于私有商业源码。
|
|
69
|
+
- 复用已签名 MAS 应用制作开发测试包时,必须替换 `Contents/embedded.provisionprofile`,核对描述文件中的证书与开发签名及当前设备一致;`codesign --verify` 通过仍不能替代实际启动。资料目录中的描述文件保持私有权限,复制到安装包后设为普通用户可读,并检查整个有效载荷,避免 ITMS-90255。沙盒阻止调试监听时不得扩大正式包的网络监听权限;自动化测试入口只放入独立开发副本,正式入口、preload 与界面应核对同源,测试入口和配对口令不得进入正式安装包。安装包上传成功后仍要回读 Apple 处理状态、选择构建、上传高清素材并实际提交审核。
|
|
70
|
+
- 官方账号页和关于标签通过 `platform-current-user` 接口引擎读取当前 `sys_user.LicenseType`。桌面相关平台业务逻辑优先通过 `microi_itdos` 接口引擎实现;只有接口引擎缺少必需底层原子能力时才能改后端源码,并说明原因。
|
|
71
|
+
- 正式 Windows/macOS 安装包必须内置固定版本且经过 SHA-256 校验的 cloudflared,运行时优先使用安装包 `resources/bin`,避免首次联网临时下载。检查更新从 `https://api.microi.net/microi-code/updates/` 的匿名接口引擎读取 YAML/JSON,安装包二进制仍通过 HDFS 流式发布。
|
|
72
|
+
- Windows 安装验收必须包含旧卸载器损坏后的升级、同版本重装、超过 260 字符的路径以及全部文件 SHA-256 回读。安装器使用当次发布的兼容卸载器,并用固定哈希的 Unicode 7-Zip 直接解压到目标目录,禁止恢复临时目录解压后使用 NSIS `CopyFiles` 复制的流程;该流程会将路径或复制错误误报为“应用无法关闭”。进程检查仅匹配安装目录内的产品主程序及内置 Node,不能按整个目录匹配安装器或无关程序。
|
|
73
|
+
- 长路径验收必须先安装完整旧版本,再在同一目录覆盖升级及再次重装,不能只在空目录或仅含模拟卸载器的目录安装。卸载清理、旧文件备份迁移和失败回滚均须支持 Windows 扩展路径;通过真实 NSIS 与独占文件句柄验证长路径迁移和占用回滚,不能仅用 JS 文件操作或首次解压测试替代。
|
|
74
|
+
- 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,本机通过不代表客户机升级通过。
|
|
75
|
+
- Windows 1.2.8 起升级先在安装盘同级目录完整解压,再切换程序目录;旧文件仅同盘重命名,禁止回退到逐文件跨盘搬运。`build/microi-installer-transaction.nsh` 与相关 NSIS 补丁必须随上游同步永久保留。Win32=33 是文件区域锁错误,不能仅凭此指认某个安全软件;验收须在安装盘与 TEMP 不同的条件下持有真实字节锁,证明旧跨盘操作失败而新版安装成功,并验证持续占用、回滚与未知目标目录冲突。未恢复的同盘备份必须在安装退出后保留,不能存入会自动删除的临时目录;完整源文件哈希检查与客户设备验收分别记录。
|
|
76
|
+
- Windows 1.3.7 修复候选针对新版 stage 启用时 Win32=5 的单次失败:对 5/32/33 有限重试,再仅在成功新建的目标目录内做同盘文件重命名;以固定 UTF-16 日志记录迁移意图,部分失败逐项搬回,已有目标、未知文件与旧备份均不覆盖。回滚 EOF 和短记录必须停止,目录枚举句柄先关闭再删除空目录。真实 NSIS 回归覆盖短暂/持续错误 5、中途错误 5、文件冲突和未知目标;Wine 结果与 Windows 原生覆盖升级/全部文件哈希/最终程序启动分别报告。
|
|
77
|
+
- Windows 1.2.9 起本机启动探测必须使用覆盖 TCP 连接和响应头的硬超时;Harness 输出认证地址后,Node 请求失败可使用实际渲染页面的 Chromium 网络通道回退,严格限制为本次 `http://127.0.0.1:端口/`、不带凭据、不跟随重定向。记录两个通道的真实错误;只有响应正常且存在本次认证信息才可启动页面。恢复日志只能去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布必须运行 `scripts/verify-harness-startup.mjs`,使用发布包内 Node/Harness 验证普通与安全模式、注入 Node 超时后由真实 Chromium 渲染新会话控件,以及双通道真实不响应的有界失败;本机验证不能称为客户设备已通过。
|
|
78
|
+
- 桌面平台 Worker 必须在真实安装包内验证 IPC 与 Windows DPAPI。旧保险库只有成功解密且明文为零字节时才允许迁移为空文档;损坏或其他 Windows 用户的保险库保留原文件并返回具体错误。启动初始化拒绝不能让 Node 服务退出;单元测试、安装成功与真实桌面账号/AI 员工页面联调是三个独立验收层。
|
|
79
|
+
- Microi Agent 的生产桌面使用 DeepSeek 官方源码,升级唯一入口为 `Microi.Agent/同步DeepSeek官方上游.md`。锁定官方 commit 和归档哈希,重放独立 overlay、桥接、客户端插件及云应用契约;吾码源码保护区、VS Code/CLI/MCP 与商店通道不能被上游覆盖。历史 dsh 桌面快照只作旧发行追溯和保留业务模块的来源,不再作为生产同步入口。用户「关于」可以只展示 Microi Agent、版本、吾码官网和支持入口;第三方许可证与版权声明继续在安装包的 NOTICE/LICENSE 中保留,不能因简化关于弹窗而删除法律材料。停止或退出后的任务保留历史,当前 SDK 的跨进程历史仅供查看,需新建任务引用继续。
|
|
80
|
+
|
|
81
|
+
### 默认中文输出
|
|
82
|
+
|
|
83
|
+
- 面向用户的回答、计划、工具说明、错误解释和可见进度默认使用简体中文;代码、协议字段、命令、模型名称和路径保留原文。
|
|
84
|
+
- 这条规则通过 Microi Skills 同步到 Microi Agent、Codex、DeepSeek Harness、WorkBuddy、CodeBuddy 和 OpenCode 的工作区指令;宿主或模型支持自定义系统提示时,也应将同一条规则放在最高优先级的用户可见输出约束中。
|
|
85
|
+
- 中文规则只能约束可见回答、计划和工具摘要;模型服务内部隐藏思考的语言由模型决定,客户端不能保证每一个内部 token 都是中文,也不应把内部思考当成可导出内容。
|
|
86
|
+
|
|
87
|
+
## 非阻塞自动更新(强制)
|
|
88
|
+
|
|
89
|
+
每次新建或接续吾码任务必须执行 `workspace-conventions` 的版本检查、首次“Microi吾码开发工具版本”播报与后台自动升级,不限模型。先调用 `microi_codex action="profiles"` 读取 `toolchain` 中的当前已加载版本、工作区 Skills 版本和自动更新状态;未知项准确标记,不能把当前进程版本当成全局 CLI 或 npm 最新版。完整强制规范只维护在基础入口。
|
|
90
|
+
|
|
91
|
+
Codex Router 启动后会异步调用 bundled CLI 的 `microi update --background`。需要了解完整安装/诊断机制时读取同级 `microi-codex-installer/SKILL.md`;更新检查不得发生在用户工作之前,也不得让任务等待。
|
|
92
|
+
|
|
93
|
+
自动更新会从 npm 官方 registry 升级 CLI,更新 Codex/DeepSeek Harness 插件并重新初始化工作区 AI/MCP。当前 Router、DSH 会话和已经启动的 MCP 继续使用旧版本,不被杀死或强制重载;新版供后续新进程使用。自动更新失败、被占用或用户暂不重载时,只记录/提示并继续当前、正在进行和新建任务;不得要求升级授权,也不得把版本状态当作业务门禁。
|
|
94
|
+
|
|
95
|
+
## 先确认工作区连接
|
|
96
|
+
|
|
97
|
+
1. 调用 `microi_codex`,传 `{ "action": "profiles" }`。
|
|
98
|
+
2. 只有一个已登录连接时,后续可以省略 `profile`;存在多个连接时,始终传 `profiles` 返回的稳定 `name`。
|
|
99
|
+
3. 尚未初始化时,插件根目录是本文件向上两级;使用其中的 `scripts/microi-cli.js`:
|
|
100
|
+
- `node <plugin-root>/scripts/microi-cli.js init --workspace <workspace>`
|
|
101
|
+
- 多连接:`profile list|add|remove`
|
|
102
|
+
- 登录:`auth login|status|logout --profile <name>`
|
|
103
|
+
- 诊断:`doctor --json`
|
|
104
|
+
4. 登录会在真实终端中隐式输入密码;不要把密码写入命令、日志、Skill、MCP 参数或工作区文件。Token 继续写入 `Microi-V8-Engine/.microi-mcp-tokens.json`,并按 API、OsClient、Type、Network 四段身份隔离。
|
|
105
|
+
|
|
106
|
+
## 功能路由
|
|
107
|
+
|
|
108
|
+
- 质量优先的上下文策略读取 `microi-system-delivery/references/context-quality.md`。完整系统读全原八项及增补;局部修改读取目标与依赖,歧义扩大。`microi_get_db_schema` 默认目录摘要,字段写入前使用 `detail:"fields"` 并遍历 `Paging.nextCursor`;应用清单和文件片段同样检查完整性,不能把摘要作为覆盖正文。
|
|
109
|
+
- 较大 Manifest 在 `microi_plan_system` 首次提交正文并传 `detail:"summary"` 获取 `manifestRef/manifestHash` 复用,执行与验收仍校验当前身份;引用过期、重启或凭据变化时重新提交正文,写入未知先回读。`microi_get_context_metrics` 只报告当前 MCP 工具载荷字节、调用和错误,不能冒充供应商 token/费用。外部宿主的历史摘要和缓存由宿主管理。
|
|
110
|
+
|
|
111
|
+
- 连接、登录、拉取、推送、差异和 AI 初始化:使用 bundled CLI 的 `profile`、`auth`、`pull`、`push`、`sync status`、`ai init`、`mcp init`、`doctor`。
|
|
112
|
+
- 接口引擎、表单事件、模块、字段、工作流和数据库结构:先用 `action="list_tools"` / `describe_tool`,再调用对应原始 `microi_*` 工具。写工具必须保留确认口令、审计与回读。
|
|
113
|
+
- 远程执行与调试:读取 `v8-debugging/SKILL.md`。Codex 用“获取源码 → 远程执行 → 定位堆栈/日志 → 最小补丁 → 再执行”的结构化循环代替 VS Code DAP 的可视化逐行面板;不得把未执行的源码检查称为真机调试成功。
|
|
114
|
+
- 性能测试:读取 `performance-testing/SKILL.md`,限制并发并输出样本、P95/P99、错误率和停止条件。
|
|
115
|
+
- 系统日志、内存吃满、OOM 与接口/V8 异常分配:读取 `system-observability/SKILL.md` 及其内存事故手册,使用专用 MCP 的 `Capabilities` → `Memory` → 事故历史/详情 → `Trace`,先查采集质量再归因。
|
|
116
|
+
- 微应用:读取 `microi-microservice/SKILL.md`,使用 scaffold、source sync、stream publish 和发布回读原工具;本地构建前遵守内存保护。1.4.2 起,仅在确认 Vite 且缺少 `dev` 时补默认开发命令,保留已有命令;Windows 替换仅对 EPERM / EACCES / EBUSY 最多 4 次、20 / 40 / 80 毫秒有限退避,每次核对原完整字节与文件身份。发现可观察的并发编辑、替换或删除立即停止并保留用户内容,不删目标或强制覆盖,不把核对到替换的窄窗口宣称为跨进程原子 CAS。
|
|
117
|
+
- Playwright:读取 `playwright-e2e/SKILL.md`,使用当前已登录浏览器或受控 Playwright;报告必须来自实际页面执行。
|
|
118
|
+
- 其他领域:从本插件同级 Skills 里选择最小相关 Skill,并完整读取后执行。
|
|
119
|
+
|
|
120
|
+
## 同步与安全边界
|
|
121
|
+
|
|
122
|
+
- 发布扩展与 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。不输出凭据,不因继承错误重复要求登录;已发布正确制品保留,发行内容变化使用新不可变版本。npm、Visual Studio Marketplace、Open VSX 的发布命令明确提示成功即可报告对应渠道发布成功;默认不追加 `--verify-all` / `--verify-only`、版本轮询或下载回读,不因传播延迟重复发布。只有命令报错、结果未知或用户明确要求核验时才查询渠道状态。
|
|
123
|
+
|
|
124
|
+
- `Microi-V8-Engine/.microi-config.json` 是三端连接配置事实源;未知字段必须保留。
|
|
125
|
+
- CLI、VS Code、Codex 与 DeepSeek Harness 插件可以在同一工作区并存;各端必须复用同一配置/Token/MCP 协议,带版本写入实行较新 provider 优先,禁止旧入口回写降级。`doctor.coexistence` 未通过时准确报告兼容风险并后台修复,但不得因此停止无关工作。
|
|
126
|
+
- 推送前先做远端差异检查。写请求超时只表示结果不确定,使用对应 get 工具短超时回读,禁止盲目重复创建或覆盖。
|
|
127
|
+
- 配置和 Token 文件使用现有原子写与锁协议;不要手工拼接或清空用户已有 MCP 配置。
|
|
128
|
+
- Codex Plugin 路由器只选择连接,业务行为必须继续走原 MCP bundle。
|
|
129
|
+
- SaaS MinIO 的部署凭据使用 `microi_manage_saas_minio`;先 Inspect 取得 Revision,
|
|
130
|
+
Save 以 `SAVE_MINIO:<tenant>:<revision>` 确认,Probe 验证已保存绑定。通用表密钥禁写
|
|
131
|
+
继续保留;不会修改 HDFS/OSS,不通过普通第三方 Secret 工具错存,不用临时 V8 绕过。
|
|
132
|
+
|
|
133
|
+
完整 VS Code 命令覆盖关系见插件根目录 `assets/feature-matrix.json`。
|