返回市场
MCP客户端聊天机器人

MCP客户端聊天机器人

作者:cgoinglove895 星标更新:2025-11-23

项目介绍

【技术文档摘要】: <img width="1184" height="576" alt="缩略图" loading="lazy" src="https://gips0.baidu.com/it/u=65335380,3802285119&fm=3081&app=3081&f=PNG?w=2368&h=1152" />

MCP 支持 本地优先 Discord

使用 Vercel 部署

🚀 实时演示 | 在下面的预览中查看实际体验!

演示对话

快速开始 🚀

几分钟内启动你的应用!无需安装或支付费用。

你只需要一个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工具
直观的用户体验 - 使用@提及即时调用任何功能
快速开始 - 使用Vercel部署按钮免费部署

使用Vercel AI SDK和Next.js构建,结合领先AI服务的最佳特性于一个平台。

目录

这个项目正在以闪电般的速度发展!⚡️ 我们不断推出新功能并修复错误。给这个仓库加星,加入我们,随时了解最新更新!

预览

感受一下用户体验——这里是一个快速概览。

🧩 使用Playwright MCP进行浏览器自动化

预览

示例: 使用Microsoft的playwright-mcp工具控制网络浏览器。

  • LLM自主决定如何使用MCP服务器上的工具,多次调用它们来完成多步骤任务,并返回最终消息。

示例提示:

1. 使用@tool('web-search') 查找“modelcontetprotocol”的信息。

2. 然后,使用:@mcp("playwright")
   - 导航至Google (https://www.google.com)
   - 点击“登录”按钮
   - 输入我的电子邮件地址 (neo.cgoing@gmail.com)
   - 点击“下一步”按钮
   - 关闭浏览器
<br/>

🔗 作为自定义工具的可视化工作流

<img width="1912" height="953" alt="工作流" loading="lazy" src="https://gips3.baidu.com/it/u=3989452750,1459376987&fm=3081&app=3081&f=PNG?w=3824&h=1906" /> <img width="1567" alt="工作流提及" loading="lazy" src="https://gips0.baidu.com/it/u=1411393219,3685162490&fm=3081&app=3081&f=PNG?w=2626&h=1888" />

示例: 创建可成为聊天对话中可调用工具的自定义工作流。

  • 通过连接LLM节点(用于AI推理)和工具节点(用于MCP工具执行)构建可视化工作流。
  • 发布工作流,使其在聊天中可用为@工作流名称工具。
  • 将复杂的多步骤过程链成可重复使用的自动化序列。
<br/>

🤖 自定义代理

<img width="1567" alt="代理示例" loading="lazy" src="https://github.com/user-attachments/assets/d0a325c0-ff1e-4038-b6bf-fcf57659a5c1" />

示例: 创建具有自定义指令和工具访问权限的专业化AI代理。

  • 定义具有特定系统提示词和可用工具的自定义代理。
  • 使用@代理名称轻松在聊天中调用代理。
  • 构建特定任务的助手,如具有问题/PR工具和项目上下文的GitHub管理代理。

例如,创建一个GitHub管理代理:

  • 提供GitHub工具(问题/PR创建、评论、查询)
  • 向系统提示词添加项目细节
  • 使用@github_manager调用来管理你的仓库
<br/>

🎙️ 实时语音助手 + MCP工具

<p align="center"> <video src="https://github.com/user-attachments/assets/e2657b8c-ce0b-40dd-80b6-755324024973" width="100%" /> </p>

此演示展示了一个使用OpenAI的新实时API构建的实时语音聊天机器人助手——现在扩展了完整的MCP工具集成。 自然地与助手交谈,并实时观看它执行工具。

⚡️ 快速工具提及 (@) 和预设

<img width="1225" alt="图像" src="https://gips0.baidu.com/it/u=1824285685,3227785483&fm=3081&app=3081&f=GIF?w=950&h=698" loading="lazy"/>

在聊天中快速调用工具,只需键入@工具名称。 无需记忆——只需键入@并从列表中选择!

工具选择 vs. 提及 (@) —何时使用什么:

  • 工具选择:使经常使用的工具始终对LLM在所有聊天中可用。非常适合方便性和随着时间保持一致的上下文。
  • 提及 (@):仅暂时绑定提到的工具以响应特定回复。由于仅提到的工具发送给LLM,这节省了令牌并可以提高速度和准确性。

每种方法都有其优势——一起使用以平衡效率和性能。

你还可以创建工具预设,只需选择所需的MCP服务器或工具。 点击即可瞬间切换预设——完美地按任务或工作流组织工具。

🧭 工具选择模式

<img width="1225" alt="图像" src="https://gips2.baidu.com/it/u=3975575164,3321564248&fm=3081&app=3081&f=PNG?w=2524&h=1902" loading="lazy"/>

使用工具选择模式控制每个聊天中工具的使用方式——随时使用⌘P切换。

  • 自动:模型在需要时自动调用工具。
  • 手动:模型在调用工具前会请求你的许可。
  • :完全禁用工具使用。

这让你根据情况灵活选择自主、引导或无工具交互。

🛠️ 默认工具

🌐 网络搜索

<img width="1034" height="940" alt="网络搜索" src="https://gips3.baidu.com/it/u=2388413863,1936095313&fm=3081&app=3081&f=PNG?w=2068&h=1880" />

内置由Exa AI驱动的网络搜索。使用语义AI搜索网络,并直接在聊天中从URL提取内容。

  • 可选:在.env中添加EXA_API_KEY以启用网络搜索
  • 免费层级:每月1,000次请求,无需费用,无需信用卡
  • 简单设置:立即在dashboard.exa.ai获取API密钥

🎨 图像生成

<img width="1034" height="940" loading="lazy" alt="图像生成" src="https://gips3.baidu.com/it/u=3962843597,3487125292&fm=3081&app=3081&f=GIF?w=1286&h=654" />

内置由AI模型驱动的图像生成和编辑能力。直接在聊天中创建、编辑和修改图像。

  • 支持的操作:图像生成、编辑和组合
  • 当前模型:Gemini Nano Banana、OpenAI

⚡️ JS/PYTHON 执行器

<img width="1225" alt="js执行器预览" src="https://gips0.baidu.com/it/u=1876526666,2250809616&fm=3081&app=3081&f=GIF?w=998&h=684" loading="lazy"/>

这是一个简单的JS执行工具。

📊 数据可视化工具

交互式表格:创建具有高级功能的数据表:

  • 排序与过滤:按任意列排序,实时过滤数据
  • 搜索与高亮显示:全局搜索,自动文本高亮显示
  • 导出选项:使用懒加载库导出为CSV或Excel格式
  • 列管理:使用可见性控件显示或隐藏列
  • 分页:处理大型数据集,内置分页
  • 数据类型支持:正确格式化字符串、数字、日期和布尔值

图表生成:使用各种图表类型(条形图、折线图、饼图)可视化数据

此外,还提供了许多其他工具,如用于API请求的HTTP客户端等。

<br/>

……还有更多等待你发现。 试试看,看看它还能做什么!

<br/>

入门

该项目使用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进行DB(通过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