概述
如何设置高效的 LibreChat 开发工作流程。
对于大多数用户而言,Docker 是首选的安装路径,但本地 LibreChat 开发应使用 npm。直接在您的机器上运行应用程序可以提供更快的反馈、更清晰的调试,并能直接访问 monorepo 工作区,而无需在每次更改后重新构建容器。
推荐工具链
使用此工具链进行基于 npm 的开发:
| 工具 | 版本 |
|---|---|
| Node.js | v24.16.0 |
| npm | v11.16.0 |
| MongoDB | Atlas 或 Community Server |
Node 24 满足了 LibreChat 在 CommonJS 与仅限 ESM 的包进行互操作、WebCrypto 以及 Fetch API 方面的运行时需求。如果您的 shell 仍然显示较旧的 Node 版本,请在安装依赖项之前从 LibreChat 仓库运行 nvm use 24.16.0。
在正确的工作区中工作
LibreChat 是一个 monorepo。请选择包含您要更改的行为的最小工作区:
| 工作区 | 用途 |
|---|---|
/packages/api | 新的后端 TypeScript 服务、控制器和共享服务器逻辑 |
/api | 旧版 Express 服务器集成;保持更改精简 |
/packages/data-schemas | 数据库模型、模式和特定于数据库的共享逻辑 |
/packages/data-provider | 共享 API 类型、endpoint、查询键和数据服务函数 |
/client | React 应用程序代码 |
/packages/client | 共享前端工具 |
每日命令
| 命令 | 用途 |
|---|---|
npm run smart-reinstall | 在需要时安装依赖并构建已编译的工作区 |
npm run reinstall | 在更改 Node/npm 版本或依赖状态异常时进行全新安装 |
npm run backend:dev | 启动后端并开启文件监视 |
npm run frontend:dev | 在端口 3090 启动前端开发服务器 |
npm run build:data-provider | 在 API/类型更改后重新构建共享的 data-provider 代码 |
npm run build | 通过 Turborepo 构建所有已编译的工作区 |
开发资源
开发资源
- 如果您不熟悉仓库、分支(fork)、分支(branch)和拉取请求(pull request),请先阅读 GitHub 的协作开发指南。
- 在提交 PR 之前,请阅读 Contributor Guidelines。
- 请参考 Contributor Setup 以获取完整的本地设置流程。
- 请遵循 Code Standards and Conventions 以了解工作区边界、导入顺序、类型定义、测试以及前端规则。
这篇指南怎么样?