跳到主要内容

为 Langflow 做贡献

本指南旨在帮助您开始为 Langflow 做贡献。 作为一个在快速发展的领域中的开源项目,Langflow 欢迎贡献,无论是新功能、改进的基础设施还是更好的文档。

要为此项目贡献代码或文档,请遵循分叉和拉取请求工作流。

从源代码安装 Langflow

通过分叉仓库从源代码安装 Langflow,然后使用 Make 设置您的开发环境。

先决条件

Windows

对于 Windows 安装,您不需要 Make,您可以在 Langflow 仓库中找到 Windows 脚本

克隆 Langflow 仓库

  1. 分叉 Langflow GitHub 仓库

  2. 在您的本地计算机上将新的远程分支添加到本地仓库:


_10
git 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:

    1. 构建 Langflow 前端:


      _10
      cd src/frontend && npm install && npm run build && npm run start

    2. 将构建的 src/frontend/build 目录的内容复制到 src/backend/base/langflow/frontend

    3. 启动 Langflow:


      _10
      uv run langflow run

Langflow 前端在 http://localhost:7860 上提供服务。

使用 Powershell 从源代码运行

要在 Windows 上从源代码运行 Langflow,您可以使用 Langflow 项目包含的脚本,或在终端中运行命令。

执行以下操作之一:

  • 要使用包含的脚本安装和运行 Langflow,请导航到 scripts/windows 目录,然后运行 build_and_run.ps1 文件。

  • 要从 Powershell 终端运行 Langflow:

    1. 分别运行以下命令来构建 Langflow 前端:


      _10
      cd src/frontend
      _10
      npm install
      _10
      npm run build
      _10
      npm run start

    2. 将构建的 src/frontend/build 目录的内容复制到 src/backend/base/langflow/frontend

    3. 启动 Langflow:


      _10
      uv run langflow run

Langflow 前端在 http://localhost:7860 上提供服务。

设置您的 Langflow 开发环境

  1. 设置 Langflow 开发环境:


    _10
    make init

    此命令通过执行以下操作来设置开发环境:

    • 检查 uv 和 npm。
    • 安装后端和前端依赖项。
    • 安装预提交钩子。
  2. 在单独的终端中运行后端和前端进行开发:


    _10
    # 在开发模式下运行后端(包括热重载)
    _10
    make backend


    _10
    # 在另一个终端中,在开发模式下运行前端(包括热重载)
    _10
    make frontend

    make backendmake frontend 命令会自动安装依赖项,因此您无需单独运行安装命令。

    前端在 http://localhost:7860 上提供服务。

  3. 可选:安装预提交钩子以帮助保持更改整洁且格式良好。

    安装预提交钩子后,您必须使用 uv run git commit 而不是直接使用 git commit

    make init 会自动安装预提交钩子,或者您可以运行以下命令手动安装:


    _10
    uv sync
    _10
    uv run pre-commit install

  4. 要在推送提交之前测试更改,请运行 make lintmake formatmake unit_tests。 要运行所有测试,包括覆盖率、单元和集成测试,请运行 make tests

调试

仓库包含一个用于在 VSCode 中调试后端的 .vscode/launch.json 文件,这比使用 Docker Compose 调试更快。要在 VSCode 中使用 launch.json 文件调试 Langflow:

有关更多信息,请参阅 VSCode 文档

其他贡献指南

贡献文档

文档使用 Docusaurus 构建,并用 Markdown 编写。 有关样式指导,请参阅 Google 开发者文档样式指南

  1. 安装 Node.jsYarn

  2. 分叉 Langflow GitHub 仓库

  3. 在您的本地计算机上将新的远程分支添加到本地仓库:


    _10
    git remote add FORK_NAME https://github.com/GIT_USERNAME/langflow.git

    替换以下内容:

    • FORK_NAME:您的仓库分叉的名称
    • GIT_USERNAME:您的 Git 用户名
  4. 从本地 Langflow 分叉的根目录,切换到 /docs 目录:


    _10
    cd docs

  5. 安装依赖项并启动带有热重载的本地 Docusaurus 静态站点:


    _10
    yarn install
    _10
    yarn start

    文档在 localhost:3000 上提供服务。

  6. 要编辑和创建内容,请使用 langflow/docs/docs 目录中的 .mdx 文件。

    创建 .mdx 格式的新文件。

    导航在 langflow/docs/sidebars.js 中定义。

    大多数页面使用 slug 进行简写交叉引用,而不是提供完整或相对目录路径。 例如,如果页面的 slug/cool-page,您可以从任何其他 /docs 页面使用 [Cool page](/cool-page) 链接到它。

  7. 建议:进行一些更改后,运行 yarn build 在本地构建站点,提供更强大的日志记录。 这可以帮助您在创建 PR 之前找到断开的链接。

开启拉取请求

要提交拉取请求,请执行以下操作:

  1. 针对 main 分支使用您的补丁打开新的 GitHub 拉取请求。
  2. 确保 PR 标题遵循语义提交约定。例如,功能是 feat: add new feature,修复是 fix: correct issue with X

关于拉取请求标题的一些额外指导:

  • 确保拉取请求描述清楚地描述问题和解决方案。如果 PR 修复了一个问题,请在 PR 描述中包含修复问题的链接,格式为 Fixes #1234
  • 拉取请求标题会出现在 Langflow 的发布说明中,因此它们应该尽可能明确地解释 PR 的作用。
  • 拉取请求应该努力只修复一件事,并且应该包含对正在修复的内容的良好描述。
  1. Langflow 维护者将审查您的拉取请求并可能请求更改,因此请确保您关注您的 PR。感谢您的贡献!

有关更多信息,请参阅 Python 开发者指南

Search