!!! abstract 🌈 本地部署 ChatGPT 系统(支持 MCP 工具调用 & 本地知识库 & Token 计费) !!!
前端基于 Vue,后端基于 Java Spring Boot,支持与 OpenAI API 或本地大语言模型(LLM)交互,具备以下特点:
- 支持 多模态对话(文本、图片、音频、文件)。
- 支持 本地知识库(用户可上传文档并参与问答)。
- 支持 本地 MCP 工具调用(集成模型工具扩展能力)。
- 支持 会话管理、LLM 配置、Token 计费统计。
- 完全本地运行,保证数据隐私。
Java 本地部署 + MCP 直连 + Vue 前端
┌────────────────────────────────────────────────────────┐
│ 用户本地环境 │
└────────────────────────────────────────────────────────┘
┌───────────────┐
│ Vue 前端 (UI) │
│ - 聊天界面 │
│ - 工具结果卡 │
│ - 知识库管理 │
└───────┬───────┘
│ HTTP / WebSocket
▼
┌───────────────────────────────────────────────────────┐
│ Java 本地服务 (Spring Boot) │
│-------------------------------------------------------│
│ ① API 层 │
│ - 接收前端消息 │
│ - SSE/WebSocket 流式推送 │
│ │
│ ② 会话管理模块 │
│ - 用户消息记录(SQLite / H2 / MySQL 本地库) │
│ - 会话历史存储与检索 │
│ │
│ ③ 知识库管理模块 │
│ - 文档上传/解析(PDF, TXT, DOCX) │
│ - 分词 & 向量化(本地 embedding 模型 / 调 OpenAI Embedding API)
│ - 向量存储(SQLite+pgvector / Milvus / Chroma) │
│ - 相似度检索 │
│ │
│ ④ LLM 连接模块 │
│ - 调用 OpenAI Responses API │
│ - 注册本地 MCP 工具(Remote MCP) │
│ │
│ ⑤ MCP Client 模块 │
│ - 直连本地 MCP Server(WebSocket / Unix Socket) │
│ - 执行模型工具调用 │
└─────────────────┬──────────────────────────────────────┘
│
│ WebSocket / Unix Socket / Named Pipe
▼
┌─────────────────────────┐
│ 本地 MCP Server │
│ - 用户已安装的工具 │
│ - 或你提供的工具集 │
└─────────────────────────┘
│
│ 工具执行(如搜索、读取文件、调用API等)
▼
┌─────────────────────────┐
│ 工具实际执行环境 │
└─────────────────────────┘
关键功能模块说明
后台
用户会话管理
会话记录(问题、回复、调用工具记录) 会话检索(按时间 / 关键字 / 工具类型) 导出聊天记录(JSON / Markdown / PDF)
本地知识库
文档存储(本地文件系统 / SQLite / MySQL) 向量化处理(embedding 生成) 索引管理(如 FAISS / Milvus) 文档更新同步
MCP 工具调用
MCP 连接管理(启动 / 停止 / 重连) 工具注册 / 注销 工具元数据管理(名称、描述、输入输出结构) 工具调用日志与异常追踪
用户 LLM 服务管理 & 配置
支持多家厂商(OpenAI、Azure OpenAI、本地模型) 模型版本 & 参数配置 API Key 存储加密 LLM 可用性健康检查
Token 计费
Token 消耗统计(按会话 / 按用户) 消费趋势图表 计费规则配置(单价、免费额度) 导出账单报表(CSV / Excel)
前台
聊天页面
多模态会话框(文本、图片、音频、文件) 会话列表管理(切换历史会话) 流式输出(模型逐字输出) 工具调用结果卡片展示(搜索结果、文件内容、API结果等) 知识库关联开关(决定是否使用本地知识库增强) 模型切换(不同 LLM / 模型版本) 消息重试 / 修改后重发
管理配置页面
知识库管理
- 知识库列表
- 文档上传 / 删除
- 分词与索引状态显示
- 同步状态 & 错误日志
本地 MCP 配置
- 已连接的 MCP 工具列表
- 新增/删除 MCP 工具
- MCP 连接状态监控
用户 LLM 配置
- API Key 管理
- 模型参数配置(温度、最大 tokens 等)
- 模型可用性检测