@microi.net/cli 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/assets/build-meta.json +3 -3
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/microi-skills.meta.json +215 -212
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +35 -35
- package/skills/microi-client-frontend/SKILL.md +3 -3
- package/skills/microi-codex/SKILL.md +116 -116
- package/skills/microi-microservice/SKILL.md +7 -0
- package/skills/microi-system-delivery/SKILL.md +7 -1
- package/skills/playwright-e2e/SKILL.md +180 -178
- package/skills/scripts/validate-progressive-disclosure.mjs +15 -4
- package/skills/scripts/validate-progressive-disclosure.test.mjs +108 -0
- package/skills/workspace-conventions/SKILL.md +101 -87
- 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 +6 -3
- package/skills/workspace-conventions/references/progressive-04-/345/267/245/344/275/234/345/214/272/344/270/216/345/271/263/345/217/260/344/270/223/351/241/271/344/277/235/351/232/234.md +5 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"generatedAt": "2026-10-18T07:20:28.523Z",
|
|
4
4
|
"policy": {
|
|
5
5
|
"maxEntryLines": 285,
|
|
6
6
|
"referenceBudgetLines": 245,
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
]
|
|
170
170
|
},
|
|
171
171
|
"microi-client-frontend": {
|
|
172
|
-
"originalSha256": "
|
|
172
|
+
"originalSha256": "000b122c661f7529a1c94a93c5d0f84da02752e0e7fe7e05553f984816a1b573",
|
|
173
173
|
"originalLines": 717,
|
|
174
174
|
"prefixSha256": "19308dd1a04397f764cc5ab4fefe76093704564592396ce00482d28e952537b7",
|
|
175
175
|
"prefixBytes": 1400,
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
"id": "microi-client-frontend-002",
|
|
196
196
|
"ordinal": 2,
|
|
197
197
|
"destination": "microi-client-frontend/SKILL.md",
|
|
198
|
-
"sha256": "
|
|
198
|
+
"sha256": "8f995c626f56fe8fe7e969b4d33bc073f1422a7f59eb4a44f27a99995fa7e92a",
|
|
199
199
|
"lines": 121,
|
|
200
200
|
"heading": "2. 表单引擎三层结构"
|
|
201
201
|
},
|
|
@@ -763,11 +763,11 @@
|
|
|
763
763
|
]
|
|
764
764
|
},
|
|
765
765
|
"microi-system-delivery": {
|
|
766
|
-
"originalSha256": "
|
|
767
|
-
"originalLines":
|
|
768
|
-
"prefixSha256": "
|
|
769
|
-
"prefixBytes":
|
|
770
|
-
"entryLines":
|
|
766
|
+
"originalSha256": "13f660057af8de87499d18a005b0c1922083d879b3f800c95ef1e185b5e88af0",
|
|
767
|
+
"originalLines": 707,
|
|
768
|
+
"prefixSha256": "8ced78f7933b3083a7804f63600c50b5ac67b52512dda64426c0e0707e887b9d",
|
|
769
|
+
"prefixBytes": 5298,
|
|
770
|
+
"entryLines": 112,
|
|
771
771
|
"chunks": [
|
|
772
772
|
{
|
|
773
773
|
"id": "microi-system-delivery-000",
|
|
@@ -781,8 +781,8 @@
|
|
|
781
781
|
"id": "microi-system-delivery-001",
|
|
782
782
|
"ordinal": 1,
|
|
783
783
|
"destination": "microi-system-delivery/SKILL.md",
|
|
784
|
-
"sha256": "
|
|
785
|
-
"lines":
|
|
784
|
+
"sha256": "167c117fc2a52cea49cd1bf2128b450fb3c8af07e8af1e955d1482a454d472ef",
|
|
785
|
+
"lines": 19,
|
|
786
786
|
"heading": "用户问题编号跟踪(强制)"
|
|
787
787
|
},
|
|
788
788
|
{
|
|
@@ -1382,17 +1382,17 @@
|
|
|
1382
1382
|
]
|
|
1383
1383
|
},
|
|
1384
1384
|
"playwright-e2e": {
|
|
1385
|
-
"originalSha256": "
|
|
1386
|
-
"originalLines":
|
|
1387
|
-
"prefixSha256": "
|
|
1388
|
-
"prefixBytes":
|
|
1389
|
-
"entryLines":
|
|
1385
|
+
"originalSha256": "002f2c3fe59ba4baaf346bd465becd833e8a9bf0c7a44e96a9e1f8eedc514703",
|
|
1386
|
+
"originalLines": 811,
|
|
1387
|
+
"prefixSha256": "40bc53bc27a17c18353ddc22aa123220c53fab7b4f6632924ded2b4239b6f414",
|
|
1388
|
+
"prefixBytes": 3110,
|
|
1389
|
+
"entryLines": 203,
|
|
1390
1390
|
"chunks": [
|
|
1391
1391
|
{
|
|
1392
1392
|
"id": "playwright-e2e-000",
|
|
1393
1393
|
"ordinal": 0,
|
|
1394
1394
|
"destination": "playwright-e2e/SKILL.md",
|
|
1395
|
-
"sha256": "
|
|
1395
|
+
"sha256": "f04614f276c139cfa50b9e46e89857675c6dc5e7cf0cfbfde76d6e6dbe9746c9",
|
|
1396
1396
|
"lines": 9,
|
|
1397
1397
|
"heading": "是否需要 `-e2e` 后缀"
|
|
1398
1398
|
},
|
|
@@ -1400,7 +1400,7 @@
|
|
|
1400
1400
|
"id": "playwright-e2e-001",
|
|
1401
1401
|
"ordinal": 1,
|
|
1402
1402
|
"destination": "playwright-e2e/SKILL.md",
|
|
1403
|
-
"sha256": "
|
|
1403
|
+
"sha256": "703786ae7a5a52cb39664f1c82de7fb7aa7dfece511046d3757da64918c23063",
|
|
1404
1404
|
"lines": 11,
|
|
1405
1405
|
"heading": "适用范围"
|
|
1406
1406
|
},
|
|
@@ -1408,7 +1408,7 @@
|
|
|
1408
1408
|
"id": "playwright-e2e-002",
|
|
1409
1409
|
"ordinal": 2,
|
|
1410
1410
|
"destination": "playwright-e2e/SKILL.md",
|
|
1411
|
-
"sha256": "
|
|
1411
|
+
"sha256": "acef3e589cf11f3c197ee0b0ccf56d96b3f286263d54161b3c260e07c2090ed0",
|
|
1412
1412
|
"lines": 20,
|
|
1413
1413
|
"heading": "临时文件与产物放置规则(必须遵守)"
|
|
1414
1414
|
},
|
|
@@ -1416,7 +1416,7 @@
|
|
|
1416
1416
|
"id": "playwright-e2e-003",
|
|
1417
1417
|
"ordinal": 3,
|
|
1418
1418
|
"destination": "playwright-e2e/SKILL.md",
|
|
1419
|
-
"sha256": "
|
|
1419
|
+
"sha256": "69b8842a221a0de60f8605c5059deee391be0f16f0b6cbc5ddfb3cfd210268db",
|
|
1420
1420
|
"lines": 20,
|
|
1421
1421
|
"heading": "标准目录"
|
|
1422
1422
|
},
|
|
@@ -1424,7 +1424,7 @@
|
|
|
1424
1424
|
"id": "playwright-e2e-004",
|
|
1425
1425
|
"ordinal": 4,
|
|
1426
1426
|
"destination": "playwright-e2e/SKILL.md",
|
|
1427
|
-
"sha256": "
|
|
1427
|
+
"sha256": "4f5e11baf4651c11b5f9819a0b4f33ce2590db1733d4db72814bd1a25daf56ff",
|
|
1428
1428
|
"lines": 21,
|
|
1429
1429
|
"heading": "必备环境变量"
|
|
1430
1430
|
},
|
|
@@ -1432,7 +1432,7 @@
|
|
|
1432
1432
|
"id": "playwright-e2e-005",
|
|
1433
1433
|
"ordinal": 5,
|
|
1434
1434
|
"destination": "playwright-e2e/SKILL.md",
|
|
1435
|
-
"sha256": "
|
|
1435
|
+
"sha256": "51567cea5fca434f9b031fef0871454100cf4715dfb65695dc1722bd275399be",
|
|
1436
1436
|
"lines": 24,
|
|
1437
1437
|
"heading": "本地测试账号自动发现"
|
|
1438
1438
|
},
|
|
@@ -1440,7 +1440,7 @@
|
|
|
1440
1440
|
"id": "playwright-e2e-006",
|
|
1441
1441
|
"ordinal": 6,
|
|
1442
1442
|
"destination": "playwright-e2e/SKILL.md",
|
|
1443
|
-
"sha256": "
|
|
1443
|
+
"sha256": "88e1002cae934acd2de5af2f77f371a9ea152a525eecf11b49fe182b16a56044",
|
|
1444
1444
|
"lines": 12,
|
|
1445
1445
|
"heading": "后端改动后的 E2E 前置动作"
|
|
1446
1446
|
},
|
|
@@ -1448,7 +1448,7 @@
|
|
|
1448
1448
|
"id": "playwright-e2e-007",
|
|
1449
1449
|
"ordinal": 8,
|
|
1450
1450
|
"destination": "playwright-e2e/SKILL.md",
|
|
1451
|
-
"sha256": "
|
|
1451
|
+
"sha256": "5efaf4a0ce03afc3cfc7863e0b7adadbcfcbb031bc64a1c543d611b9a489bccf",
|
|
1452
1452
|
"lines": 42,
|
|
1453
1453
|
"heading": "服务自启动纪律(必做)"
|
|
1454
1454
|
},
|
|
@@ -3241,17 +3241,17 @@
|
|
|
3241
3241
|
]
|
|
3242
3242
|
},
|
|
3243
3243
|
"workspace-conventions": {
|
|
3244
|
-
"originalSha256": "
|
|
3245
|
-
"originalLines":
|
|
3246
|
-
"prefixSha256": "
|
|
3247
|
-
"prefixBytes":
|
|
3248
|
-
"entryLines":
|
|
3244
|
+
"originalSha256": "52588fe43201af9b96aa96fc24962484837b21d6a4eb468427b98fa16383e5fa",
|
|
3245
|
+
"originalLines": 665,
|
|
3246
|
+
"prefixSha256": "30214af590c360ad34eb296a03ef6b5f4a047c9f5b08b6e0a2a1b72d993be67b",
|
|
3247
|
+
"prefixBytes": 5800,
|
|
3248
|
+
"entryLines": 134,
|
|
3249
3249
|
"chunks": [
|
|
3250
3250
|
{
|
|
3251
3251
|
"id": "workspace-conventions-000",
|
|
3252
3252
|
"ordinal": 0,
|
|
3253
3253
|
"destination": "workspace-conventions/SKILL.md",
|
|
3254
|
-
"sha256": "
|
|
3254
|
+
"sha256": "9e8585f04ec448154431f3f0c441697b57f16db77cee365788feb8e4bbf62e62",
|
|
3255
3255
|
"lines": 60,
|
|
3256
3256
|
"heading": "任务启动前 Skill 读取规则(强制)"
|
|
3257
3257
|
},
|
|
@@ -3259,7 +3259,7 @@
|
|
|
3259
3259
|
"id": "workspace-conventions-001",
|
|
3260
3260
|
"ordinal": 1,
|
|
3261
3261
|
"destination": "workspace-conventions/SKILL.md",
|
|
3262
|
-
"sha256": "
|
|
3262
|
+
"sha256": "8d8dfff420c0cc768bbeb13d94e9f77f52d5002fc61d93dc82d71b3a17f2eaa0",
|
|
3263
3263
|
"lines": 12,
|
|
3264
3264
|
"heading": "Microi吾码工作进度播报规范(强制)"
|
|
3265
3265
|
},
|
|
@@ -3283,7 +3283,7 @@
|
|
|
3283
3283
|
"id": "workspace-conventions-004",
|
|
3284
3284
|
"ordinal": 4,
|
|
3285
3285
|
"destination": "workspace-conventions/references/progressive-04-工作区与平台专项保障.md",
|
|
3286
|
-
"sha256": "
|
|
3286
|
+
"sha256": "443f093b8ae93e4f62df416006bc34969a6d8cde4741745acc5fdec829d957da",
|
|
3287
3287
|
"lines": 29,
|
|
3288
3288
|
"heading": "临时文件与 AI 产物放置规则(强制)"
|
|
3289
3289
|
},
|
|
@@ -3323,7 +3323,7 @@
|
|
|
3323
3323
|
"id": "workspace-conventions-009",
|
|
3324
3324
|
"ordinal": 9,
|
|
3325
3325
|
"destination": "workspace-conventions/references/progressive-04-工作区与平台专项保障.md",
|
|
3326
|
-
"sha256": "
|
|
3326
|
+
"sha256": "9ef3509bf1efdf2b04cce46f8f517ad5779de428d007cee08ce6fe41f1f9daa9",
|
|
3327
3327
|
"lines": 38,
|
|
3328
3328
|
"heading": "多对话共享工作区变更归属保护(强制)"
|
|
3329
3329
|
},
|
|
@@ -3331,8 +3331,8 @@
|
|
|
3331
3331
|
"id": "workspace-conventions-010",
|
|
3332
3332
|
"ordinal": 10,
|
|
3333
3333
|
"destination": "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md",
|
|
3334
|
-
"sha256": "
|
|
3335
|
-
"lines":
|
|
3334
|
+
"sha256": "f123b0b70030df276188dbb77617c41f74767ab27ea38d5472634cc3b6beca8b",
|
|
3335
|
+
"lines": 10,
|
|
3336
3336
|
"heading": "版本更新日志保护规则(强制)"
|
|
3337
3337
|
},
|
|
3338
3338
|
{
|
|
@@ -3435,7 +3435,7 @@
|
|
|
3435
3435
|
"id": "workspace-conventions-023",
|
|
3436
3436
|
"ordinal": 23,
|
|
3437
3437
|
"destination": "workspace-conventions/references/progressive-01-版本更新日志保护规则-强制.md",
|
|
3438
|
-
"sha256": "
|
|
3438
|
+
"sha256": "44d2ca45e8fb85bb86f2f84f3fad09abc0687fb89f9e0e4f624917d258d485c3",
|
|
3439
3439
|
"lines": 20,
|
|
3440
3440
|
"heading": "根目录保留文件说明"
|
|
3441
3441
|
},
|
|
@@ -60,7 +60,7 @@ description: Microi.Client 源码架构指南。用于修改 Microi.Client Vue
|
|
|
60
60
|
---
|
|
61
61
|
|
|
62
62
|
<!-- /microi-progressive:chunk -->
|
|
63
|
-
<!-- microi-progressive:chunk id=microi-client-frontend-002 sha256=
|
|
63
|
+
<!-- microi-progressive:chunk id=microi-client-frontend-002 sha256=8f995c626f56fe8fe7e969b4d33bc073f1422a7f59eb4a44f27a99995fa7e92a -->
|
|
64
64
|
## 2. 表单引擎三层结构
|
|
65
65
|
|
|
66
66
|
### 模块级跨端视图
|
|
@@ -150,8 +150,8 @@ description: Microi.Client 源码架构指南。用于修改 Microi.Client Vue
|
|
|
150
150
|
|
|
151
151
|
### 框架来源标识与水印(强制)
|
|
152
152
|
|
|
153
|
-
- 微服务和定制组件的来源标识必须由 Microi.Client
|
|
154
|
-
- `V8.OpenAppDialog` / Drawer
|
|
153
|
+
- 微服务和定制组件的来源标识必须由 Microi.Client 宿主统一渲染,子应用不得各自实现。微服务来源入口只向当前登录用户 `Level >= 9999` 展示,普通用户、未知或非法等级、受限访问密钥会话不显示标签、关闭按钮及源码详情;不从账号名称、`_IsAdmin` 或子应用元数据推断权限。定制组件的原有来源展示保持兼容,不新增 `RenderSourceBadgeMode`、自动收起或全局关闭配置。
|
|
154
|
+
- `V8.OpenAppDialog` / Drawer 等标准弹层的来源标识放在标题文字之后,不提供关闭按钮;菜单/整页微服务由 `micro-app/host.vue` 在内容区右上角直接渲染,管理员可手动关闭当前页面实例的标识,切换实例或账号后恢复。当前用户等级降低后立即隐藏入口并关闭已展开详情;这只控制来源辅助工具,不能改变业务菜单、关闭 Tab、弹层或后端源码/MCP 鉴权。不得依赖外围路由组件猜测菜单微服务。修改时运行 `tests/microservice-source-badge-permission.spec.mjs` 与既有来源及宿主契约回归。
|
|
155
155
|
- 来源标识必须使用可点击的 `button` 语义与 `cursor:pointer`。点击后用可拖动、居中、亮/暗色适配的大圆角 Element Plus 弹层展示 AppKey、PageKey、应用内/框架路由、版本、源码定位、运行入口、发布/挂载状态和租户坐标,并生成可复制的 MCP 修改指令;公开详情不得包含 DiyToken、访问密钥、私有配置或用户敏感字段。
|
|
156
156
|
- 框架水印覆盖 `100vw × 100vh` 且固定 `pointer-events:none`。开启后内容空值默认 `$SysTitle$ - $UserName$`(用户名为空回退账号)、方向默认 `DiagonalUp`、密度默认 `Comfortable`、字号空值/0 默认 14,透明度空值/0 默认 30;亮色、深色、弹层、键盘和减少动态效果模式都要验收。
|
|
157
157
|
|
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: microi-codex
|
|
3
|
-
description: 在 Microi Agent、Codex 或 DeepSeek Harness 中完成 Microi吾码 VS Code 扩展的等价工作流,包括连接与登录、AI/MCP 初始化、V8/表单/模块/工作流同步、远程执行与诊断、性能测试、微应用、Playwright 和发布回读。用户提到吾码、Microi、V8引擎、Microi-V8-Engine 或要求使用吾码 AI 插件时使用。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Microi吾码 Codex / DeepSeek Harness Plugin
|
|
7
|
-
|
|
8
|
-
本插件与 `Microi.Agent`、`@microi.net/cli` 共用配置、Token、MCP Server 和 Microi Skills。不要另写原生 HTTP、SQL 或第二套认证实现。
|
|
9
|
-
|
|
10
|
-
本地 HTTPS 连接同样必须验证证书。MCP 不因 `localhost/127.0.0.1` 自动设置
|
|
11
|
-
`NODE_TLS_REJECT_UNAUTHORIZED=0`,也不能覆盖调用方的严格策略。开发节点使用受信
|
|
12
|
-
证书;必要时在启动 MCP 前通过 `NODE_EXTRA_CA_CERTS` 指定已核验的公开 CA PEM。
|
|
13
|
-
分别验证正确 CA 可连接、陌生 CA/无信任证书被拒绝;配置了 CA 不等于实际启用了
|
|
14
|
-
证书验证,须核对最终进程与真实握手结果。证书私钥和会话 Token 不进入日志。
|
|
15
|
-
|
|
16
|
-
平台 Api/Web 版本入口可生成独立开发工具连接。收到连接 JSON 时,用 `microi auth import --session-stdin` 从标准输入导入,再运行 `microi ai init` 和 `microi doctor`;禁止将 Token 放入命令行、源码或日志,不再索取账号密码。开发 Token 使用现有终端有效期,可独立撤销;它只授权该业务租户,不能替代 Microi Agent 的官方 AI 计费账号登录。访问密钥的最小业务 scope 不能替代完整 MCP 管理身份。第三方 App Secret 默认进入系统设置“安全与服务接入”,优先使用 `microi_manage_server_private_secret`。
|
|
17
|
-
|
|
18
|
-
每次 Microi 对话先完整读取工作区 `microi.skills/workspace-conventions/SKILL.md`;工作区尚未初始化时读取本插件同级 `../workspace-conventions/SKILL.md`。按其中首部完成创始人身份识别及平台功能四项同步检查,再进入专项流程;完整规则只维护该基础入口,不复制到本路由。
|
|
19
|
-
|
|
20
|
-
在已初始化吾码工作区中,用户仅描述业务需求也自动读取 `microi-system-delivery/SKILL.md`
|
|
21
|
-
及相关专项 Skills,无需用户指定 Skill 名称。具体读取顺序与完整开发、局部修改、只读分析
|
|
22
|
-
的执行范围以基础规范的“吾码 AI 开发默认路由”为唯一事实源。
|
|
23
|
-
|
|
24
|
-
## Microi Agent 桌面宿主
|
|
25
|
-
|
|
26
|
-
- 完整版在所有平台用物理 `node_modules/node/bin/node[.exe]` 启动 Harness、Worker 和插件命令,不能换成 Electron Helper/utilityProcess;后者会在特定 Electron 指纹下被原生加载器拒绝。每次发布最终安装包先运行 `test:packaged-desktop`,设置真实产物与独立证据目录,验收生产 main 两次正常启动、Worker IPC、员工引导及 Harness 重启,并核对日志 `electron=none`。直接启动 Harness、签名公证成功或跳过完整应用用例均不足以证明用户能正常启动;不同系统和架构覆盖分别记录。同步上游必须保留该选择器、门禁脚本与回归用例。
|
|
27
|
-
- 桌面包内置技能目录;干净工作区输入 `/microi` 可发现吾码入口,再读取基础规范与专项技能。查不到时先核对当前桌面版本及内置技能资源,不要求用户复制开发机目录,也不要把 MCP 工具名当成斜杠技能名。
|
|
28
|
-
- 对话输入框上下键回填成功提交的提示词,向下可恢复未发送草稿。菜单、输入法候选、选区和多行正常光标移动优先;不要在用户编辑文本时强行覆盖草稿。
|
|
29
|
-
- 消息编辑/撤回通过真实会话分叉到该消息之前的已完成轮次;原会话和已经执行的文件修改保留。撤回将消息恢复为草稿,编辑则重新发送;这不是撤销文件系统。图片随草稿恢复,无法安全恢复的文件附件明确拒绝,不能静默删除附件或只改屏幕文字而保留旧模型上下文。
|
|
30
|
-
- AI 员工按项目群协作,十个岗位加技术总监共十一个岗位,可分别选择桌面已配置模型;原任务、成果审阅、目标和预算仍从「任务与验收」进入。群与任务共用用户明确选择并已登录的吾码 MCP,不能默认切到官方账号或首个客户。数据、运行与验收记录归所选租户;未安装员工中心或权限不足必须明确提示,不能擅自向所有客户安装。Harness 的会话/技能/定时能力不能证明完整 OpenClaw 已内置。相关执行边界读取 `ai-engine/references/ai-employees.md`。
|
|
31
|
-
- 员工群消息先持久提交 SQL 消息、运行与 outbox,再返回短确认;后台用稳定 Mongo `_id` 同步并按授权游标分页读取,失败明确显示 SQL 兜底,不能把未确认发送或模型排队当完成。旧历史只在当前群管理者显式操作后分批迁移。SignalR 使用通用 `/api-engine-realtime` 和群授权,只传版本提示;断线重连后重新授权并按游标回读,不将推送当持久记录。Token 留在桌面 Worker,切换 MCP/用户/群时清理旧订阅及迟到响应。最终安装包须实测详情、模型选择保存、短确认、Mongo 回读及断线恢复。
|
|
32
|
-
- Mongo 附件投影保存规范四字段数组的 JSON 字符串,读回仍核对完整消息摘要,不能只比较顶层 ContentHash。冲突先用同源、当前群管理权限限定的只读审计;旧嵌套字段已丢失时不可猜测解码或跳过摘要。派生投影修复仅限 SQL 正文摘要与 outbox 一致、原 outbox 独占租约仍有效、Mongo 同 Message/Group/Owner、时间/序号及其余非附件字段匹配、已知缺陷形态明确的记录;只更新派生附件字段并完整回读核对,不把固定 Id 更新宣称为 Mongo 原子 CAS。未知冲突保留 SQL 兜底,不改业务消息或模型运行、不扫描所有租户。
|
|
33
|
-
- 同一桌面实例的多个 Worker 必须共享本机模型容量预准入,在领取云端任务前取得名额;RPC 超时不等于模型终态,结果未知时停止自动重放并保留核对入口。
|
|
34
|
-
- 员工模型以 16,384 Token 为本功能默认且最高请求预算,不代表厂商输出能力;通过官方 prepareCall 同时冻结路由、能力和派发,按配置中的显式请求上限及剩余上下文收紧,保留用户 thinking/reasoning 控件。max-tokens 表示输出截断,必须记录 Uncertain 并等待核对,不能当完整成果或自动重试;预算不足应在派发前明确拒绝。
|
|
35
|
-
- 员工新运行只允许从用户所选且有效的 MCP 完整身份与当前显式项目群领取;未选群不自动领取其它群,切换连接或群后停止旧范围的新领取。已开始运行按原范围安全收尾,已保存的加密成果重报保留;不能因离群丢弃结果或重放结果未知的模型调用。
|
|
36
|
-
|
|
37
|
-
- 桌面与手机配对的本机 HTTP 监听必须避开 Fetch 标准禁止端口。系统自动分配的端口也可能不可浏览器访问;只有浏览器允许的真实监听端口才能进入配对 URL。自动命中禁止端口时关闭监听再有界重选,显式配置禁止端口须报错;权限和占用错误仍保留原错误,不改变系统动态端口范围、不绕过浏览器安全策略。同步上游时保护共同端口选择器、配对监听与对应回归。
|
|
38
|
-
|
|
39
|
-
- 1.3.8 起生产宿主为 DeepSeek 官方桌面。同步前读取内部源码根目录 `同步DeepSeek官方上游.md`、`apps/official-desktop/upstream.lock.json` 与维护交接记录;核对官方提交、归档 SHA、版本与完整锁。保留原始快照、自有层和精确接缝,干净安装、回归及真实包验收后才能推进基线。旧 `同步dsh-desktop上游.md` 已删除;历史派生模块只按发行快照追溯,不得恢复退役宿主或 PPT 模式。
|
|
40
|
-
- Microi Agent 是内部仓库中的独立桌面发行物,基于 DeepSeek Harness 官方桌面源码及独立吾码差异层,内置固定 Harness、Node.js、MCP / CLI / Skills;不是需要额外 Agent Token 的 CLI 别名。历史 DataElement 派生模块及许可证仍保留。
|
|
41
|
-
- 官方 AI 登录只走吾码桌面账号窗口,在受支持的 `https://api.microi.net` / `https://api.itdos.com`、`OsClient=iTdos` 使用本人的中转 Key 和额度;它是员工业务 MCP 之外的可选计费来源。不要把密码或 AI Key 写入对话、命令行、MCP 参数或模型配置。
|
|
42
|
-
- 业务连接在「服务器连接(MCP)」中单独添加、登录;官方 AI 账号不授予业务租户权限。项目初始化和资源同步优先使用桌面「项目资源」;其余业务继续调用同源 MCP 的原工具。
|
|
43
|
-
- macOS 登录凭据通过桌面 Keychain/受限 IPC 管理;不要在 macOS 改跑当前只支持 Windows 凭据恢复的 `microi auth login`。不要手改 Token 文件。
|
|
44
|
-
- 桌面安装包中的 Harness、Node 和同源资产随桌面版本升级;不运行 npm 自更新去改写正在使用或已签名的安装目录。外部 Codex / WorkBuddy / CLI 的后台更新规则保持不变。
|
|
45
|
-
- 桌面 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 技能、用户文件与历史不删除。
|
|
46
|
-
-
|
|
47
|
-
- 桌面安装包版本从 `1.0.0` 开始,使用吾码三段十进制进位规则。正式新版本先在发布源码中执行 `version:bump`,核对并提交三个版本文件;Mac 拉取后使用 `bash ./一键打包Mac.sh` 在临时 Git 工作树中打包当前已提交版本,默认不再升版,失败也不能把生成文件留在原检出目录。`--current` 仅作旧命令兼容;同版本本地重打包不得覆盖已公开的不可变产物。测试、类型检查和普通 Web 构建不升版。
|
|
48
|
-
- Windows 安装包的构建成功、Authenticode 签名、SmartScreen/商店信任、HDFS 上传与 CDN 回读是不同证据;双击 `一键打包Windows.cmd` 时自动探测 Microsoft Artifact Signing 或本机可信证书,没有凭据则继续生成明确标记的未签名包,显式 `-Signing Signed` 才失败关闭。签名必须先覆盖安装器及独立执行文件,再计算发布 SHA256。macOS 默认 `bash ./一键打包Mac.sh` 同样自动探测并在无凭据时生成未签名包;`--signed` 是正式门禁,必须在缺少证书或公证钥匙串时失败,并通过 `codesign`、`spctl`、`stapler validate` 后才标记已签名公证。
|
|
49
|
-
- 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 真机、安装升级、客户设备验收分别记录。
|
|
50
|
-
- Windows 的 IPv4/IPv6 TCP 都连接失败时,允许回退到本次启动创建的私有命名管道。必须先从管道取得真实 HTTP 响应,再沿用 Harness 原有 Host、Origin、启动 Token 和签名 Cookie 验证;不得跳过鉴权或开放公网。HTTP 请求与 `/api/remote.mux` 会话流都要验收,IPC 仅限当前主窗口顶层页面和固定端点,不暴露凭据、管道路径或任意代理能力。`scripts/verify-harness-pipe.mjs` 的 macOS Unix socket 验证不等于 Windows 命名管道或客户设备已通过。
|
|
51
|
-
- 当前 Electron 桌面运行时不能直接打包 iOS/Android,也不能把现有 DMG 原样提交 Mac App Store。移动端和 MAS 版应作为受限客户端,复用账号、模型、会话、MCP 与桌面配对协议,把 Node/Harness/Shell/插件执行放到配对桌面或合规远端;分别完成 Apple/Google 签名和商店审核。
|
|
52
|
-
- MAS 使用独立 `electron.vite.mas.config.ts` 与 `electron-builder.mas.cjs` 构建最小客户端,应用包只含客户端入口、受限 preload、静态界面和版权材料;不能把父工程依赖、Harness、独立 Node 或站外更新器混入沙盒包。正式包使用 Mac App Distribution 与 Mac Installer Distribution;本机验证使用 Mac Development 和包含该设备的开发描述文件。签名钥匙串必须先用实际保存的密码完成锁定、解锁往返验证,再启动构建;记录密码不得被重复生成过程覆盖。签名包、本机运行、Apple 上传处理、提交审核和正式上架分别回读,不能以包已生成代替上架。商店截屏使用经过验证的真实客户端界面,按 Apple 接受的高清尺寸上传,保留原始高清 Logo。
|
|
53
|
-
- Windows Microsoft Store 使用分配给产品的 MSIX Identity/Publisher,上传包由商店签名。MSIX 运行时以 Electron 的 `process.windowsStore` 识别,禁止调用官网 EXE 更新、降级或安装入口;手动检查更新转到该产品的 Microsoft Store 页面,版本列表不请求 NSIS 归档。包内 PE/x64、Manifest/BlockMap 校验、Windows 原生运行、商店认证和正式可下载分别记录。官网 Windows/macOS 下载按钮旁可展示真实商店产品链接,但审核中必须明确标注,不能把未开放页面称为已上架。
|
|
54
|
-
- 闭源商业项目要求免费可信 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、离线与企业策略边界;不降低安全策略或虚构全部系统验收。自签名不能产生公众信任,免费开源签名服务不适用于私有商业源码。
|
|
55
|
-
- 复用已签名 MAS 应用制作开发测试包时,必须替换 `Contents/embedded.provisionprofile`,核对描述文件中的证书与开发签名及当前设备一致;`codesign --verify` 通过仍不能替代实际启动。资料目录中的描述文件保持私有权限,复制到安装包后设为普通用户可读,并检查整个有效载荷,避免 ITMS-90255。沙盒阻止调试监听时不得扩大正式包的网络监听权限;自动化测试入口只放入独立开发副本,正式入口、preload 与界面应核对同源,测试入口和配对口令不得进入正式安装包。安装包上传成功后仍要回读 Apple 处理状态、选择构建、上传高清素材并实际提交审核。
|
|
56
|
-
- 官方账号页和关于标签通过 `platform-current-user` 接口引擎读取当前 `sys_user.LicenseType`。桌面相关平台业务逻辑优先通过 `microi_itdos` 接口引擎实现;只有接口引擎缺少必需底层原子能力时才能改后端源码,并说明原因。
|
|
57
|
-
- 正式 Windows/macOS 安装包必须内置固定版本且经过 SHA-256 校验的 cloudflared,运行时优先使用安装包 `resources/bin`,避免首次联网临时下载。检查更新从 `https://api.itdos.com/microi-code/updates/` 的匿名接口引擎读取 YAML/JSON,安装包二进制仍通过 HDFS 流式发布。
|
|
58
|
-
- Windows 安装验收必须包含旧卸载器损坏后的升级、同版本重装、超过 260 字符的路径以及全部文件 SHA-256 回读。安装器使用当次发布的兼容卸载器,并用固定哈希的 Unicode 7-Zip 直接解压到目标目录,禁止恢复临时目录解压后使用 NSIS `CopyFiles` 复制的流程;该流程会将路径或复制错误误报为“应用无法关闭”。进程检查仅匹配安装目录内的产品主程序及内置 Node,不能按整个目录匹配安装器或无关程序。
|
|
59
|
-
- 长路径验收必须先安装完整旧版本,再在同一目录覆盖升级及再次重装,不能只在空目录或仅含模拟卸载器的目录安装。卸载清理、旧文件备份迁移和失败回滚均须支持 Windows 扩展路径;通过真实 NSIS 与独占文件句柄验证长路径迁移和占用回滚,不能仅用 JS 文件操作或首次解压测试替代。
|
|
60
|
-
- 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,本机通过不代表客户机升级通过。
|
|
61
|
-
- Windows 1.2.8 起升级先在安装盘同级目录完整解压,再切换程序目录;旧文件仅同盘重命名,禁止回退到逐文件跨盘搬运。`build/microi-installer-transaction.nsh` 与相关 NSIS 补丁必须随上游同步永久保留。Win32=33 是文件区域锁错误,不能仅凭此指认某个安全软件;验收须在安装盘与 TEMP 不同的条件下持有真实字节锁,证明旧跨盘操作失败而新版安装成功,并验证持续占用、回滚与未知目标目录冲突。未恢复的同盘备份必须在安装退出后保留,不能存入会自动删除的临时目录;完整源文件哈希检查与客户设备验收分别记录。
|
|
62
|
-
- Windows 1.3.7 修复候选针对新版 stage 启用时 Win32=5 的单次失败:对 5/32/33 有限重试,再仅在成功新建的目标目录内做同盘文件重命名;以固定 UTF-16 日志记录迁移意图,部分失败逐项搬回,已有目标、未知文件与旧备份均不覆盖。回滚 EOF 和短记录必须停止,目录枚举句柄先关闭再删除空目录。真实 NSIS 回归覆盖短暂/持续错误 5、中途错误 5、文件冲突和未知目标;Wine 结果与 Windows 原生覆盖升级/全部文件哈希/最终程序启动分别报告。
|
|
63
|
-
- Windows 1.2.9 起本机启动探测必须使用覆盖 TCP 连接和响应头的硬超时;Harness 输出认证地址后,Node 请求失败可使用实际渲染页面的 Chromium 网络通道回退,严格限制为本次 `http://127.0.0.1:端口/`、不带凭据、不跟随重定向。记录两个通道的真实错误;只有响应正常且存在本次认证信息才可启动页面。恢复日志只能去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布必须运行 `scripts/verify-harness-startup.mjs`,使用发布包内 Node/Harness 验证普通与安全模式、注入 Node 超时后由真实 Chromium 渲染新会话控件,以及双通道真实不响应的有界失败;本机验证不能称为客户设备已通过。
|
|
64
|
-
- 桌面平台 Worker 必须在真实安装包内验证 IPC 与 Windows DPAPI。旧保险库只有成功解密且明文为零字节时才允许迁移为空文档;损坏或其他 Windows 用户的保险库保留原文件并返回具体错误。启动初始化拒绝不能让 Node 服务退出;单元测试、安装成功与真实桌面账号/AI 员工页面联调是三个独立验收层。
|
|
65
|
-
- Microi Agent 的生产桌面使用 DeepSeek 官方源码,升级唯一入口为 `Microi.Agent/同步DeepSeek官方上游.md`。锁定官方 commit 和归档哈希,重放独立 overlay、桥接、客户端插件及云应用契约;吾码源码保护区、VS Code/CLI/MCP 与商店通道不能被上游覆盖。历史 dsh 桌面快照只作旧发行追溯和保留业务模块的来源,不再作为生产同步入口。用户「关于」可以只展示 Microi Agent、版本、吾码官网和支持入口;第三方许可证与版权声明继续在安装包的 NOTICE/LICENSE 中保留,不能因简化关于弹窗而删除法律材料。停止或退出后的任务保留历史,当前 SDK 的跨进程历史仅供查看,需新建任务引用继续。
|
|
66
|
-
|
|
67
|
-
### 默认中文输出
|
|
68
|
-
|
|
69
|
-
- 面向用户的回答、计划、工具说明、错误解释和可见进度默认使用简体中文;代码、协议字段、命令、模型名称和路径保留原文。
|
|
70
|
-
- 这条规则通过 Microi Skills 同步到 Microi Agent、Codex、DeepSeek Harness、WorkBuddy、CodeBuddy 和 OpenCode 的工作区指令;宿主或模型支持自定义系统提示时,也应将同一条规则放在最高优先级的用户可见输出约束中。
|
|
71
|
-
- 中文规则只能约束可见回答、计划和工具摘要;模型服务内部隐藏思考的语言由模型决定,客户端不能保证每一个内部 token 都是中文,也不应把内部思考当成可导出内容。
|
|
72
|
-
|
|
73
|
-
## 非阻塞自动更新(强制)
|
|
74
|
-
|
|
75
|
-
每次新建或接续吾码任务必须执行 `workspace-conventions` 的版本检查、首次“Microi吾码开发工具版本”播报与后台自动升级,不限模型。先调用 `microi_codex action="profiles"` 读取 `toolchain` 中的当前已加载版本、工作区 Skills 版本和自动更新状态;未知项准确标记,不能把当前进程版本当成全局 CLI 或 npm 最新版。完整强制规范只维护在基础入口。
|
|
76
|
-
|
|
77
|
-
Codex Router 启动后会异步调用 bundled CLI 的 `microi update --background`。需要了解完整安装/诊断机制时读取同级 `microi-codex-installer/SKILL.md`;更新检查不得发生在用户工作之前,也不得让任务等待。
|
|
78
|
-
|
|
79
|
-
自动更新会从 npm 官方 registry 升级 CLI,更新 Codex/DeepSeek Harness 插件并重新初始化工作区 AI/MCP。当前 Router、DSH 会话和已经启动的 MCP 继续使用旧版本,不被杀死或强制重载;新版供后续新进程使用。自动更新失败、被占用或用户暂不重载时,只记录/提示并继续当前、正在进行和新建任务;不得要求升级授权,也不得把版本状态当作业务门禁。
|
|
80
|
-
|
|
81
|
-
## 先确认工作区连接
|
|
82
|
-
|
|
83
|
-
1. 调用 `microi_codex`,传 `{ "action": "profiles" }`。
|
|
84
|
-
2. 只有一个已登录连接时,后续可以省略 `profile`;存在多个连接时,始终传 `profiles` 返回的稳定 `name`。
|
|
85
|
-
3. 尚未初始化时,插件根目录是本文件向上两级;使用其中的 `scripts/microi-cli.js`:
|
|
86
|
-
- `node <plugin-root>/scripts/microi-cli.js init --workspace <workspace>`
|
|
87
|
-
- 多连接:`profile list|add|remove`
|
|
88
|
-
- 登录:`auth login|status|logout --profile <name>`
|
|
89
|
-
- 诊断:`doctor --json`
|
|
90
|
-
4. 登录会在真实终端中隐式输入密码;不要把密码写入命令、日志、Skill、MCP 参数或工作区文件。Token 继续写入 `Microi-V8-Engine/.microi-mcp-tokens.json`,并按 API、OsClient、Type、Network 四段身份隔离。
|
|
91
|
-
|
|
92
|
-
## 功能路由
|
|
93
|
-
|
|
94
|
-
- 质量优先的上下文策略读取 `microi-system-delivery/references/context-quality.md`。完整系统读全原八项及增补;局部修改读取目标与依赖,歧义扩大。`microi_get_db_schema` 默认目录摘要,字段写入前使用 `detail:"fields"` 并遍历 `Paging.nextCursor`;应用清单和文件片段同样检查完整性,不能把摘要作为覆盖正文。
|
|
95
|
-
- 较大 Manifest 在 `microi_plan_system` 首次提交正文并传 `detail:"summary"` 获取 `manifestRef/manifestHash` 复用,执行与验收仍校验当前身份;引用过期、重启或凭据变化时重新提交正文,写入未知先回读。`microi_get_context_metrics` 只报告当前 MCP 工具载荷字节、调用和错误,不能冒充供应商 token/费用。外部宿主的历史摘要和缓存由宿主管理。
|
|
96
|
-
|
|
97
|
-
- 连接、登录、拉取、推送、差异和 AI 初始化:使用 bundled CLI 的 `profile`、`auth`、`pull`、`push`、`sync status`、`ai init`、`mcp init`、`doctor`。
|
|
98
|
-
- 接口引擎、表单事件、模块、字段、工作流和数据库结构:先用 `action="list_tools"` / `describe_tool`,再调用对应原始 `microi_*` 工具。写工具必须保留确认口令、审计与回读。
|
|
99
|
-
- 远程执行与调试:读取 `v8-debugging/SKILL.md`。Codex 用“获取源码 → 远程执行 → 定位堆栈/日志 → 最小补丁 → 再执行”的结构化循环代替 VS Code DAP 的可视化逐行面板;不得把未执行的源码检查称为真机调试成功。
|
|
100
|
-
- 性能测试:读取 `performance-testing/SKILL.md`,限制并发并输出样本、P95/P99、错误率和停止条件。
|
|
101
|
-
- 系统日志、内存吃满、OOM 与接口/V8 异常分配:读取 `system-observability/SKILL.md` 及其内存事故手册,使用专用 MCP 的 `Capabilities` → `Memory` → 事故历史/详情 → `Trace`,先查采集质量再归因。
|
|
102
|
-
- 微应用:读取 `microi-microservice/SKILL.md`,使用 scaffold、source sync、stream publish 和发布回读原工具;本地构建前遵守内存保护。
|
|
103
|
-
- Playwright:读取 `playwright-e2e/SKILL.md`,使用当前已登录浏览器或受控 Playwright;报告必须来自实际页面执行。
|
|
104
|
-
- 其他领域:从本插件同级 Skills 里选择最小相关 Skill,并完整读取后执行。
|
|
105
|
-
|
|
106
|
-
## 同步与安全边界
|
|
107
|
-
|
|
108
|
-
- 发布扩展与 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。不输出凭据,不因继承错误重复要求登录;已发布正确制品保留,发行内容变化使用新不可变版本。
|
|
109
|
-
|
|
110
|
-
- `Microi-V8-Engine/.microi-config.json` 是三端连接配置事实源;未知字段必须保留。
|
|
111
|
-
- CLI、VS Code、Codex 与 DeepSeek Harness 插件可以在同一工作区并存;各端必须复用同一配置/Token/MCP 协议,带版本写入实行较新 provider 优先,禁止旧入口回写降级。`doctor.coexistence` 未通过时准确报告兼容风险并后台修复,但不得因此停止无关工作。
|
|
112
|
-
- 推送前先做远端差异检查。写请求超时只表示结果不确定,使用对应 get 工具短超时回读,禁止盲目重复创建或覆盖。
|
|
113
|
-
- 配置和 Token 文件使用现有原子写与锁协议;不要手工拼接或清空用户已有 MCP 配置。
|
|
114
|
-
- Codex Plugin 路由器只选择连接,业务行为必须继续走原 MCP bundle。
|
|
115
|
-
|
|
116
|
-
完整 VS Code 命令覆盖关系见插件根目录 `assets/feature-matrix.json`。
|
|
1
|
+
---
|
|
2
|
+
name: microi-codex
|
|
3
|
+
description: 在 Microi Agent、Codex 或 DeepSeek Harness 中完成 Microi吾码 VS Code 扩展的等价工作流,包括连接与登录、AI/MCP 初始化、V8/表单/模块/工作流同步、远程执行与诊断、性能测试、微应用、Playwright 和发布回读。用户提到吾码、Microi、V8引擎、Microi-V8-Engine 或要求使用吾码 AI 插件时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Microi吾码 Codex / DeepSeek Harness Plugin
|
|
7
|
+
|
|
8
|
+
本插件与 `Microi.Agent`、`@microi.net/cli` 共用配置、Token、MCP Server 和 Microi Skills。不要另写原生 HTTP、SQL 或第二套认证实现。
|
|
9
|
+
|
|
10
|
+
本地 HTTPS 连接同样必须验证证书。MCP 不因 `localhost/127.0.0.1` 自动设置
|
|
11
|
+
`NODE_TLS_REJECT_UNAUTHORIZED=0`,也不能覆盖调用方的严格策略。开发节点使用受信
|
|
12
|
+
证书;必要时在启动 MCP 前通过 `NODE_EXTRA_CA_CERTS` 指定已核验的公开 CA PEM。
|
|
13
|
+
分别验证正确 CA 可连接、陌生 CA/无信任证书被拒绝;配置了 CA 不等于实际启用了
|
|
14
|
+
证书验证,须核对最终进程与真实握手结果。证书私钥和会话 Token 不进入日志。
|
|
15
|
+
|
|
16
|
+
平台 Api/Web 版本入口可生成独立开发工具连接。收到连接 JSON 时,用 `microi auth import --session-stdin` 从标准输入导入,再运行 `microi ai init` 和 `microi doctor`;禁止将 Token 放入命令行、源码或日志,不再索取账号密码。开发 Token 使用现有终端有效期,可独立撤销;它只授权该业务租户,不能替代 Microi Agent 的官方 AI 计费账号登录。访问密钥的最小业务 scope 不能替代完整 MCP 管理身份。第三方 App Secret 默认进入系统设置“安全与服务接入”,优先使用 `microi_manage_server_private_secret`。
|
|
17
|
+
|
|
18
|
+
每次 Microi 对话先完整读取工作区 `microi.skills/workspace-conventions/SKILL.md`;工作区尚未初始化时读取本插件同级 `../workspace-conventions/SKILL.md`。按其中首部完成创始人身份识别及平台功能四项同步检查,再进入专项流程;完整规则只维护该基础入口,不复制到本路由。
|
|
19
|
+
|
|
20
|
+
在已初始化吾码工作区中,用户仅描述业务需求也自动读取 `microi-system-delivery/SKILL.md`
|
|
21
|
+
及相关专项 Skills,无需用户指定 Skill 名称。具体读取顺序与完整开发、局部修改、只读分析
|
|
22
|
+
的执行范围以基础规范的“吾码 AI 开发默认路由”为唯一事实源。
|
|
23
|
+
|
|
24
|
+
## Microi Agent 桌面宿主
|
|
25
|
+
|
|
26
|
+
- 完整版在所有平台用物理 `node_modules/node/bin/node[.exe]` 启动 Harness、Worker 和插件命令,不能换成 Electron Helper/utilityProcess;后者会在特定 Electron 指纹下被原生加载器拒绝。每次发布最终安装包先运行 `test:packaged-desktop`,设置真实产物与独立证据目录,验收生产 main 两次正常启动、Worker IPC、员工引导及 Harness 重启,并核对日志 `electron=none`。直接启动 Harness、签名公证成功或跳过完整应用用例均不足以证明用户能正常启动;不同系统和架构覆盖分别记录。同步上游必须保留该选择器、门禁脚本与回归用例。
|
|
27
|
+
- 桌面包内置技能目录;干净工作区输入 `/microi` 可发现吾码入口,再读取基础规范与专项技能。查不到时先核对当前桌面版本及内置技能资源,不要求用户复制开发机目录,也不要把 MCP 工具名当成斜杠技能名。
|
|
28
|
+
- 对话输入框上下键回填成功提交的提示词,向下可恢复未发送草稿。菜单、输入法候选、选区和多行正常光标移动优先;不要在用户编辑文本时强行覆盖草稿。
|
|
29
|
+
- 消息编辑/撤回通过真实会话分叉到该消息之前的已完成轮次;原会话和已经执行的文件修改保留。撤回将消息恢复为草稿,编辑则重新发送;这不是撤销文件系统。图片随草稿恢复,无法安全恢复的文件附件明确拒绝,不能静默删除附件或只改屏幕文字而保留旧模型上下文。
|
|
30
|
+
- AI 员工按项目群协作,十个岗位加技术总监共十一个岗位,可分别选择桌面已配置模型;原任务、成果审阅、目标和预算仍从「任务与验收」进入。群与任务共用用户明确选择并已登录的吾码 MCP,不能默认切到官方账号或首个客户。数据、运行与验收记录归所选租户;未安装员工中心或权限不足必须明确提示,不能擅自向所有客户安装。Harness 的会话/技能/定时能力不能证明完整 OpenClaw 已内置。相关执行边界读取 `ai-engine/references/ai-employees.md`。
|
|
31
|
+
- 员工群消息先持久提交 SQL 消息、运行与 outbox,再返回短确认;后台用稳定 Mongo `_id` 同步并按授权游标分页读取,失败明确显示 SQL 兜底,不能把未确认发送或模型排队当完成。旧历史只在当前群管理者显式操作后分批迁移。SignalR 使用通用 `/api-engine-realtime` 和群授权,只传版本提示;断线重连后重新授权并按游标回读,不将推送当持久记录。Token 留在桌面 Worker,切换 MCP/用户/群时清理旧订阅及迟到响应。最终安装包须实测详情、模型选择保存、短确认、Mongo 回读及断线恢复。
|
|
32
|
+
- Mongo 附件投影保存规范四字段数组的 JSON 字符串,读回仍核对完整消息摘要,不能只比较顶层 ContentHash。冲突先用同源、当前群管理权限限定的只读审计;旧嵌套字段已丢失时不可猜测解码或跳过摘要。派生投影修复仅限 SQL 正文摘要与 outbox 一致、原 outbox 独占租约仍有效、Mongo 同 Message/Group/Owner、时间/序号及其余非附件字段匹配、已知缺陷形态明确的记录;只更新派生附件字段并完整回读核对,不把固定 Id 更新宣称为 Mongo 原子 CAS。未知冲突保留 SQL 兜底,不改业务消息或模型运行、不扫描所有租户。
|
|
33
|
+
- 同一桌面实例的多个 Worker 必须共享本机模型容量预准入,在领取云端任务前取得名额;RPC 超时不等于模型终态,结果未知时停止自动重放并保留核对入口。
|
|
34
|
+
- 员工模型以 16,384 Token 为本功能默认且最高请求预算,不代表厂商输出能力;通过官方 prepareCall 同时冻结路由、能力和派发,按配置中的显式请求上限及剩余上下文收紧,保留用户 thinking/reasoning 控件。max-tokens 表示输出截断,必须记录 Uncertain 并等待核对,不能当完整成果或自动重试;预算不足应在派发前明确拒绝。
|
|
35
|
+
- 员工新运行只允许从用户所选且有效的 MCP 完整身份与当前显式项目群领取;未选群不自动领取其它群,切换连接或群后停止旧范围的新领取。已开始运行按原范围安全收尾,已保存的加密成果重报保留;不能因离群丢弃结果或重放结果未知的模型调用。
|
|
36
|
+
|
|
37
|
+
- 桌面与手机配对的本机 HTTP 监听必须避开 Fetch 标准禁止端口。系统自动分配的端口也可能不可浏览器访问;只有浏览器允许的真实监听端口才能进入配对 URL。自动命中禁止端口时关闭监听再有界重选,显式配置禁止端口须报错;权限和占用错误仍保留原错误,不改变系统动态端口范围、不绕过浏览器安全策略。同步上游时保护共同端口选择器、配对监听与对应回归。
|
|
38
|
+
|
|
39
|
+
- 1.3.8 起生产宿主为 DeepSeek 官方桌面。同步前读取内部源码根目录 `同步DeepSeek官方上游.md`、`apps/official-desktop/upstream.lock.json` 与维护交接记录;核对官方提交、归档 SHA、版本与完整锁。保留原始快照、自有层和精确接缝,干净安装、回归及真实包验收后才能推进基线。旧 `同步dsh-desktop上游.md` 已删除;历史派生模块只按发行快照追溯,不得恢复退役宿主或 PPT 模式。
|
|
40
|
+
- Microi Agent 是内部仓库中的独立桌面发行物,基于 DeepSeek Harness 官方桌面源码及独立吾码差异层,内置固定 Harness、Node.js、MCP / CLI / Skills;不是需要额外 Agent Token 的 CLI 别名。历史 DataElement 派生模块及许可证仍保留。
|
|
41
|
+
- 官方 AI 登录只走吾码桌面账号窗口,在受支持的 `https://api.microi.net` / `https://api.itdos.com`、`OsClient=iTdos` 使用本人的中转 Key 和额度;它是员工业务 MCP 之外的可选计费来源。不要把密码或 AI Key 写入对话、命令行、MCP 参数或模型配置。
|
|
42
|
+
- 业务连接在「服务器连接(MCP)」中单独添加、登录;官方 AI 账号不授予业务租户权限。项目初始化和资源同步优先使用桌面「项目资源」;其余业务继续调用同源 MCP 的原工具。
|
|
43
|
+
- macOS 登录凭据通过桌面 Keychain/受限 IPC 管理;不要在 macOS 改跑当前只支持 Windows 凭据恢复的 `microi auth login`。不要手改 Token 文件。
|
|
44
|
+
- 桌面安装包中的 Harness、Node 和同源资产随桌面版本升级;不运行 npm 自更新去改写正在使用或已签名的安装目录。外部 Codex / WorkBuddy / CLI 的后台更新规则保持不变。
|
|
45
|
+
- 桌面 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 技能、用户文件与历史不删除。
|
|
46
|
+
- 1.4.2 起,常用的 AI 员工、插件与自动化任务位于任务/工作区上方,其余工具统一进入官方设置弹窗;底部保留账号和一个设置按钮,关于、手机配对与吾码官网/QQ群 51050055 位于设置的帮助分区。旧版“工作区在功能区上方”规则由用户最新要求取代。旧业务入口通过已注册分区导航保留,不复制设置壳、不用 DOM 隐藏或点击模拟。自定义品牌与浅深主题继续保留。
|
|
47
|
+
- 桌面安装包版本从 `1.0.0` 开始,使用吾码三段十进制进位规则。正式新版本先在发布源码中执行 `version:bump`,核对并提交三个版本文件;Mac 拉取后使用 `bash ./一键打包Mac.sh` 在临时 Git 工作树中打包当前已提交版本,默认不再升版,失败也不能把生成文件留在原检出目录。`--current` 仅作旧命令兼容;同版本本地重打包不得覆盖已公开的不可变产物。测试、类型检查和普通 Web 构建不升版。
|
|
48
|
+
- Windows 安装包的构建成功、Authenticode 签名、SmartScreen/商店信任、HDFS 上传与 CDN 回读是不同证据;双击 `一键打包Windows.cmd` 时自动探测 Microsoft Artifact Signing 或本机可信证书,没有凭据则继续生成明确标记的未签名包,显式 `-Signing Signed` 才失败关闭。签名必须先覆盖安装器及独立执行文件,再计算发布 SHA256。macOS 默认 `bash ./一键打包Mac.sh` 同样自动探测并在无凭据时生成未签名包;`--signed` 是正式门禁,必须在缺少证书或公证钥匙串时失败,并通过 `codesign`、`spctl`、`stapler validate` 后才标记已签名公证。
|
|
49
|
+
- 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 真机、安装升级、客户设备验收分别记录。
|
|
50
|
+
- Windows 的 IPv4/IPv6 TCP 都连接失败时,允许回退到本次启动创建的私有命名管道。必须先从管道取得真实 HTTP 响应,再沿用 Harness 原有 Host、Origin、启动 Token 和签名 Cookie 验证;不得跳过鉴权或开放公网。HTTP 请求与 `/api/remote.mux` 会话流都要验收,IPC 仅限当前主窗口顶层页面和固定端点,不暴露凭据、管道路径或任意代理能力。`scripts/verify-harness-pipe.mjs` 的 macOS Unix socket 验证不等于 Windows 命名管道或客户设备已通过。
|
|
51
|
+
- 当前 Electron 桌面运行时不能直接打包 iOS/Android,也不能把现有 DMG 原样提交 Mac App Store。移动端和 MAS 版应作为受限客户端,复用账号、模型、会话、MCP 与桌面配对协议,把 Node/Harness/Shell/插件执行放到配对桌面或合规远端;分别完成 Apple/Google 签名和商店审核。
|
|
52
|
+
- MAS 使用独立 `electron.vite.mas.config.ts` 与 `electron-builder.mas.cjs` 构建最小客户端,应用包只含客户端入口、受限 preload、静态界面和版权材料;不能把父工程依赖、Harness、独立 Node 或站外更新器混入沙盒包。正式包使用 Mac App Distribution 与 Mac Installer Distribution;本机验证使用 Mac Development 和包含该设备的开发描述文件。签名钥匙串必须先用实际保存的密码完成锁定、解锁往返验证,再启动构建;记录密码不得被重复生成过程覆盖。签名包、本机运行、Apple 上传处理、提交审核和正式上架分别回读,不能以包已生成代替上架。商店截屏使用经过验证的真实客户端界面,按 Apple 接受的高清尺寸上传,保留原始高清 Logo。
|
|
53
|
+
- Windows Microsoft Store 使用分配给产品的 MSIX Identity/Publisher,上传包由商店签名。MSIX 运行时以 Electron 的 `process.windowsStore` 识别,禁止调用官网 EXE 更新、降级或安装入口;手动检查更新转到该产品的 Microsoft Store 页面,版本列表不请求 NSIS 归档。包内 PE/x64、Manifest/BlockMap 校验、Windows 原生运行、商店认证和正式可下载分别记录。官网 Windows/macOS 下载按钮旁可展示真实商店产品链接,但审核中必须明确标注,不能把未开放页面称为已上架。
|
|
54
|
+
- 闭源商业项目要求免费可信 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、离线与企业策略边界;不降低安全策略或虚构全部系统验收。自签名不能产生公众信任,免费开源签名服务不适用于私有商业源码。
|
|
55
|
+
- 复用已签名 MAS 应用制作开发测试包时,必须替换 `Contents/embedded.provisionprofile`,核对描述文件中的证书与开发签名及当前设备一致;`codesign --verify` 通过仍不能替代实际启动。资料目录中的描述文件保持私有权限,复制到安装包后设为普通用户可读,并检查整个有效载荷,避免 ITMS-90255。沙盒阻止调试监听时不得扩大正式包的网络监听权限;自动化测试入口只放入独立开发副本,正式入口、preload 与界面应核对同源,测试入口和配对口令不得进入正式安装包。安装包上传成功后仍要回读 Apple 处理状态、选择构建、上传高清素材并实际提交审核。
|
|
56
|
+
- 官方账号页和关于标签通过 `platform-current-user` 接口引擎读取当前 `sys_user.LicenseType`。桌面相关平台业务逻辑优先通过 `microi_itdos` 接口引擎实现;只有接口引擎缺少必需底层原子能力时才能改后端源码,并说明原因。
|
|
57
|
+
- 正式 Windows/macOS 安装包必须内置固定版本且经过 SHA-256 校验的 cloudflared,运行时优先使用安装包 `resources/bin`,避免首次联网临时下载。检查更新从 `https://api.itdos.com/microi-code/updates/` 的匿名接口引擎读取 YAML/JSON,安装包二进制仍通过 HDFS 流式发布。
|
|
58
|
+
- Windows 安装验收必须包含旧卸载器损坏后的升级、同版本重装、超过 260 字符的路径以及全部文件 SHA-256 回读。安装器使用当次发布的兼容卸载器,并用固定哈希的 Unicode 7-Zip 直接解压到目标目录,禁止恢复临时目录解压后使用 NSIS `CopyFiles` 复制的流程;该流程会将路径或复制错误误报为“应用无法关闭”。进程检查仅匹配安装目录内的产品主程序及内置 Node,不能按整个目录匹配安装器或无关程序。
|
|
59
|
+
- 长路径验收必须先安装完整旧版本,再在同一目录覆盖升级及再次重装,不能只在空目录或仅含模拟卸载器的目录安装。卸载清理、旧文件备份迁移和失败回滚均须支持 Windows 扩展路径;通过真实 NSIS 与独占文件句柄验证长路径迁移和占用回滚,不能仅用 JS 文件操作或首次解压测试替代。
|
|
60
|
+
- 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,本机通过不代表客户机升级通过。
|
|
61
|
+
- Windows 1.2.8 起升级先在安装盘同级目录完整解压,再切换程序目录;旧文件仅同盘重命名,禁止回退到逐文件跨盘搬运。`build/microi-installer-transaction.nsh` 与相关 NSIS 补丁必须随上游同步永久保留。Win32=33 是文件区域锁错误,不能仅凭此指认某个安全软件;验收须在安装盘与 TEMP 不同的条件下持有真实字节锁,证明旧跨盘操作失败而新版安装成功,并验证持续占用、回滚与未知目标目录冲突。未恢复的同盘备份必须在安装退出后保留,不能存入会自动删除的临时目录;完整源文件哈希检查与客户设备验收分别记录。
|
|
62
|
+
- Windows 1.3.7 修复候选针对新版 stage 启用时 Win32=5 的单次失败:对 5/32/33 有限重试,再仅在成功新建的目标目录内做同盘文件重命名;以固定 UTF-16 日志记录迁移意图,部分失败逐项搬回,已有目标、未知文件与旧备份均不覆盖。回滚 EOF 和短记录必须停止,目录枚举句柄先关闭再删除空目录。真实 NSIS 回归覆盖短暂/持续错误 5、中途错误 5、文件冲突和未知目标;Wine 结果与 Windows 原生覆盖升级/全部文件哈希/最终程序启动分别报告。
|
|
63
|
+
- Windows 1.2.9 起本机启动探测必须使用覆盖 TCP 连接和响应头的硬超时;Harness 输出认证地址后,Node 请求失败可使用实际渲染页面的 Chromium 网络通道回退,严格限制为本次 `http://127.0.0.1:端口/`、不带凭据、不跟随重定向。记录两个通道的真实错误;只有响应正常且存在本次认证信息才可启动页面。恢复日志只能去除缓冲区之间的重叠,不能用全局 Set 删除重试中的相同超时。发布必须运行 `scripts/verify-harness-startup.mjs`,使用发布包内 Node/Harness 验证普通与安全模式、注入 Node 超时后由真实 Chromium 渲染新会话控件,以及双通道真实不响应的有界失败;本机验证不能称为客户设备已通过。
|
|
64
|
+
- 桌面平台 Worker 必须在真实安装包内验证 IPC 与 Windows DPAPI。旧保险库只有成功解密且明文为零字节时才允许迁移为空文档;损坏或其他 Windows 用户的保险库保留原文件并返回具体错误。启动初始化拒绝不能让 Node 服务退出;单元测试、安装成功与真实桌面账号/AI 员工页面联调是三个独立验收层。
|
|
65
|
+
- Microi Agent 的生产桌面使用 DeepSeek 官方源码,升级唯一入口为 `Microi.Agent/同步DeepSeek官方上游.md`。锁定官方 commit 和归档哈希,重放独立 overlay、桥接、客户端插件及云应用契约;吾码源码保护区、VS Code/CLI/MCP 与商店通道不能被上游覆盖。历史 dsh 桌面快照只作旧发行追溯和保留业务模块的来源,不再作为生产同步入口。用户「关于」可以只展示 Microi Agent、版本、吾码官网和支持入口;第三方许可证与版权声明继续在安装包的 NOTICE/LICENSE 中保留,不能因简化关于弹窗而删除法律材料。停止或退出后的任务保留历史,当前 SDK 的跨进程历史仅供查看,需新建任务引用继续。
|
|
66
|
+
|
|
67
|
+
### 默认中文输出
|
|
68
|
+
|
|
69
|
+
- 面向用户的回答、计划、工具说明、错误解释和可见进度默认使用简体中文;代码、协议字段、命令、模型名称和路径保留原文。
|
|
70
|
+
- 这条规则通过 Microi Skills 同步到 Microi Agent、Codex、DeepSeek Harness、WorkBuddy、CodeBuddy 和 OpenCode 的工作区指令;宿主或模型支持自定义系统提示时,也应将同一条规则放在最高优先级的用户可见输出约束中。
|
|
71
|
+
- 中文规则只能约束可见回答、计划和工具摘要;模型服务内部隐藏思考的语言由模型决定,客户端不能保证每一个内部 token 都是中文,也不应把内部思考当成可导出内容。
|
|
72
|
+
|
|
73
|
+
## 非阻塞自动更新(强制)
|
|
74
|
+
|
|
75
|
+
每次新建或接续吾码任务必须执行 `workspace-conventions` 的版本检查、首次“Microi吾码开发工具版本”播报与后台自动升级,不限模型。先调用 `microi_codex action="profiles"` 读取 `toolchain` 中的当前已加载版本、工作区 Skills 版本和自动更新状态;未知项准确标记,不能把当前进程版本当成全局 CLI 或 npm 最新版。完整强制规范只维护在基础入口。
|
|
76
|
+
|
|
77
|
+
Codex Router 启动后会异步调用 bundled CLI 的 `microi update --background`。需要了解完整安装/诊断机制时读取同级 `microi-codex-installer/SKILL.md`;更新检查不得发生在用户工作之前,也不得让任务等待。
|
|
78
|
+
|
|
79
|
+
自动更新会从 npm 官方 registry 升级 CLI,更新 Codex/DeepSeek Harness 插件并重新初始化工作区 AI/MCP。当前 Router、DSH 会话和已经启动的 MCP 继续使用旧版本,不被杀死或强制重载;新版供后续新进程使用。自动更新失败、被占用或用户暂不重载时,只记录/提示并继续当前、正在进行和新建任务;不得要求升级授权,也不得把版本状态当作业务门禁。
|
|
80
|
+
|
|
81
|
+
## 先确认工作区连接
|
|
82
|
+
|
|
83
|
+
1. 调用 `microi_codex`,传 `{ "action": "profiles" }`。
|
|
84
|
+
2. 只有一个已登录连接时,后续可以省略 `profile`;存在多个连接时,始终传 `profiles` 返回的稳定 `name`。
|
|
85
|
+
3. 尚未初始化时,插件根目录是本文件向上两级;使用其中的 `scripts/microi-cli.js`:
|
|
86
|
+
- `node <plugin-root>/scripts/microi-cli.js init --workspace <workspace>`
|
|
87
|
+
- 多连接:`profile list|add|remove`
|
|
88
|
+
- 登录:`auth login|status|logout --profile <name>`
|
|
89
|
+
- 诊断:`doctor --json`
|
|
90
|
+
4. 登录会在真实终端中隐式输入密码;不要把密码写入命令、日志、Skill、MCP 参数或工作区文件。Token 继续写入 `Microi-V8-Engine/.microi-mcp-tokens.json`,并按 API、OsClient、Type、Network 四段身份隔离。
|
|
91
|
+
|
|
92
|
+
## 功能路由
|
|
93
|
+
|
|
94
|
+
- 质量优先的上下文策略读取 `microi-system-delivery/references/context-quality.md`。完整系统读全原八项及增补;局部修改读取目标与依赖,歧义扩大。`microi_get_db_schema` 默认目录摘要,字段写入前使用 `detail:"fields"` 并遍历 `Paging.nextCursor`;应用清单和文件片段同样检查完整性,不能把摘要作为覆盖正文。
|
|
95
|
+
- 较大 Manifest 在 `microi_plan_system` 首次提交正文并传 `detail:"summary"` 获取 `manifestRef/manifestHash` 复用,执行与验收仍校验当前身份;引用过期、重启或凭据变化时重新提交正文,写入未知先回读。`microi_get_context_metrics` 只报告当前 MCP 工具载荷字节、调用和错误,不能冒充供应商 token/费用。外部宿主的历史摘要和缓存由宿主管理。
|
|
96
|
+
|
|
97
|
+
- 连接、登录、拉取、推送、差异和 AI 初始化:使用 bundled CLI 的 `profile`、`auth`、`pull`、`push`、`sync status`、`ai init`、`mcp init`、`doctor`。
|
|
98
|
+
- 接口引擎、表单事件、模块、字段、工作流和数据库结构:先用 `action="list_tools"` / `describe_tool`,再调用对应原始 `microi_*` 工具。写工具必须保留确认口令、审计与回读。
|
|
99
|
+
- 远程执行与调试:读取 `v8-debugging/SKILL.md`。Codex 用“获取源码 → 远程执行 → 定位堆栈/日志 → 最小补丁 → 再执行”的结构化循环代替 VS Code DAP 的可视化逐行面板;不得把未执行的源码检查称为真机调试成功。
|
|
100
|
+
- 性能测试:读取 `performance-testing/SKILL.md`,限制并发并输出样本、P95/P99、错误率和停止条件。
|
|
101
|
+
- 系统日志、内存吃满、OOM 与接口/V8 异常分配:读取 `system-observability/SKILL.md` 及其内存事故手册,使用专用 MCP 的 `Capabilities` → `Memory` → 事故历史/详情 → `Trace`,先查采集质量再归因。
|
|
102
|
+
- 微应用:读取 `microi-microservice/SKILL.md`,使用 scaffold、source sync、stream publish 和发布回读原工具;本地构建前遵守内存保护。
|
|
103
|
+
- Playwright:读取 `playwright-e2e/SKILL.md`,使用当前已登录浏览器或受控 Playwright;报告必须来自实际页面执行。
|
|
104
|
+
- 其他领域:从本插件同级 Skills 里选择最小相关 Skill,并完整读取后执行。
|
|
105
|
+
|
|
106
|
+
## 同步与安全边界
|
|
107
|
+
|
|
108
|
+
- 发布扩展与 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。不输出凭据,不因继承错误重复要求登录;已发布正确制品保留,发行内容变化使用新不可变版本。
|
|
109
|
+
|
|
110
|
+
- `Microi-V8-Engine/.microi-config.json` 是三端连接配置事实源;未知字段必须保留。
|
|
111
|
+
- CLI、VS Code、Codex 与 DeepSeek Harness 插件可以在同一工作区并存;各端必须复用同一配置/Token/MCP 协议,带版本写入实行较新 provider 优先,禁止旧入口回写降级。`doctor.coexistence` 未通过时准确报告兼容风险并后台修复,但不得因此停止无关工作。
|
|
112
|
+
- 推送前先做远端差异检查。写请求超时只表示结果不确定,使用对应 get 工具短超时回读,禁止盲目重复创建或覆盖。
|
|
113
|
+
- 配置和 Token 文件使用现有原子写与锁协议;不要手工拼接或清空用户已有 MCP 配置。
|
|
114
|
+
- Codex Plugin 路由器只选择连接,业务行为必须继续走原 MCP bundle。
|
|
115
|
+
|
|
116
|
+
完整 VS Code 命令覆盖关系见插件根目录 `assets/feature-matrix.json`。
|
|
@@ -152,6 +152,13 @@ AppKey 稳定且只含安全字符。`microi.routes.json` 是页面事实源,
|
|
|
152
152
|
|
|
153
153
|
## 菜单、弹窗与表单嵌入
|
|
154
154
|
|
|
155
|
+
宿主统一渲染的“微服务”来源入口、关闭标识按钮和源码定位详情只向当前登录用户
|
|
156
|
+
`Level >= 9999` 展示;普通用户、未知/非法等级和受限访问密钥会话保持隐藏。
|
|
157
|
+
子应用不得自画该标签或通过元数据指定用户等级。管理员关闭仅作用当前页面实例,
|
|
158
|
+
切换页面/账号后恢复,等级降低时同步隐藏并关闭详情;正常业务运行、关闭 Tab 和
|
|
159
|
+
弹窗回调不受影响,后端源码读取及 MCP 操作继续单独鉴权。升级 Microi.Client
|
|
160
|
+
前端后生效,无需修改应用包、页面或菜单资源。
|
|
161
|
+
|
|
155
162
|
菜单 `OpenType=MicroService` 时一次绑定 `MicroServiceId`、
|
|
156
163
|
`MicroServicePageId`、`MicroServiceRoutePath`、`MicroServiceKey`。
|
|
157
164
|
完整系统 Manifest 不得固化不同租户会变化的两个 Id;模块声明 `openType=MicroService`、`microServiceKey` 和 `microServiceRoutePath` 即可,由 `microi_generate_system` 在任何写入前回读 `sys_microiservice/sys_microiservice_page`,解析并校验当前租户的 `MicroServiceId/MicroServicePageId`。微服务或页面不存在时必须在首个写操作前失败,不能留下半套系统。
|
|
@@ -7,6 +7,8 @@ description: 已初始化吾码工作区的默认 AI 开发总控入口,用户
|
|
|
7
7
|
|
|
8
8
|
# Microi 全系统交付复盘与总控规范
|
|
9
9
|
|
|
10
|
+
所有范围的收尾都必须执行 [测试临时文件随任务清理](../workspace-conventions/SKILL.md#测试临时文件必须随任务清理强制):每轮测试结束清理本任务 `.tmp`、宿主临时目录、隔离源码/运行副本和已结束工作树,交付必需证据先最小归档,失败/中断也要回收;独立回读删除结果,并逐项说明确需暂留的文件、体积、原因与清理时机。脚本需有实际 teardown,不能把文字规范当作自动清理功能。
|
|
11
|
+
|
|
10
12
|
本 Skill 来自一次完整业务系统交付复盘。目标是让下一套 OA、ERP、MES、CRM、商城、预约、互联网项目等 Microi 系统少走返工路:先固定事实源,再用 MCP 正确建模,最后用可视化和业务闭环测试证明可交付。
|
|
11
13
|
|
|
12
14
|
本 Skill 是已初始化吾码工作区的默认开发总控入口。用户直接描述需求即可,无需指定 Skill 名称;
|
|
@@ -61,7 +63,7 @@ Manifest 使用 `tables[].formBanner`;未显式配置时仍按字段类型选
|
|
|
61
63
|
9. **平台能力四项同步**:按 `workspace-conventions/SKILL.md` 首部识别创始人源码工作区;每项平台新增、增强或修复都逐项判断应用商城、官方中文文档、Skills、MCP 是否需要完善,交付时列出证据或无需修改的依据。复用已有 MCP 能力,不机械新增工具;镜像发布不等于客户部署,客户手动更新边界必须保留。
|
|
62
64
|
|
|
63
65
|
<!-- /microi-progressive:chunk -->
|
|
64
|
-
<!-- microi-progressive:chunk id=microi-system-delivery-001 sha256=
|
|
66
|
+
<!-- microi-progressive:chunk id=microi-system-delivery-001 sha256=167c117fc2a52cea49cd1bf2128b450fb3c8af07e8af1e955d1482a454d472ef -->
|
|
65
67
|
## 用户问题编号跟踪(强制)
|
|
66
68
|
|
|
67
69
|
用户一次提出多个问题时,必须先拆成 `1、2、3、4...` 的问题清单,并在交付过程中保持同一编号,不得合并吞掉或用笼统“已优化”代替。
|
|
@@ -76,6 +78,10 @@ Manifest 使用 `tables[].formBanner`;未显式配置时仍按字段类型选
|
|
|
76
78
|
|
|
77
79
|
最终回复必须按原始编号逐项汇总:哪些已实现、哪些未实现、是否通过全自动化测试、是否通过截图验证。不能只给总括性“都完成了”。如果某项没有测试或没有截图,必须明说“未覆盖/未截图”,并说明原因。
|
|
78
80
|
|
|
81
|
+
- 用户使用 `1、2、3…`、`1. 2. 3.…` 等形式提出多项任务时,最终聊天回复本身必须保留原编号并逐条说明完成情况;不能只在附件、报告或进度消息中列出编号,也不能用源码、测试、发布等渠道汇总替代用户的任务清单。
|
|
82
|
+
- 同一对话有多轮编号清单时,按“本轮要求”和“此前待办/用户要求复核的清单”分别保留各自编号;新的补充不会自动取消前一轮未完成项。用户要求重报此前清单时,必须逐项重新核对证据,不能只给报告链接。
|
|
83
|
+
- 每条结论明确区分源码已改、运行验收通过、渠道已发布;发现回归或用户再次指出问题时,将对应旧项重新标为待修复/部分完成,修复后再更新结论。最后逐项核对编号总数,禁止漏项、跳号或把未取得回执的发布写成完成。
|
|
84
|
+
|
|
79
85
|
<!-- /microi-progressive:chunk -->
|
|
80
86
|
<!-- microi-progressive:chunk id=microi-system-delivery-004 sha256=cc8ef54619f2f7a1dc3ba4268d02cbe678c855ba17e2d9e9ed3251ac0dc35e18 -->
|
|
81
87
|
## 交付完成定义
|