LLM桌面交互应用

基于MCP协议的多平台大型语言模型桌面交互工具,支持跨平台运行、多客户端管理和动态LLM配置,适用于开发者和研究人员。

  • by cunjif
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 cunjif/cuiguo-light-worker

使用说明

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原理的清晰理解:

DeepWiki

如何使用

克隆或下载此存储库后:

  1. 请修改 config.json 文件位于 src/main.
    确保 command 和 path 在...中指定 args 是有效的。

  2. 请确保 Node.js 已安装在您的系统上。
    您可以通过运行以下命令来验证这一点 node -v 和 npm -v 在您的终端中检查它们各自的版本。

  3. npm install

  4. 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故障排除