Last translated: 14 Jun 2025

Translation Not Available Yet

This repository's README hasn't been translated yet. Once translated, it will be easier to read and understand in your native language (中文).

After translating, add the links to README so others can view it directly.

Chatbot UI

面向所有人的开源AI聊天应用

Chatbot UI

演示版

查看最新演示请访问此处

更新公告

各位好!我已收到大家的反馈,正在全力开发重大更新。

简化部署流程、增强后端兼容性、优化移动端布局等功能即将推出。

敬请期待。

-- Mckay

官方托管版

无需自行部署即可使用Chatbot UI!

官方托管版本请访问chatbotui.com

赞助支持

如果您觉得Chatbot UI有用,请考虑赞助支持我的开源工作 :)

问题提交

我们仅限处理与代码库相关的实质性问题。

当前收到过多非代码问题(如功能请求、云服务商问题等)。

若遇到安装配置等问题,请前往上方"Discussions"标签页的"Help"版块寻求帮助。

与代码无关的issue将可能被直接关闭。

社区讨论

强烈建议您参与上方"Discussions"标签页的讨论!

这里是提问交流、分享创意和获取帮助的理想场所。

您的问题很可能也是其他人的疑问。

旧版代码

Chatbot UI近期已升级至2.0版本。

1.0版本代码可在legacy分支查看。

更新方法

在本地Chatbot UI仓库根目录执行:

npm run update

若运行托管实例还需执行:

npm run db-push

以应用最新数据库迁移。

本地快速入门

按照以下步骤在本地运行Chatbot UI实例。

完整视频教程可观看此处

1. 克隆仓库

git clone https://github.com/mckaywrigley/chatbot-ui.git

2. 安装依赖

在仓库根目录执行:

npm install

3. 安装Supabase并本地运行

为何选择Supabase?

此前我们使用浏览器本地存储数据,但存在以下问题:

  • 安全隐患
  • 存储容量限制
  • 限制多模态使用场景

现采用Supabase因其易用、开源、基于Postgres且提供免费托管方案。

未来将支持更多服务商以提供选择。

1. 安装Docker

需先安装Docker,下载地址此处

2. 安装Supabase CLI

MacOS/Linux

brew install supabase/tap/supabase

Windows

scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase

3. 启动Supabase

在仓库根目录执行:

supabase start

4. 配置密钥

1. 环境变量

在仓库根目录执行:

cp .env.local.example .env.local

通过以下命令获取所需值:

supabase status

注:NEXT_PUBLIC_SUPABASE_URL使用supabase status输出的API URL

.env.local文件中填写对应值。

若设置环境变量,将禁用用户设置中的对应输入项。

2. SQL配置

在首份迁移文件supabase/migrations/20240108234540_setup.sql中需替换两个值:

  • project_url(第53行):若未修改config.toml中的project_id,可保留默认值http://supabase_kong_chatbotui:8000
  • service_role_key(第54行):使用supabase status获取的值

此操作可避免存储文件删除异常问题。

5. 安装Ollama(本地模型选装)

安装指南见此处

6. 本地运行应用

在仓库根目录执行:

npm run chat

应用将在http://localhost:3000运行(需使用兼容的node版本如v18)。

后端管理界面见http://localhost:54323/project/default/editor

云端快速部署

按照以下步骤在云端运行Chatbot UI实例。

视频教程即将推出。

1. 完成本地快速入门

重复"本地快速入门"中的步骤1-4。

建议为云端实例创建独立代码库。

在GitHub新建仓库并推送代码。

2. 配置Supabase后端

1. 创建新项目

访问Supabase创建项目。

2. 获取项目参数

进入项目仪表盘后,点击左下角"Project Settings"图标标签页。

在此获取以下环境变量值:

在"Settings"中切换至"API"标签页获取:

  • Project URL:"API Settings"中的"Project URL"
  • Anon key:"Project API keys"中的"anon public"
  • Service role key:"Project API keys"中的"service_role"(需保密!)

3. 配置认证

点击左侧"Authentication"图标,在"Providers"中确保启用"Email"。

个人实例建议关闭"Confirm email"。

4. 连接托管数据库

在云端实例代码库中,修改首份迁移文件supabase/migrations/20240108234540_setup.sql

  • project_url(第53行):使用上述Project URL
  • service_role_key(第54行):使用上述Service role key

在仓库根目录依次执行:

登录Supabase:

supabase login

关联项目(使用上述Project ID):

supabase link --project-ref <project-id>

推送数据库:

supabase db push

至此托管数据库配置完成。

3. 使用Vercel部署前端

访问Vercel创建新项目。

在设置页面导入GitHub仓库,于"Build & Development Settings"中将框架预设改为"Next.js"。

添加以下环境变量:

  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY
  • SUPABASE_SERVICE_ROLE_KEY
  • NEXT_PUBLIC_OLLAMA_URL(仅在使用本地Ollama模型时需要,默认http://localhost:11434

也可添加API密钥环境变量:

  • OPENAI_API_KEY
  • AZURE_OPENAI_API_KEY
  • AZURE_OPENAI_ENDPOINT
  • AZURE_GPT_45_VISION_NAME

完整变量列表参考'.env.local.example'文件。设置后将禁用用户设置中的对应输入项。

点击"Deploy"等待部署完成,即可通过Vercel提供的URL访问托管实例。

贡献指南

我们正在编写贡献指南。

联系方式

通过Twitter/X联系Mckay