LibreChat-AI/LibreChat
项目简介
LibreChat 是一个可自托管的多用户 AI 对话平台,定位为「增强版 ChatGPT Clone」:它用统一的 Web UI 聚合十余家模型供应商,并在此之上叠加 Agent、MCP、RAG、代码解释器等生产能力。用户可以在同一会话中自由切换 GPT-5、o1、Claude、Gemini、DeepSeek 等模型并对比输出,同时保留会话历史、消息全文检索、Presets 预设、文件上传与知识库问答等完整体验。项目开源、以 Docker 一键部署,适合把 AI 能力收回自有基础设施的团队。
技术亮点
- 多供应商统一抽象:同一套 OpenAI 兼容接口层打通 Responses API、Anthropic、Azure、AWS Bedrock、Vertex AI、Groq、Mistral、OpenRouter、DeepSeek 等,支持自定义端点与模型级参数预设,切换模型无需切换客户端。
- Agents + MCP + Skills 三层扩展:基于 LangChain/LangGraph 构建 Agent 运行时,原生接入 Model Context Protocol(MCP)服务器以复用社区工具生态,并通过 Skills 以声明式方式组合工具、文件与指令,避免为每个场景重写 prompt 逻辑。
- Artifacts 与 Code Interpreter:模型输出的 React/HTML 代码可实时渲染为可交互组件,Code Interpreter 提供沙箱执行环境,把「对话」直接推进到「产出可运行结果」。
- 企业级多用户与安全:内置 OAuth2/OIDC、SAML、LDAP 登录,配合 RBAC 权限、Token 用量与余额计量、内容审查钩子、会话隔离,并通过 Redis 支持多实例横向扩展。
- 可插拔检索与动作:RAG(支持 pgvector 与 Atlas Vector Search)、Meilisearch 消息全文搜索、OpenAPI Actions 将任意外部 REST API 注册为模型可调用工具。
架构解析
整体是 monorepo 多服务架构。前端为 React + Vite 单页应用,通过 Express 后端暴露统一的 REST/SSE 接口;后端承担鉴权、会话编排、模型路由与 Agent 调度。持久层用 MongoDB 存储用户、会话、消息与预设,Meilisearch 负责消息全文检索,Redis 提供缓存、限流与会话共享。RAG API 与 Agents 作为独立服务运行,前者处理文档解析、切分与向量化,后者承载 LangGraph 的工具调用循环;文件存储可落本地磁盘或 S3 兼容对象存储。部署形态以 Docker Compose 为主,各组件可单独扩缩容。
适用场景
- 企业内部 AI 助手门户:统一入口接入多家模型,按部门分配配额与权限,满足数据不出内网的合规要求。
- 模型对比与选型评测:同一 prompt 在不同供应商/版本间快速复现,辅助 A/B 验证与成本测算。
- 私有知识库问答:上传文档构建 RAG 索引,交给 Agent 完成多轮检索与引用式回答。
- 业务系统工具化接入:用 MCP 或 OpenAPI Actions 把工单、CRM、监控告警暴露为模型可调用动作。
- 开发者原型验证:借助 Artifacts 与 Code Interpreter 快速产出可运行的前端组件或数据分析脚本。
生态对比
相较 Open WebUI,后者更偏向 Ollama 本地模型的轻量聊天前端,LibreChat 在多用户鉴权、Agent 编排与企业级权限上更重。相较 AnythingLLM,AnythingLLM 以「工作区 + 文档」为核心抽象,RAG 体验更聚焦,而 LibreChat 更强调通用对话能力与模型广度。相较 Dify,Dify 面向 LLMOps 与低代码应用编排(Workflow/知识库/发布渠道),LibreChat 则更接近「团队自建的 ChatGPT 替代品」,交互形态以聊天为主而非流程画布。