@microi.net/cli 6.3.2 → 6.3.3
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 +4 -4
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/microi-cli.js +69 -67
- package/scripts/microi-skills.meta.json +237 -237
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +6 -6
- package/skills/microi-codex/SKILL.md +2 -0
- package/skills/microi-codex-installer/SKILL.md +32 -3
- package/skills/microi-docs-coverage/references/capability-map.md +2 -2
- package/skills/system-observability/SKILL.md +5 -1
- package/skills/system-observability/references/framework-status-widgets.md +14 -2
- 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 +5 -4
|
@@ -181,9 +181,38 @@ microi init --workspace <工作区> --pull
|
|
|
181
181
|
|
|
182
182
|
安装/升级后若 `microi doctor` 返回“Token 签名验证失败”,先区分验签密钥变化与 20 天到期。新版 MCP 会从 Windows 工作区 DPAPI 保险库、macOS Keychain 或 Linux Secret Service 重载精确 Profile 的帐号密码并自动续登、更新 Token/MCP;不得删除全部 Profile、清空 Token 文件或要求用户反复手工输入。同一 `OsClient` 的多条 SaaS 运行记录必须由后端在 JWT 初始化前收敛到同一个 `AuthSecret`,否则更新后仍会反复失效。
|
|
183
183
|
|
|
184
|
+
### WorkBuddy 原生注册与验收
|
|
185
|
+
|
|
186
|
+
通用 `microi ai init` 生成项目规则、Skills 与多宿主配置,不代表 WorkBuddy 的原生连接器列表已出现吾码。开发工具 **6.3.3 起**,在 WorkBuddy 中明确初始化所选连接:
|
|
187
|
+
|
|
188
|
+
```powershell
|
|
189
|
+
microi profile list --workspace "<工作区绝对路径>" --json
|
|
190
|
+
microi ai init --host workbuddy --profile <mcpName> --workspace "<工作区绝对路径>" --json
|
|
191
|
+
microi doctor --host workbuddy --profile <mcpName> --workspace "<工作区绝对路径>" --json
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
已核对 WorkBuddy 5.9.3 原生提供者按 `WORKBUDDY_CONFIG_DIR`、应用 `runtimeContext.configDir`、系统用户目录 `~/.workbuddy` 的顺序确定配置根,读取其中的 `mcp.json`。CLI 看不到应用内部上下文时,只能按终端环境和用户目录解析候选路径;`doctor` 的路径不能替代应用 UI/日志的实际路径。两者不同时先校准宿主配置根,不能只检查项目 `.workbuddy/mcp.json` 就判断原生已注册。
|
|
195
|
+
|
|
196
|
+
显式 `--host workbuddy` 只把所选 Profile 写入已确定的原生用户配置,保留其它服务、未知属性和已有 `disabled` 状态;不改 WorkBuddy 的审批存储或连接器凭据。后续宿主版本仍以实际配置路径、诊断和界面为准。
|
|
197
|
+
|
|
198
|
+
`doctor --host workbuddy` 核对本机原生配置、启动文件及已有信任/禁用状态,不能证明远端连接或当前对话注入;两者仍需实际调用验证。不要把本机检查成功说成四项全部通过。
|
|
199
|
+
|
|
200
|
+
遇到既有配置的编码拒绝时先保留原文件。只有整个文件恰好只含本次精确归属的单一连接,且无其它服务或未知根属性时,才可给同一条 `ai init --host workbuddy --profile ...` 命令显式追加 `--repair-workbuddy-encoding` 修复编码并回读;混合或无法确认归属的配置保持原样,不覆盖、不删除,也不借修复授予信任。
|
|
201
|
+
|
|
202
|
+
验收至少分清以下四项;成功一项不能推断下一项:
|
|
203
|
+
|
|
204
|
+
| 状态 | 所需证据 |
|
|
205
|
+
|---|---|
|
|
206
|
+
| 配置已生成 | 所选连接和原生配置路径、服务定义回读正确 |
|
|
207
|
+
| 官方 CLI 已连通 | 同源 stdio 的 `initialize`、`tools/list` 与 `microi_get_status` 成功且身份正确 |
|
|
208
|
+
| 宿主原生服务可用 | WorkBuddy 列表实际出现服务,未禁用且已由宿主信任 |
|
|
209
|
+
| 当前对话已注入 | 当前对话真实发现入口并完成只读工具调用 |
|
|
210
|
+
|
|
211
|
+
`~/.workbuddy/mcp-tool-list.json` 仅缓存工具名称和说明,不能当作服务注册或当前注入凭据。原生确报未信任时,由用户在 WorkBuddy 连接器/MCP 页面完成信任;明确禁用保持不变,不用 CLI 伪造审批。5.9.3 的 stdio 信任摘要包含 command、args、env **键名**和可选 cwd,env 值不参与;版本化启动参数改变可能需要再次信任,不能把普通环境变量值更新一律说成需要重新授权。只有真实宿主状态要求操作时才提出,不能让模型反复索要同一确认。
|
|
212
|
+
|
|
184
213
|
### 当前对话没有吾码工具时继续工作
|
|
185
214
|
|
|
186
|
-
|
|
215
|
+
按上方四项状态分别验收;WorkBuddy 先核对显式宿主初始化及原生列表。使用宿主真实的工具发现/刷新能力,同时查找原始 `microi_*` 和 `microi_codex` 单入口;发现单入口后通过 `profiles`、`list_tools`、`describe_tool` 调用,不能因没有展开全部原始工具就判断吾码不可用。工具数量以本次发现结果为准。
|
|
187
216
|
|
|
188
217
|
原生入口仍未出现且宿主允许执行终端时,使用官方 CLI **6.3.2 起**提供的同源 MCP 通道继续当前任务;旧版缺少命令时先按上方官方更新流程升级:
|
|
189
218
|
|
|
@@ -199,7 +228,7 @@ CLI 成功只证明官方调用通道可用,不能报告当前宿主已注册
|
|
|
199
228
|
|
|
200
229
|
原生配置对应关系:
|
|
201
230
|
|
|
202
|
-
- WorkBuddy
|
|
231
|
+
- WorkBuddy:通用生成保留项目 `.workbuddy/mcp.json`;原生入口按上节显式 `--host workbuddy` 注册并回读用户配置,在宿主 MCP 页面核对真实连接及信任状态。
|
|
203
232
|
- CodeBuddy:`.codebuddy/skills/microi/SKILL.md`、`.codebuddy/rules/microi.md` 与根 `.mcp.json`。
|
|
204
233
|
- Qoder:`.qoder/skills/microi/SKILL.md`、`AGENTS.md` 与根 `.mcp.json`。
|
|
205
234
|
- 百度 Comate:`.agents/skills/microi/SKILL.md`、`.comate/skills/microi/SKILL.md` 与 `.comate/mcp.json`。
|
|
@@ -239,7 +268,7 @@ microi pull --profile <连接名称、OsClient、序号或mcpName> --scope all -
|
|
|
239
268
|
microi plugin path --json
|
|
240
269
|
```
|
|
241
270
|
|
|
242
|
-
CodeBuddy CLI 可把该 `packageRoot` 作为本地 marketplace 添加,再安装 `microi@microi-net`;WorkBuddy 按其插件页面添加可信 marketplace,或从已安装包导入 Skill
|
|
271
|
+
CodeBuddy CLI 可把该 `packageRoot` 作为本地 marketplace 添加,再安装 `microi@microi-net`;WorkBuddy 按其插件页面添加可信 marketplace,或从已安装包导入 Skill。插件安装、启用和重载属于宿主自身的信任边界,不伪造“已经在 UI 安装成功”。不安装宿主级插件时仍可生成项目规则与 Skills;WorkBuddy 原生 MCP 另按上节指定 `--host workbuddy`,不能把通用初始化或 CLI 备用调用当成原生注册成功。
|
|
243
272
|
|
|
244
273
|
## 安装后验收
|
|
245
274
|
|
|
@@ -81,8 +81,8 @@ Markdown。第一列是相对 `microi.doc/docs/doc/` 的路径;第二列 Skill
|
|
|
81
81
|
| `v8-engine/api-engine.md` | v8-api-config, v8-utilities | 接口上下文、配置、分布式锁续租和调用 |
|
|
82
82
|
| `v8-engine/apiengine-index.md` | v8-crud-api, v8-api-config, v8-sql-query | 接口引擎实战、参数白名单与禁止客户端 SQL 的生成规范 |
|
|
83
83
|
| `v8-engine/form-engine.md` | v8-crud-api, v8-formengine-http, module-engine, microi-form-engine | FormEngine API、HTTP、原生查询身份/统计范围与按表主库策略 |
|
|
84
|
-
| `v8-engine/mcp-server.md` | microi-system-delivery, microi-codex-installer, v8-security | MCP
|
|
85
|
-
| `v8-engine/microi-agent.md` | microi-codex, microi-codex-installer | Microi Agent
|
|
84
|
+
| `v8-engine/mcp-server.md` | microi-system-delivery, microi-codex-installer, v8-security | MCP工具、WorkBuddy显式原生注册与分层验收、当前对话CLI通道、确认、审计、文件、日志、备份与访问密钥 |
|
|
85
|
+
| `v8-engine/microi-agent.md` | microi-codex, microi-codex-installer | Microi Agent桌面安装、WorkBuddy原生路径及信任边界、宿主工具发现、官方CLI调用、诊断与更新 |
|
|
86
86
|
| `v8-engine/v8-client.md` | v8-utilities, v8-frontend-events, v8-table-event, v8-http-integration, v8-security, ai-engine, print-engine, uniapp-mall-assets | 全部前端 V8、日志/评论/版本四阶段事件及真实写入回执、平台 AI、强身份验证、扫码与文件边界 |
|
|
87
87
|
| `v8-engine/v8-server.md` | v8-utilities, v8-table-event, v8-api-config, v8-http-integration, v8-security, ai-engine, v8-sql-query | 全部后端 V8、活动事件同父事务/空配置兼容、强身份票据、平台 AI、影视可信JSON/Stream/模型与管理员文件镜像、永久回执及0–100MiB私有流边界、专项路由及可信服务端 SQL/绑定值边界 |
|
|
88
88
|
| `v8-engine/vs-code-plugin.md` | v8-explorer-tree, microi-client-frontend, workspace-conventions | VS Code 插件、Microi CLI、AI/MCP 初始化、类型、资源树和共享工作区 |
|
|
@@ -299,11 +299,15 @@ OSS/CDN 高费用、文件下载榜单和 NAS 分流还须读取
|
|
|
299
299
|
|
|
300
300
|
实现/配置顶部和侧栏状态部件时读取[状态部件参考](references/framework-status-widgets.md)。区分WS定时快照、源scope和物理GPU;布局使用公开实体字段、版本哈希CAS,保留租户显式空值与CreateIfMissing扩展。源码、镜像、应用、宿主与浏览器验收分层记录。
|
|
301
301
|
|
|
302
|
-
9.0.
|
|
302
|
+
9.0.11已发行并包含后台Mongo遥测、128项目录、GPU/多盘默认布局及新版展示;9.0.7基础部件继续保留。本次HTTP首读、有界WS/404恢复及Linux cgroup兼容属于后续源码修复,尚无新发行或客户部署回执,不能仅凭已有9.0.11判断已生效。系统设置 v8.6.21 的 ServerMinVersion/ClientMinVersion 均为 9.0.9;SaaS v8.8.31 为 ServerMinVersion=9.0.8、ClientMinVersion=9.0.9,不能用 SaaS 的结构门槛代替遥测运行时要求。
|
|
303
303
|
|
|
304
304
|
使用这些新增能力前,逐项核对采样服务注册、存储实现、已安装的 Managed 动作及网页实测结果。
|
|
305
305
|
|
|
306
306
|
- 本轮资源历史由API节点后台统一采样写Mongo:CPU/RAM 5秒,GPU/固定盘/可读温度30秒;最新值覆盖,30秒历史桶保留30天。前端通过既有`ManageFrameworkStatus`与Managed引擎读取存储样本,不随浏览器数重复现采。Mongo故障保留未知/存储错误,不能回退现场采样假成功。
|
|
307
|
+
- 状态首屏HTTP Bootstrap→Snapshot成功即呈现,再后台连接WS;部件单次HTTP10秒,WS start/Invoke各5秒独立期限,正常每轮完成后15秒刷新。失败15/30/60秒±20%抖动且封顶60秒,仅有效WS快照重置失败计数;隐藏/身份切换/最后卸载取消等待、停旧连接并丢弃迟到结果。
|
|
308
|
+
- 404按API/tenant/user/token内存缓存5分钟,到期自动探测,显隐/重挂不热轮询;手动retry/身份变化立即重读。单项null为暂无采样,通道成功不等于指标齐全;需要登录、无权、需升级、采样不可用及网络失败分别呈现,禁用/匿名保持0请求。
|
|
309
|
+
- Bootstrap成功而Snapshot StatusCollectorUnavailable时,核后台采样注册及API固定主租户Mongo;ServerStatus/DBStats/SharedStorage超时不能靠重连WS或查询子租户业务库解决,不现场采样伪成功,不回显自由Msg/异常栈。仅明确Supported=false/白名单Unsupported原因提示需升级,坏协议仍为响应异常。
|
|
310
|
+
- Linux按self/cgroup+mountinfo解析当前v1/v2组;CPU无限配额用可见运行时CPU并受cpuset/有限小数配额约束,首次/重置为未知;RAM同组usage/有限limit配对,无限时仅已用可知、total/percent=null。盘先过滤文件bind/伪文件系统再排序截断,overlay/目录bind仍属container,不声称宿主全部盘。
|
|
307
311
|
- 实时消息在 `V8.Param.Message`,连接元数据在 `V8.Param.Socket`;必须用真实同级信封回归。WS 非成功结果也要走同一只读 HTTP 降级,保持鉴权和快照验证。
|
|
308
312
|
- 顶部24px圆形漩涡每6秒轮播最多8个可用指标;默认含GPU/显存及多盘,按占用五档变色。资源详情采用圆仪表,磁盘统一为已用;缺总量不从可用字节推算。温度不可读保留null/unavailable。侧栏仅图标、名称与数值同排,不另列WS/时间或增加矩形填充卡片;页脚柔和CSS水波持续动画,页面隐藏及减少动态效果时暂停。
|
|
309
313
|
- 系统设置既有`HideFrameworkFunctions`追加`FrameworkStatusTop`、`FrameworkStatusSidebar`,两项独立,均隐藏时0状态请求;不抹版权/自定义内容或租户布局。通过`microi_get_field_list`、`microi_update_field`合并选项并回读,系统设置与SaaS包同时交付元数据,不携带运行选择值。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 框架常驻状态部件
|
|
2
2
|
|
|
3
|
-
9.0.
|
|
3
|
+
9.0.11已发行,包含后台Mongo遥测、Latest/History、128项目录、GPU/多盘默认布局及新版展示;9.0.7基础部件继续保留。HTTP首读、有界WS/404恢复和Linux cgroup兼容是后续源码修复,尚无新发行/客户部署回执;不能用已有9.0.11版本号代替本次制品与实际运行核验。
|
|
4
4
|
|
|
5
5
|
系统设置 v8.6.21 的 ServerMinVersion/ClientMinVersion 均为 9.0.9;SaaS v8.8.31 的 ServerMinVersion=9.0.8、ClientMinVersion=9.0.9。SaaS 的结构最低版本不能证明旧 API 具有新遥测原子;按实际目标回读 Bootstrap、存储样本、历史查询与页面状态,再登记验收结果。
|
|
6
6
|
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
- 主入口`platform-framework-status`:Bootstrap、Snapshot、Latest、History、GetConfig、Catalog、SaveConfig。通过已有`microi_run_engine`调用;没有新增旁路HTTP工具。Latest为受限原始Mongo样本,Snapshot为布局投影,History为时间窗。
|
|
10
10
|
- `V8.Method.ManageFrameworkStatus`仅允许固定官方引擎;从可信上下文取tenant/user,再查当前租户主库有效账号/等级。访问密钥会话拒绝;配置和Comfy宿主观察限定当前管理员。
|
|
11
11
|
- 实时引擎`platform-framework-status-live`要求`V8.Method.RequireApiEngineSocketContext()`。复用`/api-engine-socket`的Invoke/EngineMessage,只接Snapshot。WS每15秒快照,不是服务端主动push。
|
|
12
|
+
- 首屏先HTTP Bootstrap→HTTP Snapshot并呈现,再后台连接WS,不并发两次Snapshot。单次HTTP期限10秒;start/Invoke各5秒独立期限,某轮重连+调用最多先后两段。每轮完成后15秒刷新;失败15/30/60秒±20%抖动且封顶60秒,仅有效WS快照重置失败计数,首屏异步start不推迟HTTP刷新。
|
|
13
|
+
- 隐藏、身份切换及最后卸载清除期限并停止旧连接,迟到结果丢弃。404按API/tenant/user/token缓存5分钟,到期再Bootstrap;显隐/重挂不热轮询,手动retry/身份改变立即探测。匿名或缺可信用户/token保持disabled、0请求。
|
|
12
14
|
- 真实Runner信封的消息是`V8.Param.Message`,`V8.Param.Socket`只含连接/事件信息。测试必须使用真实同级信封,不能在夹具伪造`Socket.Message`掩盖协议差异。WS非成功业务回包也须停止该连接并尝试同一只读HTTP Snapshot,不能把truthy的Code=0当成功或永远重用坏通道。
|
|
13
15
|
- `microi_save_engine_code(responseType=SignalR)`是既有真实工具合同;不存在`microi_set_engine_response_type`。
|
|
14
16
|
|
|
@@ -37,13 +39,23 @@ NULL继承内置默认;空字符串/坏JSON为错误;widgets空数组显式
|
|
|
37
39
|
每卷和GPU保留自己的真实时间戳、挂载点及容量;可用GPU的显存百分比基于已用/总量,缺分母不推算。CPU/盘温度受实际驱动/硬件可见性限制,不可读保持null/unavailable,不填零、不以ACPI虚拟值或任务数量替代。注册目录≤128、最终快照≤48仍独立受限;过多设备须明确省略/截断边界。
|
|
38
40
|
|
|
39
41
|
- Snapshot根与每指标带sourceScope、resourceId、mountPoint、observedAtUtc;未知value为null/unavailable,真实0必须来自成功采样。过期保原时戳,不伪造新鲜。
|
|
40
|
-
- API无宿主挂载时只称容器/服务。cgroup
|
|
42
|
+
- API无宿主挂载时只称容器/服务。Linux按self/cgroup与mountinfo定位当前v1/v2组;CPU max/-1仍用可见运行时CPU数并受cpuset/有限小数配额约束,首次/重置/身份改变为null。RAM仅同组usage配有限limit;无限/缺limit保留已用字节但total/percent=null,不借host MemTotal补齐。
|
|
43
|
+
- 磁盘排序/截断前排文件bind及伪文件系统,保留真实目录bind/overlay根但scope仍container;不是宿主所有物理盘。普通身份CPU仍按API进程/service口径,不能据它推导host数据。
|
|
41
44
|
- Windows后台使用固定OS API/DriveInfo采集,不接收客户端盘符;API所在盘不等于资料盘。可信主租户管理员经既有原子读Mongo样本,普通身份保持service/container范围,缓存与宿主隔离;首次CPU无有效时间窗不补0。Linux继续遵守既有容器与宿主可见性边界。
|
|
42
45
|
- 兼容provider的每API/resource15秒single-flight仍保留,不替代新的独立硬件后台泵。调用者取消只停止自己的等待,挂起采集未排空不并发重试。业务缓存必须含tenant和本人/管理员scope,权限每请求重新核验,不能缓存授权结论。
|
|
43
46
|
- 固定原生统计按tenant、owner或DB管理员、runtime type/network及两个真实native worker过滤,不读任务参数/输出/日志。native Pending/Running只是调度状态。
|
|
44
47
|
- 可选AI插件只读现有受信服务器配置的固定GET /queue;拒重定向、超限与坏JSON,只返回Comfy running/pending数量,不返prompt/Endpoint。跨API的分布式单采仍待实测,不能宣称已验。
|
|
45
48
|
- 宿主可选采集器无公网端口/业务凭据/Docker socket;固定proc文件、经设备核验的两个空目录探针、NVML、独占卷原子快照。API只读挂载。新增安装须独立审镜像digest/UID/GID/路径/设备;镜像更新不自动加权限。
|
|
46
49
|
|
|
50
|
+
## 连接与采样排错
|
|
51
|
+
|
|
52
|
+
先核同一API/OsClient/正常会话的Bootstrap及Snapshot,分别保留Code、白名单Reason、来源scope与时间戳。Bootstrap Code1不证明Snapshot成功,Snapshot Code1也不保证每个metric有值;同版租户不能武断归为同一根因。
|
|
53
|
+
|
|
54
|
+
- 404先核固定引擎安装/路由;401/403核当前真实会话/权限;均不自动扩权或写入资源。
|
|
55
|
+
- Snapshot的StatusCollectorUnavailable映射安全提示“采样数据暂不可用,请检查后台采样及存储”,不回显自由Msg/栈。核API采样注册、固定主租户Mongo连通/认证/权限,不能误查子租户业务库;Memory.MongoDB的ServerStatus/DBStats及Evidence.SharedStorage错误是线索,不是单凭UI断言Mongo根因。
|
|
56
|
+
- null/unavailable为单项暂无采样;HTTP/WS通道、Mongo存储及宿主可见性分别验,未知不补0。仅明确Supported=false/白名单Unsupported提示需升级,其它坏协议仍为响应异常。Mongo故障不能回退现场采样假成功。
|
|
57
|
+
- 新修复的浏览器/容器回归、原已发行11、目标实际部署分别记证;通用MCP查询、私有源码同步或文档嵌入不等于运行时升级。
|
|
58
|
+
|
|
47
59
|
## 宁展示例与验收
|
|
48
60
|
|
|
49
61
|
独立`nz-framework-status-provider`仅按真实Owner范围/当前DB管理员统计,排除明确验收SeedBatch;成功需原生任务和输出记录。计数是业务任务,不冒充作品/输出文件/客户验收/收入。终态成功率注明全部时间,分母零为null;用户全量数仅管理员。租户Hook只能登记固定受保护provider,不能由前端提交EngineKey。
|
|
@@ -131,7 +131,7 @@ AI 通过 MCP 修改 `diy_field`、`diy_table`、`sys_menu`、`sys_osclients`、
|
|
|
131
131
|
3. 最终交付说明必须写清楚:改了哪个表/字段,回读值是什么,刷新了哪些缓存,验证入口是什么。若某个缓存刷新接口失败或只能部分成功,需要把失败消息原样摘要出来,不能把“写入成功”当作“页面一定生效”。
|
|
132
132
|
|
|
133
133
|
<!-- /microi-progressive:chunk -->
|
|
134
|
-
<!-- microi-progressive:chunk id=workspace-conventions-031 sha256=
|
|
134
|
+
<!-- microi-progressive:chunk id=workspace-conventions-031 sha256=c1bfdcc795d7b5db86fc7d631ca72b30bc678acb088e4b58920f056c3a13391a -->
|
|
135
135
|
## MCP 可用性排查约定
|
|
136
136
|
|
|
137
137
|
VS Code、Cursor 或 Codex 设置界面显示某个 MCP 服务器“已启用”,不代表当前 AI 会话一定已经成功加载了对应工具。AI 在声称“可以通过 MCP 操作”之前,必须完成一次真实可调用性验证:
|
|
@@ -139,6 +139,7 @@ VS Code、Cursor 或 Codex 设置界面显示某个 MCP 服务器“已启用”
|
|
|
139
139
|
- 先用当前会话可用的工具发现能力查找目标原始 MCP 工具及 `microi_codex` 单入口;单入口存在时先用 `profiles/list_tools/describe_tool`,不能因未展开全部 `microi_*` 就认定没有工具。发现为 0 时不能假设原生 MCP 可用,但仍可按下方官方 CLI 通道验证。
|
|
140
140
|
- 再用 MCP 资源/模板列表或最小 `initialize` / `tools/list` 探测确认服务器握手成功。若返回 `handshaking with MCP server failed`、`initialize response`、`connection closed` 等错误,要明确说明“配置存在但当前会话不可调用”。
|
|
141
141
|
- 按实际宿主检查配置是否能解析,例如 `.vscode/mcp.json`、`.cursor/mcp.json`、`.mcp.json`、`.workbuddy/mcp.json`、`~/.workbuddy/mcp.json` 或 `~/.codex/config.toml`,确认目标服务器名和连接引用;不要把其它宿主的配置缺失当作当前宿主故障,也不输出秘密。
|
|
142
|
+
- WorkBuddy 按 [原生注册与验收](../../microi-codex-installer/SKILL.md#workbuddy-原生注册与验收) 显式指定 `--host workbuddy --profile <mcpName> --workspace "<工作区>"` 初始化和诊断;5.9.3 原生入口读取用户配置根的 `mcp.json`,应用内部 `runtimeContext.configDir` 可能与终端默认目录不同,以应用 UI/日志实际路径为准。项目文件存在及 `mcp-tool-list.json` 缓存均不能证明原生已注册。配置、CLI 握手、原生信任/禁用和对话注入分开验收,不改宿主审批;编码修复只允许上节限定的单一精确归属连接。
|
|
142
143
|
- 如果手动启动 `mcp-server.js` 能响应,而当前 AI 会话仍握手失败,应优先怀疑 MCP stdio 协议兼容、初始化响应格式/大小、服务器进程提前退出或插件生成的 Codex 配置顺序问题,而不是简单归因于“用户没启用”。
|
|
143
144
|
- 当 MCP 工具数量较多时,`tools/list` 的前段必须优先返回通用建模和维护工具,例如 `microi_get_db_schema`、`microi_get_field_list`、`microi_add_field`、`microi_update_field`、`microi_refresh_schema_cache`、`microi_create_table`、`microi_create_module`、`microi_get_event_code`、`microi_save_event_code`。部分 AI 客户端或模型上下文只注入前若干个工具,若核心工具排在后面,会误报“缺少 MCP 工具”。
|
|
144
145
|
- MCP 的初始化说明必须使用真实 `MICROI_OS_CLIENT` 作为租户边界。中文显示名通过 ASCII 的 `MICROI_LABEL_BASE64` 传输并在 MCP 内解码,旧版 `MICROI_LABEL` 只作兼容;显示名不能当成租户 Key 写入“只能管理某租户”的安全提示。
|
|
@@ -205,16 +206,16 @@ AI 只要修改了 `Microi.Server/**` 下会影响 `Microi.net.Api` 运行结果
|
|
|
205
206
|
这条规则优先于“避免打断正在运行服务”的默认谨慎策略;本地开发联调场景下,用户通常需要 launch profile 当前端口上的后端加载最新代码。
|
|
206
207
|
|
|
207
208
|
<!-- /microi-progressive:chunk -->
|
|
208
|
-
<!-- microi-progressive:chunk id=workspace-conventions-036 sha256=
|
|
209
|
+
<!-- microi-progressive:chunk id=workspace-conventions-036 sha256=ca024e69cd5385ac137b3324a69dc00e1f31cc16d9745fc3d7938cef4d1a3f3a -->
|
|
209
210
|
## MCP 可调用性诊断补充
|
|
210
211
|
|
|
211
212
|
当用户反馈“Codex/WorkBuddy/VS Code 设置中能看到 MCP,但当前 AI 会话不能调用对应工具”时,不能只回答“当前会话没有注入”。必须按层排查:
|
|
212
213
|
|
|
213
|
-
1.
|
|
214
|
+
1. 先核对实际宿主及其配置,而非只凭模型自述。WorkBuddy 执行 `microi ai init --host workbuddy --profile <mcpName> --workspace "<工作区>" --json` 和同参数 `doctor`;按已核对的5.9.3原生用户配置路径回读,不能只检查项目文件。Codex 使用 `~/.codex/config.toml`。连接保持用户选定的 API、OsClient、Type、Network;不要求安装无关宿主。
|
|
214
215
|
2. 用 Microi.Agent 插件的“诊断 MCP 可调用性”命令,或官方 `microi mcp tools --profile <mcpName> --workspace "<工作区>" --json` 进行真实握手和目录读取,确认核心工具及其 Schema;工具总数不能硬编码,也不能从配置文件存在推断成功。
|
|
215
216
|
3. 如果当前 AI 客户端支持工具发现或延迟加载,AI 必须先主动执行工具发现/热加载流程,例如 `tool_search`、客户端 MCP refresh、Microi.Agent 的启动/诊断命令;不要先让用户手动重启、重载或重新生成 MCP。
|
|
216
217
|
4. 同时发现 `microi_codex` 单入口;存在时通过 `profiles/list_tools/describe_tool` 使用。原生入口仍不可用且宿主允许终端执行时,按 [官方 CLI 通道](../../microi-codex-installer/SKILL.md#当前对话没有吾码工具时继续工作) 运行 `microi mcp call <microi_tool> --params-stdin --profile <mcpName> --workspace "<工作区>" --json`,先调用 `microi_get_status` 核对身份再继续任务。使用包内同源标准 stdio MCP,不让 AI 临时实现桥接,也不绕过确认、权限和回读。
|
|
217
|
-
5.
|
|
218
|
+
5. 只有宿主明确要求的信任/启用操作、终端不可用、官方通道失败或授权边界无法确认时,才提出最小用户操作。明确禁用或策略拒绝不使用替代通道绕过,CLI 不写宿主审批。说明配置生成、CLI stdio 握手、原生列表及信任/禁用、当前对话注入各自证据;不能把“当前未发现工具”解释为已证实“不支持热加载”,也不把新开对话或重复口头确认作为默认前置条件。
|
|
218
219
|
6. 如果握手失败,要把失败层级说清楚:配置文件解析失败、路径不存在、token 文件缺失、MCP 进程启动失败、`initialize` 失败、`tools/list` 缺核心工具,不能把这些问题混成“用户没启用 MCP”。
|
|
219
220
|
7. Microi.Agent 生成 MCP 配置时应清理旧的中文/横杠 Microi MCP key,只保留 `microi_<osClient>` 或 `microi_<osClient>_<host>` 形式,避免不同 AI 客户端因 namespace 不稳定而无法注入工具。
|
|
220
221
|
|