feat/mcp-plugin-host
main
完成第二阶段阶段 C 的 stdio MCP Bridge 与 Plugin Host,使 Agent Core 可以通过统一的 Tool Registry 调用 MCP Server 提供的工具。
tools/list
tools/call
null
tool_call_id
GET /api/plugins/{plugin_id}/host POST /api/plugins/{plugin_id}/host/restart
同时将以下可能阻塞的 Plugin 操作移入工作线程:
POST /api/plugins/{plugin_id}/enable POST /api/plugins/{plugin_id}/disable PUT /api/plugins/{plugin_id}/permissions DELETE /api/plugins/{plugin_id}
uvx --isolated --from
uvx
APP_ENVIRONMENT=development
403 MCP_TRUST_APPROVAL_REQUIRED
后续面向社区插件前仍需补充 Tauri/Rust 沙箱、完整命令确认、包签名和来源校验。
新增或完善以下测试:
验证结果:
Backend: 92 passed Frontend: 27 passed TypeScript type-check: passed Frontend production build: passed Python compileall: passed git diff --check: passed
前端构建仍存在已有的大文件分块警告,不影响本次功能正确性。
已基于最新 main 生成合并树并完成复审,无代码冲突及阻断性问题,建议合并。
No dependencies set.
The note is not visible to the blocked user.
PR Note
变更概述
完成第二阶段阶段 C 的 stdio MCP Bridge 与 Plugin Host,使 Agent Core 可以通过统一的 Tool Registry 调用 MCP Server 提供的工具。
主要内容
tools/list并注册命名空间 Tool。tools/call、业务错误转换、超时与取消。null,不再把缺失的可选参数自动补成null。tool_call_id,用于 MCP 请求关联与取消。新增接口
同时将以下可能阻塞的 Plugin 操作移入工作线程:
安全边界
uvx --isolated --from。uvx仅提供依赖隔离,不视为操作系统安全沙箱。APP_ENVIRONMENT=development下运行。后续面向社区插件前仍需补充 Tauri/Rust 沙箱、完整命令确认、包签名和来源校验。
测试覆盖
新增或完善以下测试:
null验证结果:
前端构建仍存在已有的大文件分块警告,不影响本次功能正确性。
文档更新
合并结论
已基于最新
main生成合并树并完成复审,无代码冲突及阻断性问题,建议合并。