MCP聊天桌面应用程序
LLM的跨平台接口
此桌面应用程序利用MCP(模型上下文协议)与各种大型语言模型(LLM)无缝连接和交互。该应用程序基于Electron构建,可确保完全的跨平台兼容性,实现跨不同操作系统的平稳运行。
这个项目的主要目标是提供一个干净、简洁的代码库,简化对MCP核心原则的理解。此外,它还提供了一种快速有效的方法来测试多个服务器和LLM,使其成为开发人员和研究人员的理想工具。
新闻
该项目起源于Chat UI的修改版本,最初采用极简主义代码方法来实现核心MCP功能,用于教育目的。
通过对MCP的迭代更新,我收到了社区的反馈,他们提倡一种全新的架构——一种消除第三方CDN依赖性并建立更清晰的模块化结构的架构,以更好地支持衍生开发和调试工作流程。
这导致了 工具统一用户界面,一个经过重组的桌面应用程序,针对人工智能驱动的开发进行了优化。基于最初的基础,TUUI是一种实用的人工智能辅助开发范式,如果你感兴趣,你还可以利用人工智能为TUUI开发新功能。该平台采用严格的linting和格式化系统,以确保AI生成的代码符合编码标准。
📢 更新:2025年6月\ 当前的项目重构已基本完成,预发布版本现已可用。请参阅以下文档了解详细信息: - - TUUI架构 - 途易官方网站
特性
- 跨平台兼容性:支持Linux、macOS和Windows。
- 灵活的Apache-2.0许可证:允许轻松修改和构建自己的桌面应用程序。
- 动态LLM配置:兼容所有OpenAI SDK支持的LLM,通过手动或预设配置快速测试多个后端。
- 多客户端管理:使用MCP配置配置和管理多个客户端以连接到多个服务器。
- UI适应性:UI可以直接提取以供web使用,确保跨web和桌面版本的一致生态系统和交互逻辑。
建筑
采用与MCP文档一致的简单架构,通过以下方式促进对MCP原理的清晰理解:
如何使用
克隆或下载此存储库后:
- 请修改
config.json文件位于 src/main.\
确保 command 和 path 在...中指定 args 是有效的。
- 请确保 已安装在您的系统上。\
您可以通过运行以下命令来验证这一点 node -v 和 npm -v 在您的终端中检查它们各自的版本。
npm install
npm start
配置
创建一个 .json 文件并将以下内容粘贴到其中。然后可以将此文件作为聊天UI的界面配置提供。
gtp-api.json
{
"chatbotStore": {
"apiKey": "",
"url": "https://api.aiql.com",
"path": "/v1/chat/completions",
"model": "gpt-4o-mini",
"max_tokens_value": "",
"mcp": true
},
"defaultChoiceStore": {
"model": [
"gpt-4o-mini",
"gpt-4o",
"gpt-4",
"gpt-4-turbo"
]
}
}如果您可以直接访问OpenAI API,则可以替换“url”。
或者,您也可以使用另一个支持函数调用的API端点:
qwen-api.json
{
"chatbotStore": {
"apiKey": "",
"url": "https://dashscope.aliyuncs.com/compatible-mode",
"path": "/v1/chat/completions",
"model": "qwen-turbo",
"max_tokens_value": "",
"mcp": true
},
"defaultChoiceStore": {
"model": [
"qwen-turbo",
"qwen-plus",
"qwen-max"
]
}
}deepinfra.json
{
"chatbotStore": {
"apiKey": "",
"url": "https://api.deepinfra.com",
"path": "/v1/openai/chat/completions",
"model": "meta-llama/Meta-Llama-3.1-70B-Instruct",
"max_tokens_value": "32000",
"mcp": true
},
"defaultChoiceStore": {
"model": [
"meta-llama/Meta-Llama-3.1-70B-Instruct",
"meta-llama/Meta-Llama-3.1-405B-Instruct",
"meta-llama/Meta-Llama-3.1-8B-Instruct"
]
}
}构建应用程序
您可以通过以下方式构建自己的桌面应用程序:
npm run build-app此CLI可帮助您为当前操作系统构建和打包应用程序,工件存储在/artifacts目录中。
对于遇到RPM构建问题的Debian/Ubuntu用户,请尝试以下解决方案之一:
- 编辑
package.json跳过RPM构建步骤。或
- 安装
rpm使用sudo apt-get install rpm(你可能需要跑步sudo apt update确保您的包裹列表是最新的)
故障排除
错误:生成npx ENOENT- 问题40
修改 config.json 在 src/main
在windows上,npx可能无法工作,请参考我的解决方法: 问题101
- 或者你可以使用
node在config.json中:
{
"mcpServers": {
"filesystem": {
"command": "node",
"args": [
"node_modules/@modelcontextprotocol/server-filesystem/dist/index.js",
"D:/Github/mcp-test"
]
}
}
}请确保提供的路径有效,特别是如果您使用的是相对路径。强烈建议提供绝对路径,以获得更好的清晰度和准确性。
默认情况下,我将安装 server-everything, server-filesystem,以及 server-puppeteer 用于测试目的。但是,您可以安装其他服务器库或使用 npx 根据需要使用其他服务器库。
安装超时
一般来说,执行后 npm install 对于整个项目 node_modules 目录通常超过500MB。
如果安装过程停滞在300MB以下,进度条保持静止,则很可能是由于安装后一部分(特别是Electron)时超时。
这个问题经常出现,因为Electron默认服务器的下载速度太慢,甚至在某些地区无法访问。要解决这个问题,您可以修改环境或全局变量 ELECTRON_MIRROR 切换到可从您所在位置访问的Electron镜像站点。
电子生成器超时
当使用电子构建器打包文件时,它会自动从GitHub下载几个大型发布包。如果网络连接不稳定,此过程可能会中断或超时。
在Windows上,您可能需要清除位于 electron 和 electron-builder 目录内 C:\Users\YOURUSERNAME\AppData\Local 在尝试重试之前。
由于潜在的终端权限问题,建议使用默认的shell终端,而不是VSCode的内置终端。
演示
多模式支持

推理和乳胶支持

MCP工具可视化

MCP工具调用流程概述

MCP提示模板

动态LLM配置

DevTool故障排除

