尧图精选

LibreChat 自托管 AI 对话平台:基于中文 README 的核心能力、配置体系与部署架构全解析

🕒 发布时间:2026/9/6 22:31:02 📁 来源:尧图网络
LibreChat 自托管 AI 对话平台基于中文 README 的核心能力、配置体系与部署架构全解析【免费下载链接】LibreChatEnhanced ChatGPT Clone: Features Agents, MCP, Skills, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenAPI Actions, Functions, Secure Multi-User Auth, Presets, open-source for self-hosting. Active项目地址: https://gitcode.com/GitHub_Trending/li/LibreChat本文以 LibreChat 仓库的中文文档 README.zh.md 为主体系统梳理其作为自托管 AI 对话平台的能力版图多模型接入、智能体、MCP、代码解释器、可恢复流等并结合仓库内的 librechat.example.yaml、docker-compose.yml、.env.example 与api/、client/、packages/源码结构验证每项功能在工程上的落地方式帮助读者快速完成部署、配置与二次扩展。一、项目定位一个注重隐私的自托管 AI 统一对话平台README.zh.md 对 LibreChat 的定义是一个自托管的 AI 对话平台在一个注重隐私的统一界面中整合了所有主流 AI 服务商。除了对话功能外它还提供 AI 智能体、模型上下文协议 (MCP) 支持、Artifacts、代码解释器、自定义操作、对话搜索以及企业级多用户认证。文档同时强调其开源、活跃开发、专为重视 AI 基础设施自主可控的用户而构建的定位。从源码结构看这一全功能平台的规模是直观的api/Express 后端含 api/server/services/Endpoints、Files、Runs、Agents 等服务层、api/server/controllers/agents、assistants、auth 等控制器、api/server/middleware/鉴权、限流、校验中间件client/React TypeScript 前端client/src/components/ 下有 Agents、Artifacts、MCP、SidePanel、Skills 等按功能划分的组件树packages/可复用包包括packages/api、packages/client、packages/data-providerReact Query 数据层、packages/data-schemas共享数据模型e2e/基于 Playwright 的端到端测试覆盖 mock/real 两套模型链路、基准测试agent 启动延迟、导航性能、推理流性能helm/Kubernetes 部署 Chartlibrechat与librechat-rag-api两个 chartrag.yml、redis-config/RAG 服务与 Redis 集群/TLS 的配套编排文件。二、能力版图逐项解读 README 功能清单以下小节按 README.zh.md 功能章节的原始条目组织并补充仓库内的对应实现证据。2.1 AI 模型选择与自定义端点Custom EndpointsREADME 列出的模型接入面包括内置端点Anthropic (Claude)、AWS Bedrock、OpenAI、Azure OpenAI、Google、Vertex AI、OpenAI Responses API含 Azure自定义端点支持任何兼容 OpenAI 规范的 API无需代理兼容的本地/远程服务商Ollama、groq、Cohere、Mistral AI、Apple MLX、koboldcpp、together.ai、OpenRouter、Helicone、Perplexity、ShuttleAI、DeepSeek、Qwen 等。这一能力的核心配置入口是 librechat.example.yaml 中的endpoints.custom数组。该文件给出了多组可直接复制的端点示例Claude 兼容端点provider: anthropic走原生/v1/messagesAPI 而非 OpenAI 兼容模式需显式列出models.default此时不使用/models自动拉取Groqhttps://api.groq.com/openai/v1/与MistralMistral 示例中特别注明必须dropParams: [stop, user, frequency_penalty, presence_penalty]否则会收到 422 错误OpenRouter建议dropParams: [stop]因为各模型停止符不同Helicone / Portkey等 AI 网关通过headers注入网关专属请求头如x-portkey-api-key。每个自定义端点还支持titleConvo是否自动生成会话标题、titleModel、modelDisplayLabel、fetch是否从 API 拉取模型列表等可选配置。安全边界librechat.example.yaml 中endpoints.allowedAddresses对用户提供的baseURLbaseURL: user_provided做 SSRF 校验——默认阻止私网、环回、.internal/.local域名指向自托管 Ollama 或内网 LLM 网关时需按host:port格式加入豁免列表如localhost:11434。同样的allowedDomains/allowedAddresses机制也作用于 Actionsactions:段与 MCP 远程传输mcpSettings:段README 中OpenAPI Actions / Functions特性即建立在该 OpenAPI 规范校验体系之上。2.2 智能体、Skills、Subagents 与 MCPREADME 将智能体与工具集成列为核心卖点无代码定制助手、智能体市场、按用户/群组共享、支持 MCP 服务器、工具、文件搜索、代码执行且兼容自定义端点、OpenAI、Azure、Anthropic、AWS Bedrock、Google、Vertex AI、Responses API。三项子能力在文档中各自展开Skills创建可复用的SKILL.md指令包用于手动、自动或始终启用的智能体工作流Subagents将专门任务委派给拥有独立上下文窗口的隔离子智能体运行MCP支持模型上下文协议用于工具调用。源码与配置侧的佐证librechat.example.yaml 的endpoints.agents段定义了智能体运行时参数recursionLimit默认 25、maxRecursionLimit默认 25可提至 100、maxToolCallArgBytes默认 64 KiB防止失控的工具调用参数生成、maxSubagents默认 10硬上限 50、capabilities能力白名单execute_code、file_search、web_search、artifacts、subagents、actions、skills、memory等其中programmatic_tools、run_in_background、tool_intents等为显式 opt-ininterface.agents段控制用户侧权限use/create/share/publicmarketplace.use对应智能体市场开关mcpServers:段给出三种传输方式的示例远程 SSEurl: http://localhost:3001/sse默认超时 60 秒、本地 stdiocommand: npxmodelcontextprotocol/server-puppeteer、server-filesysteminterface.mcpServers同样按 use/create/share/public 四级授权api/server/services/MCP.js 与 api/server/controllers/agents/client.js 等文件印证了 MCP 服务层与智能体客户端请求处理链Skills 的仓库同步见 librechat.example.yamlskillSync段从 GitHub 仓库定时同步SKILL.md而 skill/ 目录即 Docker 挂载的本地技能目录./skill:/app/skillapi/server/services/Skills/、client/src/components/Skills/45 个文件进一步说明智能体相关功能在前端后端都有独立模块。2.3 代码解释器Code InterpreterREADME 描述安全的沙箱执行环境支持 Python、Node.js (JS/TS)、Go、C/C、Java、PHP、Rust 和 Fortran可直接上传、处理并下载文件执行环境完全隔离。仓库中前端 client/public/assets/ 下的语言图标python.svg、go.svg、rust.svg、cplusplus.svg、php.svg、fortran.svg、nodedotjs.svg、tsnode.svg、r.svg与 README 列出的语言集一一对应interface.defaultPinnedTools注释中列出的有效工具键包含execute_code即代码解释器以工具形式挂接到输入栏可通过endpoints.agents.capabilities中的execute_code能力开关控制。2.4 网页搜索与可定制重排序README 要点搜索互联网并检索相关信息增强 AI 上下文结合搜索提供商、内容爬虫和结果重排序支持自定义 Jina API URL 用于重排序。librechat.example.yaml 的webSearch段完整落实了这一架构三类提供商可独立组合重排序jinaApiKey/jinaApiUrl默认https://api.jina.ai/v1/rerank或cohereApiKey搜索提供商Serper、SearXNG可自建实例searxngInstanceUrl、Tavily、Keenable默认可无 KeyKey 仅提升限流爬虫Firecrawl、Tavily、KeenablesearchProvider与scraperProvider可分别指定不同厂商例如 SearXNG 搜索 Keenable 抓取或整体rerankerType: none走无 Key 全栈。对自建服务同样内置 SSRF 保护出站请求在连接时解析 IP 并阻止私网/元数据地址自建 SearXNG 等需加入webSearch.allowedAddresses。2.5 Artifacts、图像生成与推理 UI代码 ArtifactsREADME 说明支持在对话中直接创建 React 组件、HTML 页面和 Mermaid 图表属于支持代码 Artifacts 的生成式 UI前端有独立的 client/src/components/Artifacts/ 与ArtifactContext.tsx上下文图像生成与编辑支持 GPT-Image-1文生图与图生图、DALL-E (3/2)、Stable Diffusion本地、Flux或任何 MCP 服务器作为图像后端前端资产中可见gemini_image_gen.svg、stability-ai.svg等对应服务商图标fileConfig.imageGeneration控制生成图尺寸百分比或像素clientImageResize控制客户端压缩默认 1900×1900、JPEG 质量 0.92推理 UI针对 DeepSeek-R1 等思维链/推理模型的动态推理 UI。e2e/benchmarks-reasoning/ 专门存在推理流性能基准测试说明推理流reasoning stream是独立于普通回答流的处理路径api/server/controllers/agents/responses.js 与 SSE 数据层 client/src/data-provider/SSE/ 承接流式事件。2.6 预设、上下文管理与对话 ForkREADME 条目创建/保存/分享自定义预设对话中随时切换 AI 端点和预设编辑、重新提交消息与特定用户/群组共享提示词消息与对话分叉 (Fork)实现高级上下文控制。配置侧对应项interface.presets: true、interface.promptsuse/create/share/public 四档权限、interface.bookmarks、interface.multiConvo。提示词与预设的前端模块位于 client/src/components/Prompts/52 个文件后端路由见 api/server/routes/prompts.js。2.7 可恢复流Resumable Streams与 Redis 扩展README 强调永不丢失响应AI 响应在连接中断后自动重连并继续多标签页与多设备可同步继续同一对话生产级可靠性支持从单机部署到基于 Redis 的水平扩展。仓库证据链redis-config/ 提供 Redis 单节点 TLS 配置redis-tls.conf与三节点集群脚本start-cluster.sh、redis-7001/2/3.conf即水平扩展所依赖的基础设施librechat.example.yaml 中interface.schedules注释明确Redis 支撑的可恢复流部署可在每个副本上运行定时任务无 Redis 的单机部署需额外设置SCHEDULES_SINGLE_PROCESStruee2e/ 存在playwright.config.redis.ts配置说明 Redis 链路有独立 e2e 覆盖。2.8 语音、导入导出、搜索与多用户安全语音与音频语音转文字 (STT) 与文字转语音 (TTS) 实现免提对话自动发送并播放支持 OpenAI、Azure OpenAI 和 Elevenlabs。librechat.example.yaml 的speech段允许分别覆盖tts/stt的url、apiKey、model、voices并可把自托管 LocalAI/Whisper 地址加入allowedAddressesSSRF 豁免导入与导出从 LibreChat、ChatGPT、Chatbot UI 导入对话导出为截图、Markdown、文本、JSON。限流方面rateLimits.conversationsImport默认每 IP/用户 60 分钟 50 次约束导入入口搜索与发现搜索所有消息和对话。容器编排中 MeiliSearchmeilisearch: getmeili/meilisearch:v1.35.1即全文搜索引擎环境变量MEILI_HOST、MEILI_MASTER_KEY在 .env.example 中均有占位第 702 行MEILI_MASTER_KEY多用户与安全访问支持 OAuth2、LDAP 和电子邮件登录内置审核系统和 Token 消耗管理工具。api/strategies/ 目录下的ldapStrategy.js、openidStrategy.js、samlStrategy.js、googleStrategy.js、githubStrategy.js等 Passport 策略以及 librechat.example.yamlregistration.socialLogins[github, google, discord, openid, facebook, apple, saml]共同构成该能力balance段startBalance、自动充值则支撑 Token 消耗管理。2.9 多语言 UIREADME 列出 28 种语言English、中文简体/繁體、العربية、Deutsch、Español、Français、Italiano、Polski、Português (PT/BR)、Русский、日本語、Svenska、한국어、Tiếng Việt、Türkçe、Nederlands、עברית、Català、Čeština、Dansk、Eesti、فارسی、Suomi、Magyar、Հայերեն、Bahasa Indonesia、ქართული、Latviešu、ไทย、ئۇيغۇرچە。实现位于 client/src/locales/41 个 JSON 语言文件配套 config/translations/ 下的翻译校验/处理脚本main.ts、scan.ts、process.ts与 scripts/merge-locize-download.mjs印证 README 中借助 Locize 管理多语言翻译的说明。三、配置体系.env 与 librechat.example.yaml 双轨制README配置与部署条目提到支持代理、反向代理、Docker 及多种部署选项使用 S3 与 CloudFront 获得稳定的媒体链接、边缘分发、签名 Cookie 和安全下载可完全本地运行或部署在云端。仓库把配置分为两层3.1 环境变量.env.env.example1369 行定义运行时关键项HOSTlocalhost # 监听地址Docker 内改为 0.0.0.0 PORT3080 # 服务端口 MONGO_URImongodb://127.0.0.1:27017/LibreChat OPENAI_API_KEYuser_provided # user_provided 表示由用户在界面中自行提供 ANTHROPIC_API_KEYuser_provided MEILI_MASTER_KEY JWT_SECRETuser_provided这一取值语义值得注意对应服务商不强制服务端预置密钥允许每个终端用户自带 Key这与统一界面整合多家服务商的产品定位一致。3.2 行为配置librechat.yamllibrechat.example.yaml1282 行、version 1.3.14承载细粒度行为策略README 功能清单几乎每项都能在其中找到开关README 功能配置段关键参数界面定制interfacecustomWelcome、modelSelect、parameters、presets、multiConvo智能体权限/市场interface.agents/interface.marketplaceuse/create/share/public智能体运行时endpoints.agentsrecursionLimit、maxToolCallArgBytes、capabilities、toolApproval、checkpointer自定义端点endpoints.custom每端点apiKey/baseURL/models/headers/dropParams网页搜索webSearch搜索/爬虫/重排三类提供商MCP 管理mcpServers/interface.mcpServersSSE/stdio 定义 四级授权文件存储fileStrategy/cloudfrontlocal/s3/firebase/azure_blob/cloudfront签名 Cookie、URL 有效期摘要summarizationprovider、model、retainRecent.turns/tokens记忆memoryvalidKeys、tokenLimit、agent自动记忆更新内容过滤filters按来源消息/提示词/文件/记忆等的 PII 字段策略限流rateLimits按入口的 IP/用户窗口限流文件存储条目在配置中有更完整的展开fileStrategy支持按文件类型分别指定策略avatar: s3、image: firebase、document: local可混用CloudFront 段则覆盖imageSigning: cookies需 API 与 CDN 共享父域名、cookieExpiry默认 1800 秒、urlExpiry签名下载 URL 有效期等——正是 READMES3 与 CloudFront条目的落地参数。四、部署架构Docker Compose 服务拓扑与 HelmREADME.zh.md 未直接贴出 compose 文件但仓库根目录的 docker-compose.yml 给出了标准部署拓扑共 6 个服务服务镜像职责apiregistry.librechat.ai/danny-avila/librechat-dev:latestLibreChat 主服务API 前端默认端口${PORT}:${PORT}admin-panelregistry.librechat.ai/clickhouse/librechat-admin-panel:latest管理面板默认 3000 端口需ADMIN_PANEL_SESSION_SECRETmongodbmongo:8.0.20主数据库./data-node持久化meilisearchgetmeili/meilisearch:v1.35.1消息/对话全文搜索vectordbpgvector/pgvector:0.8.0-pg15向量数据库RAG 用rag_apiregistry.librechat.ai/danny-avila/librechat-rag-api-dev-lite:latest独立的 RAG API 服务连接 vectordb端口 8000关键挂载与依赖关系api依赖mongodb与rag_api通过RAG_API_URLhttp://rag_api:8000调用 RAG 链路本地持久化.env绑定到/app/.env./images、./uploads、./logs、./skill分别挂载前端图片、上传、日志与技能目录代理变量PROXY/HTTP_PROXY/NO_PROXY在 compose 中被显式传递并预置了mongodb、meilisearch、rag_api、host.docker.internal等免代理项——对应 README支持代理、反向代理的说明文件头部注释提醒请勿直接编辑此文件自定义请使用docker-compose.override.yaml仓库提供了 docker-compose.override.yml.example 作为样例。Kubernetes 场景则由 helm/librechat/ 与 helm/librechat-rag-api/ 两个 Chart 覆盖Langfuse 遥测链路另有 deploy-compose.langfuse-fanout.yml 与 otel/langfuse-fanout/Go 实现的 OpenTelemetry Collector 扇出组件。开发侧统一走 Turborepo根 package.json 的build脚本为npx turbo run build。五、更新策略与贡献规范README 后半部分给出了三条明确的社区约定更新前必读更新日志文档原文警示在更新前请务必查看更新日志以了解破坏性更改并指向发布页面Releases与 Changelog。结合仓库看破坏性变更往往体现为配置项迁移如messageFilter向filters的过渡期说明、fileStrategy旧格式仍兼容新格式等这些迁移注释都保留在 librechat.example.yaml 中可作为升级时的检查清单先 Issue 后 PR对新功能、组件或扩展应在发送 PR 前开启 issue 进行讨论翻译贡献欢迎参与母语翻译翻译不仅降低使用门槛也提升整体体验仓库内 config/translations/ 与 client/src/locales/ 是翻译工作的实际落点。六、延伸阅读路径完整功能参数与全部可选配置librechat.example.yaml环境变量全集.env.example后端请求链路与智能体运行时api/server/controllers/agents/client.js、api/server/services/Endpoints/前端上下文与数据层client/src/Providers/、client/src/data-provider/SSE/端到端行为验证e2e/specs/mock 与 real 双模式、e2e/README.md。【免费下载链接】LibreChatEnhanced ChatGPT Clone: Features Agents, MCP, Skills, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenAPI Actions, Functions, Secure Multi-User Auth, Presets, open-source for self-hosting. Active项目地址: https://gitcode.com/GitHub_Trending/li/LibreChat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →