跳转到内容

LibreChat 项目介绍

LibreChat 项目介绍

项目定位

LibreChat 是一个开源的多模型 AI 聊天平台,提供类 ChatGPT 的用户体验,同时支持 40+ AI 模型提供商、自定义 Agent、Skills、MCP 集成与 Generative UI。

核心能力

  • 多模型支持:OpenAI、Anthropic、Google、AWS Bedrock、Azure、Vertex AI,以及 Ollama、groq、OpenRouter 等 40+ 自定义端点
  • Agent 系统:基于 @librechat/agents SDK 的图驱动 Agent 编排,支持单 Agent 标准图与多 Agent 协作图,含子 Agent(Subagent)委托与自生成(self-spawn)
  • Skills 系统:SKILL.md 指令包,支持手动调用($ popover)、模型自动调用、always-apply 三种触发模式,配合 ACL 权限控制与活跃状态管理
  • MCP 集成:完整的 Model Context Protocol 客户端,支持多服务器、OAuth 认证、工具发现与执行
  • 代码解释器:沙箱化 Python、Node.js、Go、C/C++、Java、Rust 等语言执行,安全文件上传/下载
  • Generative UI(Artifacts):在聊天中直接生成和预览 React 组件、HTML 页面与 Mermaid 图表
  • Web 搜索:多提供商搜索(Tavily、SearXNG、Firecrawl 等),含 SSRF 防护、内容抓取与重排序
  • 记忆系统:独立的 Memory Agent,通过 set_memory / delete_memory 工具动态管理用户记忆,含 Token 预算控制
  • 上下文管理:消息摘要(Summarization)、上下文裁剪(Context Pruning)、可配置储备比例
  • 可恢复流式传输:连接断开自动恢复,支持多标签页/多设备同步,Redis 水平扩展
  • 多语言 UI:支持 30+ 种语言的界面本地化

技术栈

层次技术说明
后端Node.js / Express(JS 遗留层)+ TypeScript(packages/api新代码全部 TS,旧代码最小改动
前端React + TypeScript + Vite + TailwindCSSSPA 架构,Jotai 状态管理
数据库MongoDB + Mongoose主要数据存储
搜索Meilisearch对话全文搜索
缓存Redis / Keyv会话缓存与流式传输状态
AI SDK@librechat/agents(LangChain 生态)Agent 循环、工具执行、图编排
构建TurborepoMonorepo 并行构建与缓存
测试Jest + Playwright后端单元测试 + 前端 E2E 测试

架构概览

快速体验

Docker Compose(推荐)

Terminal window
git clone https://github.com/danny-avila/LibreChat.git
cd LibreChat
cp .env.example .env
# 编辑 .env,填入至少一个 LLM API Key
docker compose up -d

访问 http://localhost:3080 即可使用。

本地开发

Terminal window
npm install
npm run build
npm run backend:dev # 后端开发服务器 (端口 3080)
npm run frontend:dev # 前端 HMR 服务器 (端口 3090)

教程导读

本教程分为 AI 应用编程核心 两大部分:

AI 应用教程(ai/ 目录)

从 LibreChat 的实际实现出发,学习以下通用知识:

章节知识点与 common 的关系
01Agent 图驱动循环补充 common/agent-design/03-state-graph-agent-loop.md
02事件驱动工具执行首次覆盖 → common/tool-use/event-driven-tool-execution.md
03MCP 多服务器 OAuth补充 common/mcp/02-multi-server-mcp.md
04Skills 系统三触发模式补充 common/skill-design/01-overview.md
05子 Agent 委托与自生成补充 common/multi-agent/02-sub-agent-delegation.md
06独立 Memory Agent 模式首次覆盖 → common/memory-system/12-memory-agent-pattern.md
07上下文摘要与裁剪补充 common/context-management/02-summarization-strategies.md
08Web 搜索多提供商引用 common/web-scraping/01-engine-fallback-strategies.md

编程核心教程(dev/ 目录)

聚焦 LibreChat 的工程实践:

章节主题
01Monorepo 架构与包边界管理
02多模型提供商路由与工具冲突解决
03可恢复流式传输架构
04Generative UI(Artifacts)系统
05RBAC 与多租户隔离
06测试策略:真实逻辑优先