AI聊天客户端

跨平台AI聊天客户端,支持多种LLM模型,提供数据同步和本地存储功能。

  • by daodao97
  • Dart
  • 本地部署
  • 2226 星标
  • 更新于
在 GitHub 查看 daodao97/chatmcp

使用说明

chatmcp

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

英语 | 简体中文 | 土耳其语

安装

macOS Windows Linux iOS Android Web
发布 发布 发布 ¹ 试飞 发布 GitHub页面 ²

¹ Linux注释:

  • 请参阅下面的Linux要求,了解Ubuntu 22.04和24.04上的AppImage/DEB运行时依赖关系
  • 改进的体验:最新版本包括更好的黑暗主题支持,统一的数据存储 XDG基本目录规范,并计划为Linux桌面环境优化UI布局
  • 在主要发行版上进行了测试:Ubuntu、Fedora、Arch Linux、openSUSE

²注意:Web版本完全在浏览器中运行,并具有用于聊天历史记录和设置的本地存储。

文档

此外,您还可以使用DeepWiki获取有关chatmcp的更多信息。
DeepWiki是一个AI驱动的平台,可以改变任何 公共GitHub存储库变成了一个完全交互式、易于理解的wiki。通过分析代码、文档和配置文件,它创建 清晰的解释、交互式图表,甚至允许与人工智能进行实时问答。

预览

数据同步

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

用法

确保您已安装 uvx 或 npx 在您的系统中

MacOS

# uvx
brew install uv

# npx
brew install node 

Linux

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

# npx (using apt)
sudo apt update
sudo apt install nodejs npm

Linux要求(Ubuntu 22.04和24.04)

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

  • 应用程序映像(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密钥和终结点 Setting 页
  2. 从安装MCP服务器 MCP Server 页
  3. 与MCP服务器聊天
  • stdio mcp服务器

  • sse-mcp服务器

数据存储

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

存储位置

macOS:

~/Library/Application Support/ChatMcp/

窗户:

%APPDATA%\ChatMcp\

Linux:

~/.local/share/ChatMcp/           # Honors $XDG_DATA_HOME if set
~/.local/share/run.daodao.chatmcp # Flutter dependency

手机:

  • 申请文件目录

文件结构

所有平台都以统一的目录结构存储数据:

  • logs 文件夹-应用程序日志
  • chatmcp.db -包含聊天记录和消息的主数据库文件
  • shared_preferences.json -应用程序设置和首选项
  • mcp_server.json -MCP服务器配置

重置应用程序数据

要完全重置应用程序(删除所有聊天记录、设置和配置):

macOS:

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

窗户:

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

Linux:

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

发展

安装Flutter

要开发或运行ChatMCP,您需要 飘动 安装。
关注官方 颤振安装指南 为了你的平台。

安装后,请使用以下工具进行验证:

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,或
  • 颤振(捆绑飞镖)

示例:

  • 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路径)到用户/系统路径。通过以下方式验证:
    where flutter
    where dart
    

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

CI执行:

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

政策:

  • 不要绕过钩子(例如。, --no-verify).这样的更改将在CI中失败,无论如何都必须重新格式化。

克隆并在本地运行

# Clone the repository
git clone https://github.com/daodao97/chatmcp.git
cd chatmcp

# Install dependencies
flutter pub get

# Run on macOS
flutter run -d macos

# Run on Linux (requires Flutter desktop support enabled)
flutter run -d linux

# Build release for Linux
flutter build linux

Web版本

地方发展

# Install dependencies
flutter pub get

# Run Web version locally
flutter run -d chrome
# Or specify port
flutter run -d chrome --web-port 8080
# Or run as web-serer for other browsers.
flutter run -d web-server

构建Web版本

# Build production version
flutter build web

# Build with base path (for deploying to subdirectory)
flutter build web --base-href /chatmcp/

部署到GitHub页面

# 1. Build Web version
flutter build web --base-href /chatmcp/

# 2. Push build/web directory contents to gh-pages branch
# Or use GitHub Actions for automatic deployment

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

特性

  • [x] 与MCP服务器聊天
  • [X] MCP服务器市场
  • []自动安装MCP服务器
  • [x] SSE MCP传输支持
  • [x] 自动选择MCP服务器
  • [x] 聊天记录
  • [x] OpenAI LLM模型
  • [x] 克劳德LLM模型
  • [x] OLLama LLM模型
  • [x] DeepSeek LLM模型
  • []抹布
  • []更好的UI设计
  • [x] 黑暗/光明主题

欢迎提交所有功能,您可以在 问题

MCP服务器市场

您可以从MCP服务器市场安装MCP服务器,MCP服务器市场是MCP服务器的集合,您可以使用它来聊天不同的数据。

创建一个分叉 mcp服务器市场 并将您的MCP服务器添加到 mcp_server_market.json 文件的结尾。

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

您可以向 mcp服务器市场 存储库将您的MCP服务器添加到市场。合并您的PR后,您的MCP服务器将在市场上可用,其他用户可以立即使用它。

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

谢谢

许可证

该项目根据 Apache许可证2.0.

明星历史