muxai - Multi-AI Parallel Chat Platform
多 AI 并行对话平台
一个功能强大的多 AI 模型并行对话平台,支持同时与多个 AI 模型进行对话,通过分屏界面实现实时对比分析。
muxai 是一个现代化的多 AI 并行对话平台,旨在帮助用户同时与多个 AI 模型进行对话,并通过直观的分屏界面实时对比不同模型的回答。无论是开发者、研究人员还是内容创作者,都可以通过 muxai 提高工作效率,深入理解不同 AI 模型的特点和优势。
- 并行对比:同时向多个 AI 模型提问,实时对比回答差异
- 高效工作:一次输入,多个模型响应,节省时间成本
- 灵活配置:支持自定义模型参数、端点和认证方式
- 数据安全:本地存储,支持多种数据库,数据完全可控
- 易于扩展:模块化架构,轻松添加新的 AI 模型支持
- 同时对话:支持同时与多个 AI 模型进行对话
- 实时流式响应:所有模型支持流式输出,实时显示生成内容
- 独立控制:每个对话面板独立控制,可单独启用/禁用
- 响应中止:可随时中止正在进行的 AI 响应
- 分屏布局:直观的多面板布局,便于对比不同模型的回答
- 同步滚动:支持多个面板同步滚动,便于对比长文本
- 响应式设计:适配不同屏幕尺寸,支持移动端访问
- 主题切换:支持亮色/暗色主题,保护视力
- 对话分组:支持创建多个对话组,按主题组织聊天内容
- 历史记录:完整的对话历史保存和搜索功能
- 数据导出:支持导出所有对话数据为 JSON 格式
- 预置角色:提供程序员、分析师、顾问、翻译、创作者等预置角色
- 多模型支持:OpenAI、Anthropic Claude、DeepSeek、智谱 GLM 等
- 自定义端点:支持使用默认端点或自定义端点地址
- 参数配置:灵活配置各模型的 API 密钥、温度、最大令牌数等参数
- 变体管理:支持同一模型的多个配置变体
- 用户认证:支持用户注册、登录和个人资料管理
- 权限管理:基于角色的访问控制(RBAC)
- 数据同步:本地存储与服务器数据同步,支持跨设备使用
- 管理员后台:完整的管理员后台,支持用户、模型、配置管理
- 多语言:支持中文、英文等多种语言
- 易于扩展:模块化的翻译系统,轻松添加新语言
- 实时切换:支持实时切换语言,无需刷新页面
- Markdown 渲染:支持 Markdown 格式的消息渲染
- 代码高亮:一键复制代码块内容,支持语法高亮
- 格式切换:支持在 Markdown 和纯文本格式间切换
- 思考过程:支持显示 AI 模型的思考过程(如 DeepSeek Reasoner)
- GPT-4o:最新的多模态模型
- GPT-4o-mini:轻量级高性能模型
- GPT-3.5-turbo:经典对话模型
- Claude 3.5 Sonnet:高性能平衡模型
- Claude 3 Opus:最强推理能力
- Claude 3 Sonnet:平衡性能与成本
- Claude 3 Haiku:极速响应模型
- deepseek-chat:通用对话模型
- deepseek-reasoner:推理专用模型
- GLM-4:最新一代模型
- GLM-4-air:轻量级版本
- GLM-4-long:长文本处理
- Node.js ≥ 14.0
- npm ≥ 6.0
- 现代浏览器(支持 ES6+)
-
克隆仓库
git clone https://github.com/yourusername/parallelchat.git cd parallelchat -
安装依赖
npm install
-
配置环境变量
# 复制环境变量模板 cp .env.example .env # 编辑 .env 文件,配置必要的环境变量 # 至少需要配置 SESSION_SECRET
-
初始化数据库
# 运行数据库迁移 npm run migrate:latest # 加载初始数据 npm run seed:run
-
启动服务
# 开发模式(支持热重载) npm run dev # 生产模式 npm start
-
访问应用
打开浏览器访问
http://localhost:3000
-
注册/登录
- 点击右上角用户图标进行注册或登录
- 首次注册的用户默认为普通用户权限
-
配置 AI 模型
- 点击设置按钮 ⚙️ 进入设置页面
- 为每个需要使用的模型配置 API 密钥
- 可选择使用默认端点或自定义端点
- 调整模型参数(温度、最大令牌数等)
-
创建对话
- 点击左侧边栏的 "+" 按钮创建新对话
- 为对话命名,便于管理
- 点击对话区域右上角的 "+" 按钮添加新的模型分屏
- 每个分屏可以独立选择 AI 模型和配置
- 在每个分屏的下拉菜单中选择 AI 模型
- 支持实时切换,无需重新创建对话
- 在底部输入框输入消息
- 按
Enter发送到所有启用的分屏 - 按
Shift + Enter换行
- 重命名:点击对话名称旁的编辑图标
- 清空消息:点击清空按钮清除所有消息
- 删除对话:点击关闭按钮删除对话
- 锁定滚动:点击锁定图标启用多面板同步滚动
- 为每个对话组设置系统级提示词
- 定义 AI 的角色和行为模式
- 支持自定义和预置角色
- 快速选择预置角色配置模型行为
- 包括:程序员、分析师、顾问、翻译、创作者等
- 可在管理后台自定义角色
- 为每个模型配置自定义参数
- 支持不同的温度、最大令牌数等
- 可保存为配置变体供后续使用
- 点击停止按钮可中止正在进行的响应
- 支持单独中止某个面板的响应
- 不影响其他面板的响应
- 支持导出所有对话数据为 JSON 格式
- 可选择性导出特定对话
- 便于数据备份和迁移
我们欢迎所有形式的贡献!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
- JavaScript:使用 ES6+ 语法
- 命名规则:遵循驼峰命名规则(camelCase)
- 注释:为复杂的逻辑添加适当的注释
- 代码风格:保持代码简洁清晰,遵循单一职责原则
- 提交信息:使用清晰的提交信息,遵循 Conventional Commits 规范
- 代码通过所有测试
- 添加了必要的注释和文档
- 更新了相关的 README 和文档
- 遵循项目的代码规范
- 提交信息清晰明确
本项目采用 MIT 许可证 开源。