-
v1.0.2 Stable
released this | 7 commits to main since this release
发布时间: 2025-10-14
重大功能:MCP 工具调用集成
本版本实现了完整的 MCP 工具调用功能,AI 可以智能调用 MCP 服务器提供的工具并整合结果。
✨ 核心功能
** 智能工具调用**
- AI 自动识别何时需要调用工具
- 支持 OpenAI Function Calling 协议
- 兼容多个 AI 服务商(OpenAI、火山引擎、阿里云等)
- 完整的多轮对话支持(AI → Tool → AI)
** 流式工具执行**
- 实时显示工具调用进度
- 流式体验不中断
- 友好的状态提示:
- 正在调用工具: [工具名]...
- ✅ 工具执行完成
- ❌ 工具执行失败: [错误信息]
- 正在生成回复...
** 工具格式转换**
- MCP 工具 → OpenAI Function 格式
- 自动提取 inputSchema 作为 parameters
- 支持完整的 JSON Schema 定义
️ 技术实现
服务层改进
MCPClientService.getTools()- 获取工具列表chatService.convertToolsToOpenAIFormat()- 格式转换chatService.executeToolCalls()- 工具执行逻辑modelServiceManager.sendChatRequestStream()- 增强工具参数支持
流式解析增强
- SSE 流中检测
tool_calls - 累积多个流片段中的工具调用数据
- 正确拼接
function.argumentsJSON 字符串 - 返回完整的工具调用数组
消息格式支持
// 工具调用消息 { role: 'assistant', content: '', tool_calls: [{ id: '...', type: 'function', function: { name: '...', arguments: '{}' } }] } // 工具结果消息 { tool_call_id: '...', role: 'tool', name: 'tool_name', content: '{...}' }使用方式
- 配置 AI 服务 - 在"模型服务"中添加支持函数调用的 AI
- 连接 MCP 服务器 - 在"MCP 设置"中添加工具服务器
- 选择模型和 MCP - 在对话界面选择
- 开始对话 - AI 会自动调用相关工具
使用示例
用户: "查询今天北京的天气" 系统: 正在调用工具: get_weather... ✅ 工具执行完成 正在生成回复... AI: "根据天气数据,今天北京晴天,温度 15-25°C, 空气质量良好,适合户外活动。"Bug 修复
- ✅ 修复 MCPClientService 类型导入问题
- ✅ 修复 types.ts 和 types/index.ts 路径冲突
- ✅ 修复 modelServiceManager 返回类型
- ✅ 修复未使用变量警告
技术细节
修改的文件
/web/src/services/chatService.ts- 工具调用主逻辑/web/src/services/modelServiceManager.ts- 工具参数支持/web/src/services/MCPClientService.ts- 工具列表获取
新增方法
MCPClientService.getTools(serverId)- 获取服务器工具chatService.convertToolsToOpenAIFormat()- 格式转换chatService.executeToolCalls()- 执行工具调用
改进方法
modelServiceManager.sendChatRequestStream()- 支持 tools 参数modelServiceManager.makeChatRequestStream()- 检测和收集 tool_calls
设计亮点
- 无缝集成 - 不改变现有对话流程
- 错误恢复 - 工具调用失败不影响对话继续
- 类型安全 - 完整的 TypeScript 类型定义
- 性能优化 - 流式处理保持响应速度
- 用户友好 - 清晰的进度提示
⚙️ 配置要求
AI 服务要求
- 支持 OpenAI Function Calling 格式
- 推荐:OpenAI GPT-3.5+, GPT-4+
- 兼容:火山引擎、阿里云等 OpenAI 兼容服务
MCP 服务器要求
- 实现
tools/list接口 - 实现
tools/call接口 - 提供标准的 inputSchema (JSON Schema)
相关文档
升级指南
# 拉取最新代码 git pull origin main # 安装依赖(如有更新) cd web && npm install # 启动开发服务器 npm run dev下一步计划
- 工具调用历史记录
- 工具执行超时控制
- 批量工具调用优化
- 工具调用权限管理
- 工具调用性能监控
v1.0.2 - AI + MCP 工具调用,让对话更智能!
Downloads