DIFF-140:AI receipt 路径、预览 JSON 与 MCP 状态比对
对照 Electron aiIntegrationService.ts(${client}.json receipt、getStatus 幂等 manageServer)。
范围
- Receipt 文件改为
ai-integration/{codex|claude-code|cursor}.json(此前缺少.json后缀)。 jsonConfiguration使用AiClientConfigMerge.mergeJson,修复Map<String, Any>序列化崩溃。serverEquals/mergeJson对 Claude JSON MCP 以toMap()语义比对;JsonNode经claudeLaunchFromMap解析。mergeJson幂等分支优先serverEquals,避免getStatus误报 Conflict。- 单测:
AiIntegrationServiceTest(MCP 安装/卸载闭环)、JsonEngineTest转义往返、AiClientConfigMergeTest外部篡改拒绝。
仍与 Electron 差距
- 真实 Codex/Claude/Cursor 客户端端到端安装未手工验收;打包
--mcp路径见 P7。
文件
AiIntegrationService.kt、AiClientConfigMerge.ktAiIntegrationServiceTest.kt、AiClientConfigMergeTest.kt、JsonEngineTest.kt