ZCShou/muxai

一个多 AI 并行对话工具

★ 0Forks 0JavaScriptGitHub ↗Compare

Project website ↗

README

muxai

muxai - Multi-AI Parallel Chat Platform

多 AI 并行对话平台

License: MIT Node.js Version JavaScript

一个功能强大的多 AI 模型并行对话平台,支持同时与多个 AI 模型进行对话,通过分屏界面实现实时对比分析。

功能特性 • 快速开始 • 技术架构 • API 文档 • 部署指南


📖 项目简介

muxai 是一个现代化的多 AI 并行对话平台,旨在帮助用户同时与多个 AI 模型进行对话,并通过直观的分屏界面实时对比不同模型的回答。无论是开发者、研究人员还是内容创作者,都可以通过 muxai 提高工作效率,深入理解不同 AI 模型的特点和优势。

🎯 核心价值

  • 并行对比:同时向多个 AI 模型提问,实时对比回答差异
  • 高效工作:一次输入,多个模型响应,节省时间成本
  • 灵活配置:支持自定义模型参数、端点和认证方式
  • 数据安全:本地存储,支持多种数据库,数据完全可控
  • 易于扩展:模块化架构,轻松添加新的 AI 模型支持

✨ 核心特性

🤖 多模型并行对话

  • 同时对话:支持同时与多个 AI 模型进行对话
  • 实时流式响应:所有模型支持流式输出,实时显示生成内容
  • 独立控制:每个对话面板独立控制,可单独启用/禁用
  • 响应中止:可随时中止正在进行的 AI 响应

📊 直观的分屏界面

  • 分屏布局:直观的多面板布局,便于对比不同模型的回答
  • 同步滚动:支持多个面板同步滚动,便于对比长文本
  • 响应式设计:适配不同屏幕尺寸,支持移动端访问
  • 主题切换:支持亮色/暗色主题,保护视力

💬 智能对话管理

  • 对话分组:支持创建多个对话组,按主题组织聊天内容
  • 历史记录:完整的对话历史保存和搜索功能
  • 数据导出:支持导出所有对话数据为 JSON 格式
  • 预置角色:提供程序员、分析师、顾问、翻译、创作者等预置角色

🔧 灵活的模型配置

  • 多模型支持:OpenAI、Anthropic Claude、DeepSeek、智谱 GLM 等
  • 自定义端点:支持使用默认端点或自定义端点地址
  • 参数配置:灵活配置各模型的 API 密钥、温度、最大令牌数等参数
  • 变体管理:支持同一模型的多个配置变体

👥 完善的用户系统

  • 用户认证:支持用户注册、登录和个人资料管理
  • 权限管理:基于角色的访问控制(RBAC)
  • 数据同步:本地存储与服务器数据同步,支持跨设备使用
  • 管理员后台:完整的管理员后台,支持用户、模型、配置管理

🌐 国际化支持

  • 多语言:支持中文、英文等多种语言
  • 易于扩展:模块化的翻译系统,轻松添加新语言
  • 实时切换:支持实时切换语言,无需刷新页面

🎨 优秀的用户体验

  • Markdown 渲染:支持 Markdown 格式的消息渲染
  • 代码高亮:一键复制代码块内容,支持语法高亮
  • 格式切换:支持在 Markdown 和纯文本格式间切换
  • 思考过程:支持显示 AI 模型的思考过程(如 DeepSeek Reasoner)

🤖 支持的 AI 模型

OpenAI

  • GPT-4o:最新的多模态模型
  • GPT-4o-mini:轻量级高性能模型
  • GPT-3.5-turbo:经典对话模型

Anthropic Claude

  • Claude 3.5 Sonnet:高性能平衡模型
  • Claude 3 Opus:最强推理能力
  • Claude 3 Sonnet:平衡性能与成本
  • Claude 3 Haiku:极速响应模型

DeepSeek

  • deepseek-chat:通用对话模型
  • deepseek-reasoner:推理专用模型

智谱 GLM

  • GLM-4:最新一代模型
  • GLM-4-air:轻量级版本
  • GLM-4-long:长文本处理

🚀 快速开始

环境要求

  • Node.js ≥ 14.0
  • npm ≥ 6.0
  • 现代浏览器(支持 ES6+)

安装步骤

  1. 克隆仓库

    git clone https://github.com/yourusername/parallelchat.git
    cd parallelchat
  2. 安装依赖

    npm install
  3. 配置环境变量

    # 复制环境变量模板
    cp .env.example .env
    
    # 编辑 .env 文件,配置必要的环境变量
    # 至少需要配置 SESSION_SECRET
  4. 初始化数据库

    # 运行数据库迁移
    npm run migrate:latest
    
    # 加载初始数据
    npm run seed:run
  5. 启动服务

    # 开发模式(支持热重载)
    npm run dev
    
    # 生产模式
    npm start
  6. 访问应用

    打开浏览器访问 http://localhost:3000


📖 使用指南

首次使用配置

  1. 注册/登录

    • 点击右上角用户图标进行注册或登录
    • 首次注册的用户默认为普通用户权限
  2. 配置 AI 模型

    • 点击设置按钮 ⚙️ 进入设置页面
    • 为每个需要使用的模型配置 API 密钥
    • 可选择使用默认端点或自定义端点
    • 调整模型参数(温度、最大令牌数等)
  3. 创建对话

    • 点击左侧边栏的 "+" 按钮创建新对话
    • 为对话命名,便于管理

基本操作

添加分屏

  • 点击对话区域右上角的 "+" 按钮添加新的模型分屏
  • 每个分屏可以独立选择 AI 模型和配置

选择模型

  • 在每个分屏的下拉菜单中选择 AI 模型
  • 支持实时切换,无需重新创建对话

发送消息

  • 在底部输入框输入消息
  • 按 Enter 发送到所有启用的分屏
  • 按 Shift + Enter 换行

管理对话

  • 重命名:点击对话名称旁的编辑图标
  • 清空消息:点击清空按钮清除所有消息
  • 删除对话:点击关闭按钮删除对话
  • 锁定滚动:点击锁定图标启用多面板同步滚动

高级功能

系统提示词

  • 为每个对话组设置系统级提示词
  • 定义 AI 的角色和行为模式
  • 支持自定义和预置角色

预置角色

  • 快速选择预置角色配置模型行为
  • 包括:程序员、分析师、顾问、翻译、创作者等
  • 可在管理后台自定义角色

自定义配置

  • 为每个模型配置自定义参数
  • 支持不同的温度、最大令牌数等
  • 可保存为配置变体供后续使用

流式控制

  • 点击停止按钮可中止正在进行的响应
  • 支持单独中止某个面板的响应
  • 不影响其他面板的响应

数据导出

  • 支持导出所有对话数据为 JSON 格式
  • 可选择性导出特定对话
  • 便于数据备份和迁移

🤝 贡献指南

我们欢迎所有形式的贡献!

如何贡献

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

代码规范

  • JavaScript:使用 ES6+ 语法
  • 命名规则:遵循驼峰命名规则(camelCase)
  • 注释:为复杂的逻辑添加适当的注释
  • 代码风格:保持代码简洁清晰,遵循单一职责原则
  • 提交信息:使用清晰的提交信息,遵循 Conventional Commits 规范

Pull Request 检查清单

  • 代码通过所有测试
  • 添加了必要的注释和文档
  • 更新了相关的 README 和文档
  • 遵循项目的代码规范
  • 提交信息清晰明确

📄 许可证

本项目采用 MIT 许可证 开源。

Contributors

ZCShou

Issues