Files
2026-07-13 10:28:35 +00:00

8.2 KiB
Raw Permalink Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

Chatbot UI

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

Chatbot UI

Demo

在此查看最新演示 here.

Updates

大家好!我已收到大家的反馈,正在努力推进一次重大更新。

更简单的部署方式、更好的后端兼容性,以及改进的移动端布局等功能即将推出。

很快回来。

-- Mckay

Official Hosted Version

无需自行托管即可使用 Chatbot UI!

在此查找 Chatbot UI 的官方托管版本 here.

Sponsor

如果你觉得 Chatbot UI 有用,请考虑 sponsoring 我以支持我的开源工作 :)

Issues

我们将 "Issues" 限制为与代码库相关的实际问题。

我们收到了过多与功能请求、云服务商问题等类似的问题。

如果你在设置等方面遇到问题,请参阅上方 "Discussions" 标签页中的 "Help" 部分。

与代码库无关的 Issue 可能会被立即关闭。

Discussions

我们强烈鼓励你参与上方的 "Discussions" 标签页!

Discussions 是提问、分享想法和获取帮助的好地方。

很可能如果你有某个问题,其他人也有同样的问题。

Legacy Code

Chatbot UI 最近已更新至 2.0 版本。

1.0 版本的代码可在 legacy 分支上找到。

Updating

在你本地 Chatbot UI 仓库根目录的终端中,运行:

npm run update

如果你运行的是托管实例,还需要运行:

npm run db-push

以将最新迁移应用到你的线上数据库。

Local Quickstart

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

你可以在此观看完整视频教程 here.

1. Clone the Repo

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

2. Install Dependencies

在你本地 Chatbot UI 仓库根目录打开终端并运行:

npm install

3. Install Supabase & Run Locally

Why Supabase?

此前,我们使用本地浏览器存储来保存数据。然而,出于以下几个原因,这并不是一个好的解决方案:

  • 安全问题
  • 存储空间有限
  • 限制多模态(multi-modal)使用场景

我们现在使用 Supabase,因为它易于使用、开源、基于 Postgres,并且为托管实例提供免费套餐。

未来我们将支持其他服务商,为你提供更多选择。

1. Install Docker

你需要安装 Docker 才能在本地运行 Supabase。你可以在此 here 免费下载。

2. Install 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. Start Supabase

在你本地 Chatbot UI 仓库根目录的终端中,运行:

supabase start

4. Fill in Secrets

1. Environment Variables

在你本地 Chatbot UI 仓库根目录的终端中,运行:

cp .env.local.example .env.local

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

supabase status

Note: 对 NEXT_PUBLIC_SUPABASE_URL 使用来自 supabase statusAPI URL

现在前往你的 .env.local 文件并填写这些值。

如果设置了该环境变量,用户设置中的对应输入框将被禁用。

2. SQL Setup

在第 1 个迁移文件 supabase/migrations/20240108234540_setup.sql 中,你需要将 2 个值替换为上面获取的值:

  • project_url(第 53 行):如果你不更改 config.toml 文件中的 project_id,则 http://supabase_kong_chatbotui:8000(默认值)可以保持不变
  • service_role_key(第 54 行):该值来自运行 supabase status

这可以防止存储文件无法被正确删除的问题。

5. Install Ollama (optional for local models)

按照此处的说明操作 here.

6. Run app locally

在你本地 Chatbot UI 仓库根目录的终端中,运行:

npm run chat

你的本地 Chatbot UI 实例现在应已在 http://localhost:3000. 运行。请务必使用兼容的 Node 版本(即 v18)。

你可以在 http://localhost:54323/project/default/editor. 查看后端 GUI。

Hosted Quickstart

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

视频教程即将推出。

1. Follow Local Quickstart

重复上文 "Local Quickstart" 中的步骤 1-4。

你的本地实例和托管实例应使用不同的仓库。

在 GitHub 上为你的 Chatbot UI 托管实例创建一个新仓库,并将代码推送到该仓库。

2. Setup Backend with Supabase

1. Create a new project

前往 Supabase 并创建一个新项目。

2. Get Project Values

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

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

  • Project Ref:在 "General settings" 中以 "Reference ID" 显示

  • Project ID:在你的项目仪表板 URL 中(例如:https://supabase.com/dashboard/project/<YOUR_PROJECT_ID>/settings/general

仍在 "Settings" 中时,点击左侧的 "API" 文本标签页。

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

  • Project URL:在 "API Settings" 中以 "Project URL" 显示

  • Anon key:在 "Project API keys" 中以 "anon public" 显示

  • Service role key:在 "Project API keys" 中以 "service_role" 显示(提醒:请像对待密码一样保管!)

3. Configure Auth

接下来,点击最左侧的 "Authentication" 图标标签页。

在文本标签页中,点击 "Providers",并确保 "Email" 已启用。

我们建议为你自己的个人实例关闭 "Confirm email"。

4. Connect to Hosted DB

打开你的 Chatbot UI 托管实例仓库。

在第 1 个迁移文件 supabase/migrations/20240108234540_setup.sql 中,你需要将 2 个值替换为上面获取的值:

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

现在,在你本地 Chatbot UI 仓库根目录打开终端。我们将在此执行几条命令。

通过运行以下命令登录 Supabase:

supabase login

接下来,使用上面获取的 "Project ID" 运行以下命令以关联你的项目:

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

你的项目现在应已关联。

最后,通过运行以下命令将数据库推送到 Supabase:

supabase db push

你的托管数据库现在应已设置完成!

3. Setup Frontend with Vercel

前往 Vercel 并创建一个新项目。

在设置页面中,导入你 Chatbot UI 托管实例的 GitHub 仓库。在项目 Settings 的 "Build & Development Settings" 部分,将 Framework Preset 切换为 "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' 文件。如果为 API 密钥设置了环境变量,用户设置中的对应输入框将被禁用。

点击 "Deploy" 并等待前端部署完成。

部署完成后,你应该可以通过 Vercel 提供的 URL 使用你的 Chatbot UI 托管实例。

贡献

我们正在编写贡献指南。

联系方式

请在 Twitter/X 联系 Mckay