AI机器人群聊-


这个仓库 botgroup.chat 是一个基于 React 和 Cloudflare Pages 构建的多人 AI 聊天应用,同时也支持服务器版的一键 Docker 部署。以下是对该仓库的详细介绍:

项目概述

这是一个多人 AI 聊天应用,支持多个 AI 角色同时参与对话,提供类似群聊的交互体验。用户可以在应用中与多个 AI 角色进行实时交流,享受流式响应。该应用具有群组管理、AI 角色禁言、Markdown 格式支持、数学公式显示等功能,界面美观且支持移动端。

功能特点

  • 多 AI 角色对话:支持多个 AI 角色同时参与对话。
  • 实时流式响应:用户与 AI 交流时可获得实时流式响应。
  • 自定义角色:可自定义 AI 角色和个性。
  • 群组管理:具备群组管理功能。
  • AI 禁言:支持对 AI 角色进行禁言操作。
  • Markdown 支持:聊天内容支持 Markdown 格式。
  • 数学公式显示:支持使用 KaTeX 显示数学公式。
  • 美观 UI:拥有美观的用户界面。
  • 响应式设计:支持在移动端使用。

代码结构

  • .github/workflows:包含 GitHub Actions 工作流配置文件,如 release.yml 用于在代码推送到 main 分支时自动构建、打包并创建 GitHub 发布。
  • functions/api:存放 API 相关的代码,如 login.tstest-db.tsuser/info.ts 等,定义了与用户登录、数据库测试、用户信息等相关的接口。
  • migrations:包含数据库迁移脚本,如 0001_init_users.sql0002_create_users.sql
  • src:项目的主要源代码目录,包含页面组件、状态管理、配置文件等。
  • pages/login/components:包含登录页面的组件,如 PhoneLogin.tsx 实现了手机号登录和验证码发送功能。
  • store:包含状态管理相关代码,如 userStore.ts 定义了用户信息的状态和操作方法。
  • config:包含配置文件,如 groups.ts 定义了群聊信息的接口。
  • public:存放公共资源,如图片等。

依赖管理

  • package.json:定义了项目的依赖和脚本命令。项目使用了 Vite 作为构建工具,同时依赖了多个 React 组件库和第三方服务相关的库,如阿里云短信服务、OpenAI 等。
  • package-lock.json:锁定了项目依赖的具体版本,确保项目在不同环境下的一致性。

部署配置

  • wrangler.toml:配置了 Cloudflare Workers 和 KV 存储的相关信息,如绑定的 KV 命名空间和 D1 数据库。
  • .gitignore:指定了不需要纳入版本控制的文件和目录,如日志文件、依赖目录、环境变量文件等。

数据库

  • friends.sql:包含数据库表的创建语句和初始数据插入语句,定义了 users 表的结构。

自定义配置

用户可以在 config/aiCharacters.ts 中自定义模型和 AI 角色信息,包括模型标识、API 密钥、角色名称、性格描述等。

部署方式

  • Cloudflare Pages:可通过 Fork 项目到 GitHub 账号,然后在 Cloudflare Dashboard 中进行配置部署。需要设置相应的环境变量,如各模型的 API 密钥。
  • 服务器版:支持一键 Docker 部署,仓库地址为 https://github.com/maojindao55/botgroup.chat-server

贡献与支持

项目开源上线后,因用户增长导致 tokens 消耗较大,接受了国内多个基座模型厂商的赞助。开发者对国产 AI 模型服务商表示感谢。

AI机器人群聊