返回市场
聊天服务器

聊天服务器

作者:daodao972124 星标更新:2025-09-15

项目介绍

<div align="center"> <img src="./assets/logo.png" alt="logo" width="120" height="120"> <h1>chatmcp</h1>

跨平台 Macos | Windows | Linux | iOS | Android | Web AI聊天客户端

English | 简体中文 | Türkçe

</div>

安装

macOSWindowsLinuxiOSAndroidWeb
ReleaseReleaseRelease ¹TestFlightReleaseGitHub Pages ²

¹ Linux 注意事项:

  • 请参阅以下Linux要求,了解在Ubuntu 22.04和24.04上运行AppImage/DEB所需的运行时依赖项
  • 改进体验:最新版本包括更好的暗模式支持,统一的数据存储遵循XDG Base Directory Specification,并计划优化Linux桌面环境的UI布局
  • 已测试的主要发行版:Ubuntu、Fedora、Arch Linux、openSUSE

² 注意:Web版本完全在您的浏览器中运行,并使用本地存储来保存聊天历史和设置。

文档

您还可以使用DeepWiki获取更多关于chatmcp的信息。
Ask DeepWiki DeepWiki是一个由AI驱动的平台,可以将任何公开的GitHub仓库转换成一个完全交互且易于理解的维基。通过分析代码、文档和配置文件,它创建了清晰的解释、交互式图表,甚至允许与AI进行实时问答。

预览

Artifact Display Thinking Mode Generate Image LaTeX Support HTML Preview Mermaid Diagram MCP Workflow MCP InMemory MCP Tools LLM Provider MCP Stdio MCP SSE

数据同步

ChatMCP应用程序可以在同一局域网内同步数据

Data sync

使用方法

确保您的系统已安装uvxnpx

MacOS

# uvx
brew install uv

# npx
brew install node 

Linux

# uvx
curl -LsSf https://astral.sh/uv/install.sh | sh

# npx (使用apt)
sudo apt update
sudo apt install nodejs npm

Linux 要求(Ubuntu 22.04 和 24.04)

要在Ubuntu及其衍生版本上运行ChatMCP AppImage/DEB,需要安装以下运行时包:

  • AppImage (FUSE): libfuse2
  • GTK 3: libgtk-3-0
  • 图形/EGL:
    • Ubuntu 22.04: libegl1-mesa, libgles2, libgl1-mesa-dri, libglx-mesa0
    • Ubuntu 24.04: libegl1, libgles2, libgl1-mesa-dri, libglx-mesa0
  • X11工具和SQLite: libx11-6, xdg-utils, libsqlite3-0

安装命令:

  • Ubuntu 22.04:
sudo apt install -y libfuse2 libgtk-3-0 libegl1-mesa libgles2 libgl1-mesa-dri libglx-mesa0 libx11-6 xdg-utils libsqlite3-0 libsqlite3-dev
  • Ubuntu 24.04:
sudo apt install -y libfuse2 libgtk-3-0 libegl1 libgles2 libgl1-mesa-dri libglx-mesa0 libx11-6 xdg-utils libsqlite3-0 libsqlite3-dev

可选(推荐):mesa-vulkan-drivers, mesa-utils(用于诊断如glxinfo)

  1. 在“设置”页面配置您的LLM API密钥和端点
  2. 从“MCP服务器”页面安装MCP服务器
  3. 与MCP服务器聊天
  • stdio mcp服务器

  • sse mcp服务器

数据存储

ChatMCP遵循特定于平台的最佳实践进行数据存储:

存储位置

macOS:

~/Library/Application Support/ChatMcp/

Windows:

%APPDATA%\ChatMcp\

Linux:

~/.local/share/ChatMcp/           # 如果设置了$XDG_DATA_HOME,则遵守
~/.local/share/run.daodao.chatmcp # Flutter依赖

移动设备:

  • 应用程序文档目录

文件结构

所有平台均采用统一的目录结构存储数据:

  • logs 文件夹 - 应用日志
  • chatmcp.db - 包含聊天历史和消息的主要数据库文件
  • shared_preferences.json - 应用设置和偏好
  • mcp_server.json - MCP服务器配置

重置应用数据

要完全重置应用(删除所有聊天历史、设置和配置):

macOS:

rm -rf ~/Library/Application\ Support/ChatMcp

Windows:

rd /s /q "%APPDATA%\ChatMcp"

Linux:

rm -rf ~/.local/share/ChatMcp
rm -rf ~/.local/share/run.daodao.chatmcp

开发

安装Flutter

为了开发或运行ChatMCP,您需要安装Flutter
请按照官方Flutter安装指南为您所使用的平台进行操作。

安装后,验证:

flutter --version

强制代码格式化和预提交钩子

为了保持贡献者之间一致的代码风格,此仓库强制执行每次提交时的Dart格式化。

  • 该仓库提供了一个版本化的Git钩子位于.githooks/pre-commit
  • 提交时,它会运行dart format .,重新添加更改的文件,然后执行无输出检查以确保没有未格式化的文件。
  • 格式不正确的提交将在本地被拒绝;此外,CI也会拒绝未格式化的PR。

快速设置(每个克隆一次):

make setup-git-hooks

手动设置(替代方案):

git config core.hooksPath .githooks
chmod +x .githooks/pre-commit

需求(至少需要其中一个在PATH中可用):

  • Dart SDK,或者
  • Flutter(捆绑Dart)

示例:

  • macOS/Linux(Flutter):
    export PATH="$PATH:$HOME/flutter/bin"
    which flutter && flutter --version
    which dart && dart --version
    
  • macOS/Linux(Dart SDK):
    export PATH="$PATH:$HOME/dart-sdk/bin"
    which dart && dart --version
    
  • Windows(PowerShell):将C:\\src\\flutter\\bin(或您的Flutter路径)添加到用户/系统PATH。通过以下方式验证:
    where flutter
    where dart
    

IDE提示:更改PATH后,请重启您的IDE,以便VCS操作(提交)继承更新后的环境。

CI强制执行:

  • GitHub Actions工作流check-format会在推送/PR时运行dart format --output=none --set-exit-if-changed .,如果任何文件未格式化则失败。

政策:

  • 不要绕过钩子(例如,--no-verify)。这样的更改会在CI中失败,并且必须重新格式化。

克隆并本地运行

# 克隆仓库
git clone https://github.com/daodao97/chatmcp.git
cd chatmcp

# 安装依赖
flutter pub get

# 在macOS上运行
flutter run -d macos

# 在Linux上运行(需要启用Flutter桌面支持)
flutter run -d linux

# 构建Linux发布版
flutter build linux

Web版本

本地开发

# 安装依赖
flutter pub get

# 本地运行Web版本
flutter run -d chrome
# 或指定端口
flutter run -d chrome --web-port 8080
# 或作为web服务器运行以供其他浏览器使用。
flutter run -d web-server

构建Web版本

# 构建生产版本
flutter build web

# 构建带有基础路径(用于部署到子目录)
flutter build web --base-href /chatmcp/

部署到GitHub Pages

# 1. 构建Web版本
flutter build web --base-href /chatmcp/

# 2. 将构建的web目录内容推送到gh-pages分支
# 或使用GitHub Actions进行自动部署

构建后,文件将位于build/web目录中,可以部署到任何静态网站托管服务。

功能

  • 与MCP服务器聊天
  • MCP服务器市场
  • 自动安装MCP服务器
  • SSE MCP传输支持
  • 自动选择MCP服务器
  • 聊天历史
  • OpenAI LLM模型
  • Claude LLM模型
  • OLLama LLM模型
  • DeepSeek LLM模型
  • RAG
  • 更好的UI设计
  • 深色/浅色主题

欢迎提交所有功能,您可以在此问题中提交您的想法或错误。

MCP服务器市场

您可以从MCP服务器市场安装MCP服务器,MCP服务器市场是一系列MCP服务器的集合,您可以使用它与不同的数据进行聊天。

创建mcp_server_market的分叉,并在mcp_server_market.json文件末尾添加您的MCP服务器。

{
    "mcpServers": {
        "existing-mcp-servers": {},
        "your-mcp-server": {
              "command": "uvx",
              "args": [
                  "--from",
                  "git+https://github.com/username/your-mcp-server",
                  "your-mcp-server"
            ]
        }
    }
}

您可以向mcp_server_market仓库发送Pull Request以将您的MCP服务器添加到市场。合并您的PR后,您的MCP服务器将立即在市场中可用,其他用户也可以立即使用它。

您的反馈有助于我们改进chatmcp,并帮助其他用户做出明智的决策。

致谢

许可证

本项目根据Apache License 2.0许可。

Star历史