Files
map-client-vue/CHANGELOG.md
douboer 50e3bb1d59 docs: 更新 v1.0.2 版本文档
- 更新 CHANGELOG.md 添加 v1.0.2 工具调用功能说明
- 更新 release.md 添加完整的 v1.0.2 发布说明
- 创建 VERSION.md 版本信息文档
- 更新 package.json 版本号到 1.0.2
- 更新 web/package.json 版本号到 1.0.2

主要特性:
- MCP 工具调用集成
- OpenAI Function Calling 支持
- 流式工具执行体验
- 多轮对话支持(AI → Tool → AI)
2025-10-14 21:59:41 +08:00

6.3 KiB
Raw Blame History

更新日志 (CHANGELOG)

本文档记录 MCP Client Vue 的所有重要更改。

[v1.0.2] - 2025-10-14

🎯 重大功能MCP 工具调用集成

本版本实现了完整的 MCP 工具调用功能AI 可以智能调用 MCP 服务器提供的工具并整合结果。

新增功能

智能工具调用

  • AI 自动识别何时需要调用工具
  • 支持 OpenAI Function Calling 协议
  • 兼容多个 AI 服务商OpenAI、火山引擎、阿里云等
  • 完整的多轮对话支持AI → Tool → AI
  • 实时显示工具调用进度和状态

流式工具执行

  • 流式体验不中断
  • 友好的状态提示(🔧 调用中、 完成、 失败、🤖 生成回复)
  • 工具格式自动转换MCP → OpenAI Function 格式)

🛠️ 技术实现

服务层增强

  • MCPClientService.getTools() - 获取工具列表
  • chatService.convertToolsToOpenAIFormat() - 格式转换
  • chatService.executeToolCalls() - 工具执行逻辑
  • modelServiceManager.sendChatRequestStream() - 工具参数支持

流式解析改进

  • SSE 流中检测和收集 tool_calls
  • 正确拼接多个流片段的工具调用数据
  • 支持完整的 OpenAI 工具调用消息格式

🐛 Bug 修复

  • 修复 MCPClientService 类型导入问题
  • 修复 types.ts 和 types/index.ts 路径冲突
  • 修复 modelServiceManager 返回类型
  • 修复未使用变量警告

📦 使用方式

  1. 在"模型服务"中添加支持函数调用的 AI 服务
  2. 在"MCP 设置"中添加并连接工具服务器
  3. 在对话界面选择模型和 MCP 服务器
  4. 发送消息AI 会自动调用相关工具并整合结果

[v1.0.1] - 2025-10-14

🎉 主要改进基于v1.0.0的深度优化)

🎉 新增功能

服务器管理

  • 完善的服务器配置表单名称、URL、类型、描述、环境变量
  • 服务器详情编辑功能(支持工具、提示、资源配置)
  • 连接测试功能支持HTTP和SSE两种传输类型
  • 自动重连功能(页面刷新后自动恢复连接状态)
  • 实时连接状态显示

传输协议支持

  • HTTP传输模式使用 /mcp 端点)
  • SSE传输模式使用 /sse 端点)
  • 自动URL转换0.0.0.0127.0.0.1localhost

UI/UX改进

  • 编辑按钮正常工作,打开服务器详情模态框
  • 服务器详情页面正确显示(修复空白页问题)
  • 表单数据正确填充(深度监听对象变化)
  • 模态框样式优化90vw宽度最大1200px最大高度90vh

🐛 Bug修复

连接问题

  • 修复HTTP服务器406错误缺少Accept头
  • 修复SSE服务器404错误POST请求错误路径
  • 修复页面刷新后服务器显示未连接的问题
  • 修复浏览器无法访问0.0.0.0地址的问题

UI问题

  • 修复编辑按钮点击无响应
  • 修复模态框显示空白页面组件高度100%问题)
  • 修复表单字段不填充数据watch监听器问题

构建问题

  • 升级vue-tsc1.8.25 → 2.0.6
  • 升级TypeScript5.2.2 → 5.3.3
  • 添加build:skip-check脚本用于开发构建

🔧 技术改进

MCPClientService.ts

  • HTTP客户端自动添加/mcp路径
  • 所有HTTP请求包含正确的Accept头application/json, text/event-stream
  • URL标准化处理移除末尾斜杠、转换地址
  • 改进的错误处理和日志输出

MCPSettings.vue

  • 根据服务器类型使用不同的测试方法
    • SSEGET请求测试连接
    • HTTPPOST请求测试MCP初始化
  • 添加自动重连功能onMounted钩子
  • 改进的模态框结构使用n-card包装

MCPServerDetail.vue

  • 组件高度改为min-height: 500px
  • watch监听器添加deep: true选项
  • 改进的updateFormData函数详细日志、错误处理
  • 表单数据验证和初始化

newServer.ts (Pinia Store)

  • 实现autoReconnect功能
    • 读取localStorage中原始连接状态
    • 并行重连所有之前已连接的服务器
    • Promise.allSettled容错处理
  • loadServers改进正确处理连接状态

📝 代码优化

日志改进

  • 🔍 添加emoji前缀日志🔄🔍📡
  • 📊 详细的步骤日志6步打开详情、4步更新表单
  • 🐛 错误追踪和调试信息

类型安全

  • 改进的TypeScript类型定义
  • 更好的类型推断和检查

📚 文档更新

新增文档

  • 📄 CHANGELOG.md - 版本更新日志(本文件)
  • 📄 VERSION_1.3.5_GUIDE.md - 版本1.3.5使用指南
  • 📄 FIX_REPORT.md - 修复报告
  • 📄 AUTO_RECONNECT_GUIDE.md - 自动重连功能文档

已有文档

  • 📄 debug-ui.md - UI调试指南
  • 📄 TYPESCRIPT_FIXES.md - TypeScript错误修复
  • 📄 MODAL_FIX_GUIDE.md - 模态框修复指南
  • 📄 BLANK_PAGE_FIX.md - 空白页问题修复

🎯 配置要求

HTTP服务器配置

类型: http
URL示例:
  - http://localhost:3100
  - http://localhost:3100/mcp
  
说明: 代码会自动添加/mcp路径

SSE服务器配置

类型: sse
URL示例:
  - http://localhost:3200/sse
  
说明: 必须包含/sse路径

⚙️ 开发环境

  • Node.js: 22.19.0
  • Vue: 3.4.15
  • Vite: 7.1.9 (开发) / 5.4.20 (构建)
  • TypeScript: 5.3.3
  • vue-tsc: 2.0.6
  • Naive UI: 2.43.1

🔄 迁移指南

从旧版本升级到1.3.5

  1. 更新依赖

    cd web
    npm install
    
  2. 检查服务器配置

    • HTTP服务器确保URL格式正确
    • SSE服务器URL必须包含/sse路径
  3. 清除浏览器缓存

    • 清除localStorage
    • 刷新页面
  4. 重新配置服务器

    • 如果遇到连接问题,删除旧配置重新添加

🐛 已知问题

  • TypeScript类型错误47个错误不影响功能
    • App.vue: 15个错误
    • ServerCard.vue: 3个错误
    • ToolForm.vue: 23个错误
    • MCPClientService.ts: 4个错误
    • 计划在下个版本修复

🙏 致谢

感谢所有测试和反馈的用户!


[1.0.0] - 2025-10-12

初始版本

  • 基础MCP客户端功能
  • Vue 3 + TypeScript + Naive UI
  • HTTP和SSE传输支持
  • 基本的服务器管理功能