为 Langflow 做贡献
本指南旨在帮助您开始为 Langflow 做贡献。 作为一个在快速发展的领域中的开源项目,Langflow 欢迎贡献,无论是新功能、改进的基础设施还是更好的文档。
要为此项目贡献代码或文档,请遵循分叉和拉取请求工作流。
从源代码安装 Langflow
通过分叉仓库从源代码安装 Langflow,然后使用 Make 设置您的开发环境。
先决条件
对于 Windows 安装,您不需要 Make,您可以在 Langflow 仓库中找到 Windows 脚本。
克隆 Langflow 仓库
-
在您的本地计算机上将新的远程分支添加到本地仓库:
_10git remote add FORK_NAME https://github.com/GIT_USERNAME/langflow.git
替换以下内容:
FORK_NAME
:您的仓库分叉的名称GIT_USERNAME
:您的 Git 用户名
从源代码运行 Langflow
您可以在克隆仓库后从源代码运行 Langflow,即使您不打算为代码库做贡献。
在 macOS/Linux 上从源代码运行
在您的终端中, 导航到 Langflow 目录的根目录,然后运行 make run_cli
。
此命令执行以下操作:
- 安装前端和后端依赖项
- 构建前端静态文件
- 使用默认设置启动应用程序
Langflow 前端在 http://localhost:7860
上提供服务。
使用 Windows CMD 从源代码运行
要在 Windows 上从源代码运行 Langflow,您可以使用 Langflow 项目包含的脚本,或在终端中运行命令。
执行以下操作之一:
-
要使用包含的 Windows 批处理文件安装和运行 Langflow,请导航到
scripts/windows
目录,然后运行build_and_run.bat
文件。 -
要从 Windows 命令行运行 Langflow:
-
构建 Langflow 前端:
_10cd src/frontend && npm install && npm run build && npm run start -
将构建的
src/frontend/build
目录的内容复制到src/backend/base/langflow/frontend
。 -
启动 Langflow:
_10uv run langflow run
-
Langflow 前端在 http://localhost:7860
上提供服务。
使用 Powershell 从源代码运行
要在 Windows 上从源代码运行 Langflow,您可以使用 Langflow 项目包含的脚本,或在终端中运行命令。
执行以下操作之一:
-
要使用包含的脚本安装和运行 Langflow,请导航到
scripts/windows
目录,然后运行build_and_run.ps1
文件。 -
要从 Powershell 终端运行 Langflow:
-
分别运行以下命令来构建 Langflow 前端:
_10cd src/frontend_10npm install_10npm run build_10npm run start -
将构建的
src/frontend/build
目录的内容复制到src/backend/base/langflow/frontend
。 -
启动 Langflow:
_10uv run langflow run
-
Langflow 前端在 http://localhost:7860
上提 供服务。
设置您的 Langflow 开发环境
- Linux 或 macOS
- Windows
-
设置 Langflow 开发环境:
_10make init此命令通过执行以下操作来设置开发环境:
- 检查 uv 和 npm。
- 安装后端和前端依赖项。
- 安装预提交钩子。
-
在单独的终端中运行后端和前端进行开发:
_10# 在开发模式下运行后端(包括热重载)_10make backend_10# 在另一个终端中,在开发模式下运行前端(包括热重载)_10make frontendmake backend
和make frontend
命令会自动安装依赖项,因此您无需单独运行安装命令。前端在
http://localhost:7860
上提供服务。 -
可选:安装预提交钩子以帮助保持更改整洁且格式良好。
安装预提交钩子后,您必须使用
uv run git commit
而不是直接使用git commit
。make init
会自动安装预提交钩子,或者您可以运行以下命令手动安装:_10uv sync_10uv run pre-commit install -
要在推送提交之前测试更改,请运行
make lint
、make format
和make unit_tests
。 要运行所有测试,包括覆盖率、单元和集成测试,请运行make tests
。
由于 Windows 不包含 make
,从源代码构建和运行 Langflow 使用 npm
和 uv
。
要设置 Langflow 开发环境,请在单独的终端中运行前端和后端:
-
要运行前端,请 运行以下命令:
_10cd src/frontend_10npm install_10npm run start -
在单独的终端中,运行以下命令来运行后端:
_10uv run langflow run --backend-only
前端在 http://localhost:7860
上提供服务。
调试
仓库包含一个用于在 VSCode 中调试后端的 .vscode/launch.json
文件,这比使用 Docker Compose 调试更快。要在 VSCode 中使用 launch.json
文件调试 Langflow:
有关更多信息,请参阅 VSCode 文档。
其他贡献指南
贡献文档
文档使用 Docusaurus 构建,并用 Markdown 编写。 有关样式指导,请参阅 Google 开发者文档样式指南。
-
在您的本地计算机上将新的远程分支添加到本地仓库:
_10git remote add FORK_NAME https://github.com/GIT_USERNAME/langflow.git替换以下内容:
FORK_NAME
:您的仓库分叉的名称GIT_USERNAME
:您的 Git 用户名
-
从本地 Langflow 分叉的根目录,切换到
/docs
目录:_10cd docs -
安装依赖项并启动带有热重载的本地 Docusaurus 静态站点:
_10yarn install_10yarn start文档在
localhost:3000
上提供服务。 -
要编辑和创建内容,请使用
langflow/docs/docs
目录中的.mdx
文件。创建
.mdx
格式的新文件。导航在
langflow/docs/sidebars.js
中定义。大多数页面使用
slug
进行简写交叉引用,而不是提供完整或相对目录路径。 例如,如果页面的slug
为/cool-page
,您可以从任何其他/docs
页面使用[Cool page](/cool-page)
链接到它。 -
建议:进行一些更改后,运行
yarn build
在本地构建站点,提供更强大的日志记录。 这可以帮助您在创建 PR 之前找到断开的链接。
开启拉取请求
要提交拉取请求,请执行以下操作:
- 针对
main
分支使用您的补丁打开新的 GitHub 拉取请求。 - 确保 PR 标题遵循语义提交约定。例如,功能是
feat: add new feature
,修复是fix: correct issue with X
。
关于拉取请求标题的一些额外指导:
- 确保拉取请求描述清楚地描述问题和解决方案。如果 PR 修复了一个问题,请在 PR 描述中包含修复问题的链接,格式为
Fixes #1234
。 - 拉取请求标题会出现在 Langflow 的发布说明中,因此它们应该尽可能明确地解释 PR 的作用。
- 拉取请求应该努力只修复一件事,并且应该包含对正在修复的内容的良好描述。
- Langflow 维护者将审查您的拉取请求并可能请求更改,因此请确保您关注您的 PR。感谢您的贡献!
有关更多信息,请参阅 Python 开发者指南。