使用说明
MCP聊天桌面应用程序
LLM的跨平台接口
此桌面应用程序利用MCP(模型上下文协议)与各种大型语言模型(LLM)无缝连接和交互。该应用程序基于Electron构建,可确保完全的跨平台兼容性,实现跨不同操作系统的平稳运行。
这个项目的主要目标是提供一个干净、简洁的代码库,简化对MCP核心原则的理解。此外,它还提供了一种快速有效的方法来测试多个服务器和LLM,使其成为开发人员和研究人员的理想工具。
新闻
该项目起源于Chat UI的修改版本,最初采用极简主义代码方法来实现核心MCP功能,用于教育目的。
通过对MCP的迭代更新,我收到了社区的反馈,他们提倡一种全新的架构——一种消除第三方CDN依赖性并建立更清晰的模块化结构的架构,以更好地支持衍生开发和调试工作流程。
这导致了 工具统一用户界面,一个经过重组的桌面应用程序,针对人工智能驱动的开发进行了优化。基于最初的基础,TUUI是一种实用的人工智能辅助开发范式,如果你感兴趣,你还可以利用人工智能为TUUI开发新功能。该平台采用严格的linting和格式化系统,以确保AI生成的代码符合编码标准。
📢 更新:2025年6月
当前的项目重构已基本完成,预发布版本现已可用。请参阅以下文档了解详细信息:
特性
-
跨平台兼容性:支持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.js 已安装在您的系统上。
您可以通过运行以下命令来验证这一点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的内置终端。
