跳到主要内容

创建智能工作流

说明:目前 DevChat IDE 插件尚未切换至符合《DevStream 接口规范》的工作流引擎实现,实际使用中请暂时按本文档操作。

用户可采用如下两种方式创建工作流。通过手工创建,您将了解具体的目录和文件设置,快速上手直接操作;/chatflow.gen可代劳这些操作,并能根据您的自然语言描述生成智能工作流实现(至少是初稿供用户修改)。

1. 手工创建

我们通过创建一个简单的 hello_world 工作流了解在 DevChat 中实现工作流的过程。

安装 DevChat IDE 插件后,你的用户目录(~/)下会有.chat/scripts目录,用于存储和管理 DevChat 使用的智能工作流。 其下的 custom 目录用于存放用户自定义工作流。

1.1. 创建自定义命名空间

  • .chat/scripts/custom 目录下创建一个名为 demo 的目录,作为工作流的命名空间。

  • .chat/scripts/custom 目录下创建或修改 config.yml 文件,将 demo 加入 namespaces,完成自定义命名空间的注册,形如下例:

    namespaces: 
    - demo

1.2. 创建 hello_world 工作流

  • 在上述 demo 目录下创建 hello_world 子目录。

  • hello_world 目录下创建command.yml文件,其内容如下:

    description: Say hello to the world
    steps:
    - run: echo "Hello World!"
    - run: echo "Have a nice day!"

1.3. 运行 hello_world 工作流

打开 DevChat 对话框,输入 hello_world 并发送。

image

总结

  • 自定义工作流统一存放在 ~/.chat/scripts/custom 目录下,通过命名空间进行管理,每个命名空间下可以有多个工作流。
  • 每个工作流由一个包含 command.yml 的目录组成,command.yml 为工作流的定义文件。
  • 目录路径即为工作流名,替换命名空间下的路径分隔符为 .,如 demogitlab/mr 对应的工作流为 gitlab.mr
  • 通过在 DevChat 对话框中发送以 / 开头的工作流命令运行工作流。

2. 使用/chatflow.gen

3. 其他辅助工具

3.1. Portable IDE Service (PIDES)

在工作流中与 IDE 编辑器环境交互的协议,跨 IDE 统一接口,避免适配多种 IDE 的工作量。

中文版接口描述参见:https://merico.feishu.cn/wiki/A3LCwOUE8igbHRkhqE5cviJunyd(待更新)

为了方便用户在 Python 脚本中使用 PIDES,我们提供了 Python 接口封装:https://github.com/devchat-ai/workflows/blob/scripts/lib/ide_service/service.py