跳至正文

终端 > 命令输入

YAML 工作流

在 ChatGPT 中打开 ↗
向 ChatGPT 询问关于此页面的内容
在 Claude 中打开 ↗
向 Claude 询问关于此页面的内容
已复制!

工作流是在 Warp 中执行和共享命令的一种更简单的方法。

工作流易于参数化,并且可以通过名称、描述或命令参数进行搜索。Warp 团队和社区提供的 常用工作流 可在应用程序中随时使用。此外,您可以在本地或 Git 存储库中创建和设定工作流范围。

  • 打开 命令搜索 或工作流搜索 CTRL-SHIFT-R 面板来查找工作流。
  • 进入菜单后,在搜索栏中开始输入以过滤现有工作流。(例如 git、android、npm 等)
  • 当通过 ENTER 键选择工作流时,您可以使用 SHIFT-TAB 在参数之间循环切换。
  • 您还可以通过鼠标拖动右边缘来水平扩展菜单。

工作流解决了别名的一些主要痛点,特别是

  1. 需要切换上下文
    1. 离开 vim、source 点文件或重置 shell
  2. 难以附加文档
  3. 无法轻松搜索或共享
  4. 无法轻松参数化

您可以将本地工作流(作用于您的机器)存储在

终端窗口
$HOME/.warp/workflows/

或者,您可以通过将它们保存在 {{path_to_git_repo}}/.warp/workflows/ 中与团队共享。本地和存储库工作流分别可以在工作流菜单的“My Workflows”(我的工作流)和“Repository Workflows”(存储库工作流)选项卡下访问。

有关示例,请参阅 Workflows 仓库 中的现有工作流规范。此外,我们在下方概述了文件格式

工作流文件格式

工作流文件格式是 yaml 文件,必须具有 `.yml` 或 `yaml` 扩展名。如果您是 YAML 新手并想了解更多信息,请参阅 Y 分钟学会 YAML


name

工作流的名称。必填。

command

选择工作流时执行的命令。必填。

tags

用于对工作流进行分类的标签数组。可选。

tags: ["git", "GitHub"]

description

工作流及其功能的描述。可选。

source_url

工作流最初生成的 URL。这将在 commands.dev 中显示以用于归属。可选。

author

工作流的原始作者。例如,如果此工作流是从 StackOverflow 生成的,则 author 将是该 StackOverflow 帖子的 author。这将在 commands.dev 中显示以用于归属。可选。

author_url

工作流原始作者的 URL。例如,如果此工作流是从 StackOverflow 生成的,则 author_url 将是 StackOverflow 作者的个人资料页面。这将在 commands.dev 中显示以用于归属。可选。

shells

此工作流有效的 shell 列表。如果未指定,则假定工作流在所有 shell 中都有效。这必须是 zshbashfish 之一。

arguments

工作流可以具有参数化参数,以指定需要由用户填写的工作流部分。

您可以通过用两个大括号 ({{<argument>}}) 包围它来指定工作流命令的哪一部分映射到参数。

例如工作流命令

终端窗口
for {{variable}} in {{sequence}}; do
{{command}}
done

包括 3 个参数:variablesequencecommand

arguments.name

参数的名称。参数名称在命令中用于指定参数的范围。必填。

name: Example Workflow
command: echo {{string}}
arguments:
- name: string
description: The value to echo

arguments.description

参数的描述。这将在 commands.dev 和 Warp 中显示,以帮助用户填写工作流参数。可选

arguments.default_value

参数的默认值。如果指定,default_value 将替换命令中的参数名称。可选


本地工作流的作用域是您的机器。存储库工作流的作用域是 Git 存储库,任何克隆了该存储库的人都可以访问。

终端窗口
# Local Workflow Path
$HOME/.warp/workflows/
# Repository Workflow Path
{{path_to_git_repo}}/.warp/workflows

首先,在以下位置创建一个工作流子目录

终端窗口
mkdir -p $HOME/.warp/workflows/

将工作流的 .yaml 文件添加到此目录;如果文件格式有效,Warp 应自动将其加载到工作流菜单中。

cp ~/path/to/my_awesome_workflow.yaml {{path_to_local_workflow_folder}}

您可以像添加本地工作流一样添加存储库工作流。在存储库的根目录中创建一个 Workflows 文件夹并保存您的 .yaml 文件,如下所示

cd {{repository_path}}
mkdir -p .warp/workflows/
cp ~/path/to/my_awesome_workflow.yaml {{path_to_local_workflow_folder}}

您可以通过 fork Workflows 仓库 并提交拉取请求来贡献工作流,这些工作流将提供给其他 Warp 用户。有关更多详细信息,请参阅 贡献 部分。