Langflow CLI
Langflow 命令行界面是用于管理和运行 Langflow 服务器的主要界面。
当您 安装 Langflow 包 时,Langflow CLI 会自动安装。 它不适用于 Langflow Desktop。
如何使用 CLI
调用 Langflow CLI 的方式有多种,具体取决于您的安装方法和环境。
推荐的方法是在安装了 Langflow 的虚拟环境中使用 uv run 运行 CLI。
例如,要在默认端口上启动 Langflow,请运行以下命令:
_10uv run langflow run
如果 Langflow 已全局安装或已添加到您的 PATH 中,则可以直接使用 langflow 执行 CLI。
_10langflow run
优先级
Langflow CLI 选项会覆盖终端或主 .env 文件中设置的 环境变量 的值。
例如,如果您将 LANGFLOW_PORT=7860 定义为环境变量,并使用 --port 7880 运行 CLI,那么 Langflow 将端口设置为 7880,因为 CLI 选项覆盖了环境变量。
这也适用于布尔型环境变量。
例如,如果您在 .env 文件中设置了 LANGFLOW_REMOVE_API_KEYS=True,则可以通过使用 --no-remove-api-keys 运行 CLI 在运行时将其更改为 False。
Langflow CLI 选项
所有 Langflow CLI 命令都支持修改命令行为或设置环境变量的选项。
要设置选项的值,可以使用以下任一语法风格:
--option value--option=value
包含空格的值必须用引号括起来:
--option 'Value with Spaces'--option="Value with Spaces"
布尔选项
布尔选项用于启用和禁用设置。 它们具有 true(启用)和 false(禁用)形式:
- 启用 (true):
--option - 禁用 (false):
--no-option
以下示例比较了 REMOVE_API_KEYS 的布尔选项形式。
- True
- False
--remove-api-keys 等同于在 .env 中设置 LANGFLOW_REMOVE_API_KEYS=True:
_10uv run langflow run --remove-api-keys
--no-remove-api-keys 等同于在 .env 中设置 LANGFLOW_REMOVE_API_KEYS=False:
_10uv run langflow run --no-remove-api-keys
在以下命令参考中,布尔值的默认值包括 CLI 标志和等效的布尔评估,例如 "--option (true)" 和 "--no-option (false)"。
通用选项
以下选项适用于所有 Langflow CLI 命令:
--version,-v: 显示版本并退出。--install-completion: 为当前 shell 安装自动补全。--show-completion: 如果已安装,显示自动补全配置文件的位置。--help: 打印有关命令用法、选项和参数的信息。
CLI 命令
以下部分描述了可用的 CLI 命令 以及每个命令可用的任何其他选项(除了 通用选项)。
langflow
不带任何参数运行 CLI 会打印可用选项和命令的列表。
- uv (推荐)
- 直接调用
_10uv run langflow
_10langflow
langflow api-key
创建一个 Langflow API 密钥。
您必须是超级用户才能使用 CLI 创建 API 密钥。 有关更多信息,请参阅 Langflow API 密钥。
- uv (推荐)
- 直接调用
_10uv run langflow api-key
_10langflow api-key
选项
| 选项 | 默认值 | 类型 | 描述 |
|---|---|---|---|
--log-level | error | String | 日志级别。debug、info、warning、error 或 critical 之一。 |
langflow copy-db
将 Langflow 数据库文件从缓存目录复制到当前 Langflow 安装目录,即包含 __main__.py 的目录。
您可以通过运行 which langflow 找到复制目标目录。
如果缓存目录中存在以下文件,则会进行复制:
langflow.db: 存储在用户缓存目录中的主 Langflow 数据库langflow-pre.db: 预发布数据库(如果存在)
- uv (推荐)
- 直接调用
_10uv run langflow copy-db
_10langflow copy-db
langflow migration
使用 Alembic 管理 Langflow 数据库模式更改,Alembic 是 SQLAlchemy 的数据库迁移工具。
migration 命令有两种模式:
-
测试模式 (默认): 检查是否可以安全应用迁移, 而不实际运行迁移。 使用此模式可在进行迁移之前预览将对数据库模式进行的更改。
-
修复模式 (Fix mode): 应用迁移以更新数据库模式。
注意langflow migration --fix是一个破坏性操作,可能会删除数据。 务必先运行langflow migration以预览更改。
- uv (推荐)
- 全局
- 运行测试模式:
_10uv run langflow migration
-
预览测试返回的更改,以确定是否可以安全地进行迁移。
-
运行修复模式以应用更改:
_10uv run langflow migration --fix
- 运行测试模式:
_10langflow migration
-
预览测试返回的更改,以确定是否可以安全地进行迁移。
-
运行修复模式以应用更改:
_10langflow migration --fix
langflow run
启动 Langflow 服务器。
- uv (推荐)
- 直接调用
_10uv run langflow run [OPTIONS]
_10langflow run [OPTIONS]
选项
此命令支持 Langflow 服务器的一些常见且非敏感的配置选项。 其他选项必须在 .env 或您的终端中设置。 有关 Langflow 配置选项的更多信息,请参阅 Langflow 环境变量。
| 选项 | 默认值 | 类型 | 描述 |
|---|---|---|---|
--auto-saving | --auto-saving (true) | Boolean | 是否在视觉编辑器中启用流自动保存。使用 --no-auto-saving 禁用流自动保存。 |
--auto-saving-interval | 1000 | Integer | 流自动保存的时间间隔(毫秒)。 |
--backend-only | --no-backend-only (false) | Boolean | 是否仅运行 Langflow 的后端服务(无前端)。省略或使用 --no-backend-only 以同时启动前端和后端。请参阅 以无头模式启动 Langflow。 |
--cache | async | String | 要使用的 缓存存储 类型。async、redis、memory 或 disk 之一。 |
--components-path | 未设置 | String | 包含自定义组件的目录路径。 |
--dev | --no-dev (false) | Boolean | 是否在开发模式下运行(可能包含错误)。 |
--env-file | 未设置 | String | 包含 Langflow 环境变量的 .env 文件路径。请参阅 使用特定的 .env 文件启动 Langflow。 |
--frontend-path | 未设置 | String | 包含构建文件的前端目录路径。仅在 为 Langflow 代码库做贡献 或开发包含自定义前端代码的自定义 Langflow 镜像时使用。 |
--health-check-max-retries | 5 | Integer | Langflow 服务器健康检查的最大重试次数。 |
--host | localhost | String | Langflow 服务器运行的主机名。 |
--log-file | logs/langflow.log | String | Langflow 日志文件的路径。 |
--log-level | critical | String | 日志级别,为 debug、info、warning、error 或 critical 之一。 |
--log-rotation | 未设置 | String | 日志轮转间隔,可以是时间时长或文件大小。 |
--max-file-size-upload | 1024 | Integer | 文件上传的最大限制(MB)。 |
--open-browser | --no-open-browser (false) | Boolean | 启动时是否打开系统 Web 浏览器。使用 --open-browser 在 Langflow 启动时打开系统默认 Web 浏览器。 |
--port | 7860 | Integer | Langflow 服务器运行的端口。如果指定的端口已被占用,服务器会自动选择一个空闲端口。 |
--remove-api-keys | --no-remove-api-keys (false) | Boolean | 是否从保存在 Langflow 数据库中的流中删除 API 密钥和令牌。 |
--ssl-cert-file-path | 未设置 | String | 本地系统上用于 SSL 加密连接的 SSL 证书文件路径。 |
--ssl-key-file-path | 未设置 | String | 本地系统上用于 SSL 加密连接的 SSL 密钥文件路径。 |
--worker-timeout | 300 | Integer | Langflow 服务器工作进程超时时间(秒)。 |
--workers | 1 | Integer | Langflow 服务器工作进程的数量。 |
使用特定的 .env 文件启动 Langflow
--env-file 选项使用给定的 .env 文件中定义的配置启动 Langflow。
追加到此命令的其他选项会覆盖 .env 文件中的重复值。
如果省略 --env-file 或其未包含所有必需的变量,Langflow 将使用这些变量的默认值。
- uv (推荐)
- 直接调用
_10uv run langflow run --env-file PATH/TO/LANGFLOW/.env
_10langflow run --env-file PATH/TO/LANGFLOW/.env
以无头模式启动 Langflow
--backend-only 选项仅启动 Langflow 的后端服务。
此无头模式没有前端(视觉编辑器),您只能通过 Langflow API 和 CLI 以编程方式访问服务器。
- uv (推荐)
- 直接调用
_10uv run langflow run --backend-only
_10langflow run --backend-only
langflow superuser
使用给定的用户名和密码创建一个超级用户帐户。
- uv (推荐)
- 直接调用
_10uv run langflow superuser --username [NAME] --password [PASSWORD] [OPTIONS]
_10langflow superuser --username [NAME] --password [PASSWORD] [OPTIONS]
选项
| 选项 | 默认值 | 类型 | 描述 |
|---|---|---|---|
--log-level | error | String | 日志级别。debug、info、warning、error 或 critical 之一。 |
对于此命令,--username 和 --password 不是可选的,并且没有默认值。
如果您不提供这些参数,命令将失败。
有关更多信息,请参阅 LANGFLOW_SUPERUSER 和 LANGFLOW_SUPERUSER_PASSWORD。
禁用 CLI 超级用户创建
langflow superuser 命令由 LANGFLOW_ENABLE_SUPERUSER_CLI 环境变量控制:
LANGFLOW_ENABLE_SUPERUSER_CLI=True(默认):langflow superuser命令可用,且超级用户创建不受限制。LANGFLOW_ENABLE_SUPERUSER_CLI=False(推荐):禁用langflow superuser命令。 出于安全原因,建议在生产环境中禁用此功能,以防止未经授权的超级用户创建。
要禁用 langflow superuser 命令,必须在 Langflow .env 文件中设置 LANGFLOW_ENABLE_SUPERUSER_CLI=False,然后 使用您的 .env 文件启动 Langflow。