better-chatbot
better-chatbot 是一款功能强大的开源 AI 聊天机器人,旨在为个人和团队提供超越基础对话的智能体验。它不仅仅是一个聊天界面,更是一个集成了智能体(Agent)、模型上下文协议(MCP)和可视化工作流的综合平台,有效解决了传统聊天工具功能单一、难以执行复杂任务及缺乏自动化能力的痛点。
这款工具非常适合开发者、技术研究人员以及希望构建定制化 AI 应用的企业团队使用。其核心亮点在于对 MCP 协议的深度支持,允许用户轻松连接外部工具,实现浏览器自动化、代码执行(JS/Python)、数据可视化及实时网络搜索等功能。此外,better-chatbot 还具备独特的视觉工作流编辑器,让用户无需编写复杂代码即可设计自定义智能体;支持多模态交互,包括图像生成与编辑,以及集成 MCP 工具的实时语音助手。
在用户体验上,它引入了直观的"@"提及语法,让用户能瞬间调用任何预设工具或智能体。基于 Next.js 和 Vercel AI SDK 构建,better-chatbot 支持本地优先部署,并兼容 OpenAI、Claude、Gemini 等主流大模型。只需一个 API 密钥,用户即可快速免费部署属于自己的高级 AI 助手,灵活满足从简单问答到复杂任务自动化的多样化需求。
使用场景
某初创公司的数据分析师需要快速完成竞品市场数据的抓取、清洗、可视化并生成报告,同时希望将这一流程固化为团队可复用的自动化能力。
没有 better-chatbot 时
- 工具割裂严重:需要在浏览器手动搜索、复制数据到 Excel、再切换至 Python 环境写代码绘图,上下文频繁中断,效率极低。
- 协作门槛高:整理好的分析脚本和 Prompt 散落在个人笔记中,团队成员难以直接复用或理解其逻辑,导致重复造轮子。
- 交互方式单一:无法通过自然语言直接调用复杂的浏览器自动化或代码执行功能,非技术背景的同事难以参与数据分析过程。
- 流程无法沉淀:每次分析都是“一次性”操作,缺乏将“搜索 - 计算 - 绘图”串联成固定工作流的机制,难以规模化应用。
使用 better-chatbot 后
- 一站式闭环操作:利用
@mention直接调用 Playwright MCP 自动抓取网页数据,并通过内置的 JS/Python 执行器即时清洗与可视化,全程无需切换窗口。 - 可视化工作流复用:将成功的分析步骤保存为“视觉工作流”,团队成员只需一键加载即可重现相同的分析逻辑,大幅降低协作成本。
- 自然语言驱动复杂任务:即使是非技术人员,也能通过语音或文字指令让 Agent 自动调用工具链完成从数据获取到报告生成的全过程。
- 能力资产化:自定义的 Agent 和 MCP 配置可轻松分享给团队,将个人的分析技巧转化为组织的标准化数字资产。
better-chatbot 通过将分散的 AI 模型、工具协议与工作流引擎深度融合,把单次零散的对话升级为可沉淀、可协作的智能化生产管线。
运行环境要求
- Linux
- macOS
- Windows
未说明 (基于云 API 调用,本地运行无需特定 GPU,除非使用本地 Ollama 模型)
未说明

快速开始
[!WARNING] 该项目的作者已暂停开发至二月,不过我(@brrock)会尽力修复漏洞和问题。如果你正在贡献代码,可能需要等到开发恢复后再继续。
🚀 在线演示 | 在下方的【预览】中查看实际体验!
演示对话
快速开始 🚀
几分钟内即可运行你的应用!无需安装或付费。
你只需要一个 AI 提供商的 API 密钥(如 OpenAI、Claude、Gemini 等)。其他部分都可使用免费层级的服务——数据库、文件存储和托管。
Better Chatbot —— 一款面向个人和团队的更优秀的开源 AI 聊天机器人,灵感来源于 ChatGPT、Claude、Grok 和 Gemini。
• 多 AI 支持 —— 集成所有主流 LLM:OpenAI、Anthropic、Google、xAI、Ollama 等
• 强大工具 —— MCP 协议、网页搜索、JS/Python 代码执行、数据可视化
• 图像生成 —— 使用 AI 模型(OpenAI、Google Gemini、xAI)创建和编辑图像
• 自动化 —— 自定义智能体、可视化工作流、成果物生成
• 协作 —— 与团队共享智能体、工作流和 MCP 配置
• 语音助手 —— 实时语音聊天,全面集成 MCP 工具
• 直观 UX —— 使用 @mention 即可快速调用任何功能
• 快速启动 —— 使用 Vercel 部署按钮即可免费部署
基于 Vercel AI SDK 和 Next.js 构建,将领先 AI 服务的最佳特性整合到一个平台中。
目录
本项目正以惊人的速度发展!⚡️ 我们不断推出新功能并修复 bug。请 星标此仓库,加入我们,随时了解最新动态!
预览
感受一下用户体验——以下是一些可能的操作示例。
🧩 使用 Playwright MCP 进行浏览器自动化

示例: 使用微软的 playwright-mcp 工具控制网页浏览器。
- LLM 会自主决定如何使用 MCP 服务器上的工具,多次调用它们来完成一个多步骤的任务,并返回最终消息。
示例提示:
1. 使用 @tool('web-search') 查找关于“modelcontetprotocol”的信息。
2. 然后,使用 : @mcp("playwright")
- 导航到 Google (https://www.google.com)
- 点击“登录”按钮
- 输入我的邮箱地址 (neo.cgoing@gmail.com)
- 点击“下一步”按钮
- 关闭浏览器
🔗 可视化工作流作为自定义工具
示例: 创建自定义工作流,使其成为聊天对话中可调用的工具。
- 通过连接 LLM 节点(用于 AI 推理)和工具节点(用于 MCP 工具执行)来构建可视化工作流
- 发布工作流,使其在聊天中作为
@workflow_name工具可用 - 将复杂的多步骤流程串联成可重复使用的自动化序列
🤖 自定义智能体
示例:使用自定义指令和工具访问权限创建专业化的 AI 智能体。
- 定义具有特定系统提示和可用工具的自定义智能体
- 在聊天中通过
@agent_name轻松调用智能体 - 构建任务专用助手,例如带有议题/PR 工具和项目上下文的 GitHub 管理员智能体
例如,通过以下步骤创建一个 GitHub 管理员智能体:
- 提供 GitHub 工具(创建议题/PR、评论、查询)
- 将项目详情添加到系统提示中
- 使用
@github_manager调用它来管理你的仓库
🎙️ 实时语音助手 + MCP 工具
此演示展示了基于 OpenAI 新实时 API 构建的 实时语音聊天机器人助手 — 现已扩展为完全集成 MCP 工具。 自然地与助手交谈,观看它实时执行工具操作。
⚡️ 快速工具提及(@)及预设
在聊天过程中,只需输入 @toolname 即可快速调用工具。
无需记忆——只需键入 @ 并从列表中选择即可!
工具选择与提及(@)——何时使用哪种方式:
- 工具选择:使常用工具在所有聊天中始终对 LLM 可用。非常适合方便使用,并可在长时间内保持一致的上下文。
- 提及(
@):仅临时绑定所提及的工具用于该次响应。由于只有提及的工具会被发送给 LLM,这可以节省 token,并提高速度和准确性。
每种方法都有其优势——将它们结合使用,以平衡效率和性能。
你还可以通过仅选择所需的 MCP 服务器或工具来创建 工具预设。 只需单击一下即可立即切换预设——非常适合按任务或工作流程组织工具。
🧭 工具选择模式
使用 工具选择模式 控制每个聊天中工具的使用方式——随时可通过 ⌘P 切换。
- 自动:模型会在需要时自动调用工具。
- 手动:模型将在调用工具前请求您的许可。
- 无:完全禁用工具使用。
这使您能够根据具体情况灵活选择自主、引导或无工具交互。
🛠️ 默认工具
🌐 网络搜索
内置网络搜索功能,由 Exa AI 提供支持。使用语义 AI 搜索网络,并直接在聊天中提取 URL 中的内容。
- 可选:将
EXA_API_KEY添加到.env文件中以启用网络搜索 - 免费层级:每月 1,000 次请求,无需付费,无需信用卡
- 轻松设置:立即在 dashboard.exa.ai 获取 API 密钥
🎨 图像生成
内置图像生成和编辑功能,由 AI 模型提供支持。直接在聊天中创建、编辑和修改图像。
- 支持的操作:图像生成、编辑和合成
- 当前模型:Gemini Nano Banana、OpenAI
⚡️ JS、PYTHON 执行器
这是一个简单的 JS 执行工具。
📊 数据可视化工具
交互式表格:创建功能丰富的数据表格,具备高级功能:
- 排序与筛选:按任意列排序,实时筛选数据
- 搜索与高亮显示:全局搜索并自动高亮文本
- 导出选项:使用惰性加载库导出为 CSV 或 Excel 格式
- 列管理:通过可见性控件显示/隐藏列
- 分页:内置分页功能,可处理大型数据集
- 数据类型支持:正确格式化字符串、数字、日期和布尔值
图表生成:使用各种图表类型(柱状图、折线图、饼图)可视化数据
此外,还提供了许多其他工具,例如用于 API 请求的 HTTP 客户端等。
……还有更多精彩内容等着你。 快来试试看吧!
开始使用
本项目推荐使用 pnpm 作为包管理器。
# 如果尚未安装 pnpm:
npm install -g pnpm
快速开始(Docker Compose 版本) 🐳
# 1. 安装依赖
pnpm i
# 2. 在项目根目录的 .env 文件中,仅填写您想要使用的 LLM 提供商 API 密钥。
# 例如:只需填写 OPENAI_API_KEY,应用即可运行。
# (运行 pnpm i 时会自动创建 .env 文件。)
# 3. 使用 Docker Compose 构建并启动所有服务(包括 PostgreSQL)
pnpm docker-compose:up
快速开始(本地版本) 🚀
pnpm i
#(可选)启动本地 PostgreSQL 实例
# 如果您已经运行了自己的 PostgreSQL,则可以跳过此步骤。
# 在这种情况下,请确保更新 .env 文件中的 PostgreSQL URL。
pnpm docker:pg
# 在 .env 文件中填写必要信息
# .env 文件会自动生成。只需填写所需值即可。
# 为了最快设置,至少提供一个 LLM 提供商的 API 密钥(例如 OPENAI_API_KEY、CLAUDE_API_KEY、GEMINI_API_KEY 等)以及您想要使用的 PostgreSQL URL。
pnpm build:local && pnpm start
#(大多数情况下推荐。可确保正确的 Cookie 设置。)
# 对于支持热重载和调试的开发模式,可以使用:
# pnpm dev
替代方案:仅使用 Docker Compose 运行数据库(通过 pnpm 运行应用)
# 仅通过 compose 启动 Postgres
# 确保您的 .env 包含:POSTGRES_USER、POSTGRES_PASSWORD、POSTGRES_DB,且与 POSTGRES_URL 匹配
docker compose -f docker/compose.yml up -d postgres
# 应用迁移
pnpm db:migrate
# 在本地运行应用
pnpm dev # 或:pnpm build && pnpm start
在浏览器中打开 http://localhost:3000,即可开始使用。
环境变量
运行 pnpm i 命令会生成一个 .env 文件。请在其中添加您的 API 密钥。
# === LLM 提供商 API 密钥 ===
# 您只需填写计划使用的提供商密钥
GOOGLE_GENERATIVE_AI_API_KEY=****
OPENAI_API_KEY=****
XAI_API_KEY=****
ANTHROPIC_API_KEY=****
OPENROUTER_API_KEY=****
OLLAMA_BASE_URL=http://localhost:11434/api
# Better Auth 的密钥(使用:npx @better-auth/cli@latest secret 生成)
BETTER_AUTH_SECRET=****
#(可选)
# Better Auth 的 URL(您访问应用的 URL)
BETTER_AUTH_URL=
# === 数据库 ===
# 如果您本地没有运行 PostgreSQL,请使用以下命令启动:pnpm docker:pg
POSTGRES_URL=postgres://your_username:your_password@localhost:5432/your_database_name
# (可选)
# === 工具 ===
# Exa AI 用于网络搜索和内容提取(可选,但建议用于 @web 和研究功能)
EXA_API_KEY=your_exa_api_key_here
# 是否使用基于文件的 MCP 配置(默认:false)
FILE_BASED_MCP_CONFIG=false
# === 文件存储 ===
# Vercel Blob 是默认的存储驱动程序(在本地开发和生产环境中均可使用)
# 在本地通过 `vercel env pull` 获取令牌
FILE_STORAGE_TYPE=vercel-blob
FILE_STORAGE_PREFIX=uploads
BLOB_READ_WRITE_TOKEN=
# -- S3(即将推出)--
# FILE_STORAGE_TYPE=s3
# FILE_STORAGE_PREFIX=uploads
# FILE_STORAGE_S3_BUCKET=
# FILE_STORAGE_S3_REGION=
# (可选)
# === OAuth 设置 ===
# 仅当您希望启用 Google/GitHub/Microsoft 登录时才填写这些值
# GitHub
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# Google
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# 设置为 1 可强制选择账户
GOOGLE_FORCE_ACCOUNT_SELECTION=
# Microsoft
MICROSOFT_CLIENT_ID=
MICROSOFT_CLIENT_SECRET=
# 可选的租户 ID
MICROSOFT_TENANT_ID=
# 设置为 1 可强制选择账户
MICROSOFT_FORCE_ACCOUNT_SELECTION=
# 将此设置为 1 可禁用用户注册。
DISABLE_SIGN_UP=
# 将此设置为 1 可禁止添加 MCP 服务器。
NOT_ALLOW_ADD_MCP_SERVERS=
📘 指南
逐步设置指南,帮助您运行和配置 better-chatbot。
🔌 MCP 服务器设置与工具测试
- 如何在您的环境中添加和配置 MCP 服务器
🐳 Docker 托管指南
- 如何使用 Docker 自行托管聊天机器人,包括环境配置。
▲ Vercel 托管指南
- 通过简单的设置步骤将聊天机器人部署到 Vercel,以供生产使用。
🗂️ 文件存储驱动程序
- 基于云的文件存储,使用 Vercel Blob(默认)实现开发和生产环境中的无缝上传。S3 支持即将推出。
🎯 系统提示与聊天自定义
- 使用自定义系统提示、用户偏好和 MCP 工具说明,个性化您的聊天机器人体验
🔐 OAuth 登录设置
- 配置 Google、GitHub 和 Microsoft 的 OAuth,以支持安全的用户登录。
🕵🏿 添加类似 OpenAI 的提供商
- 添加类似 OpenAI 的 AI 提供商
🧪 端到端测试指南
- 使用 Playwright 进行全面的端到端测试,包括多用户场景、代理可见性测试以及 CI/CD 集成
💡 技巧
💬 临时聊天窗口
- 打开轻量级弹出式聊天窗口,用于快速解答旁支问题或进行测试——与您的主对话线程分开。
🗺️ 路线图
better-chatbot 即将推出的计划功能:
- 文件上传与存储(Vercel Blob 集成)
- 图像生成
- 协作文档编辑(类似于 OpenAI Canvas:用户与助手共同编辑)
- RAG(检索增强生成)
- 基于 Web 的计算(结合 WebContainers 集成)
💡 如果您有任何建议或需要特定功能,请创建一个 issue!
💖 支持
如果该项目对您有所帮助,请考虑支持其开发:
- ⭐ Star 此仓库
- 🐛 报告 问题并提出功能建议
- 💰 成为赞助者,以支持持续开发
您的支持有助于维护和改进该项目。感谢! 🙏
🙌 贡献
我们欢迎所有贡献!无论是错误报告、功能想法还是代码改进,每一份帮助都能让我们打造最佳的本地 AI 助手。
⚠️ 请在提交任何 Pull Request 或 Issue 之前阅读我们的 贡献指南。 这将帮助我们更高效地合作,并节省大家的时间。
有关详细的贡献指南,请参阅我们的 贡献指南。
语言翻译: 通过添加新的语言翻译,帮助我们让更多的用户能够使用该聊天机器人。有关如何贡献翻译的说明,请参阅 language.md。
让我们一起构建吧 🚀
💬 加入我们的 Discord
在我们的官方 Discord 服务器上与社区交流、提问并获得支持!
版本历史
v1.26.02025/11/22v1.25.02025/10/30v1.24.02025/10/06v1.23.02025/10/04v1.22.02025/09/25v1.21.02025/08/24v1.20.22025/08/09v1.20.12025/08/06v1.20.02025/08/04v1.19.12025/07/29v1.19.02025/07/28v1.18.02025/07/24v1.17.12025/07/23v1.17.02025/07/18v1.16.02025/07/15v1.15.02025/07/11v1.14.12025/07/09v1.14.02025/07/07v1.13.02025/07/04v1.12.12025/07/02常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
Deep-Live-Cam
Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具,用户仅需一张静态照片,即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点,让高质量的数字内容创作变得触手可及。 这款工具不仅适合开发者和技术研究人员探索算法边界,更因其极简的操作逻辑(仅需三步:选脸、选摄像头、启动),广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换,还是制作趣味短视频和直播互动,Deep-Live-Cam 都能提供流畅的支持。 其核心技术亮点在于强大的实时处理能力,支持口型遮罩(Mouth Mask)以保留使用者原始的嘴部动作,确保表情自然精准;同时具备“人脸映射”功能,可同时对画面中的多个主体应用不同面孔。此外,项目内置了严格的内容安全过滤机制,自动拦截涉及裸露、暴力等不当素材,并倡导用户在获得授权及明确标注的前提下合规使用,体现了技术发展与伦理责任的平衡。

