Back to all posts

通过 VM0 GitHub Actions 集成自动化您的 AI 智能体

通过 VM0 GitHub Actions 集成自动化您的 AI 智能体

简介

今天,我们分享了一个使用 vm0-ai/run-action 的实用示例。这是一个 GitHub Action,可让您直接从 CI/CD 流水线触发 VM0 工作流。该集成将智能体自动化引入您的 GitHub 仓库,让您能够轻松地按计划自动运行 AI 智能体。

什么是 VM0

VM0 是一个用于构建 AI 智能体的运行时环境。它提供了编排智能体技能、在沙箱中运行智能体以及使用自然语言定义智能体工作流所需的基础设施。

什么是 GitHub Actions

GitHub Actions 是 GitHub 内置的自动化平台,允许您根据事件或按计划运行工作流。通过 cron 任务,您可以按固定间隔自动执行任务,例如运行 CI 流水线、后台作业或 AI 智能体。

从本地到云端:使用 GitHub Actions 运行 VM0 工作流

此前,运行 VM0 工作流需要在本地机器上执行 vm0 run 命令。虽然这在开发和测试阶段效果不错(VM0 目前也仍处于测试阶段!),但在以下场景中存在一定挑战:

  • 定时自动化 — 在特定时间运行智能体需要人工干预
  • CI/CD 集成 — 将智能体纳入部署流水线较为复杂
  • 团队协作 — 跨团队共享和协调智能体执行较为困难
  • 生产部署 — 在生产环境中管理智能体存在一定难度

借助全新的 vm0-ai/run-action,您现在可以通过简单的 Action 配置直接从 GitHub Actions 触发 VM0 工作流。无需再手动执行命令,只需描述您的智能体任务,让 GitHub 负责调度和执行。

快速上手:您的第一个 VM0 GitHub Action

在 GitHub Actions 中使用 VM0 非常简单。以下是一个基本示例:

- name: Run VM0 Agent
  uses: vm0-ai/run-action@v1
  with:
    agent: my-agent
    prompt: "Build and test the project"
    artifact-name: my-artifact
    vm0-token: ${{ secrets.VM0_TOKEN }}

配置身份验证

要将您的 GitHub Actions 与 VM0 进行身份验证,您需要在仓库中设置 VM0_TOKEN 密钥。这是一次性的配置过程:

# Generate a VM0 authentication token and store it in GitHub Secrets
vm0 auth setup-token | gh secret set VM0_TOKEN

该命令会从您本地的 VM0 身份验证信息中生成一个令牌,并将其安全地存储在 GitHub 仓库的密钥中,供您的工作流使用。

实际案例:自动化内容发布

让我们通过一个完整示例来展示 VM0 GitHub Actions 集成的强大之处。我们将创建一个自动化内容农场,每天向 dev.to 发布 AI 新闻文章。

场景说明

我们在 vm0-cookbooks/104-content-farm 已有一个现成的 VM0 工作流,用于收集每日 AI 新闻并发布文章。现在,我们希望该工作流能够按计划自动运行。

第一步:创建 GitHub 仓库

首先,创建一个新仓库来存放您的自动化工作流:

# Create and set up your repository
git clone <https://github.com/yourusername/vm0-content-farm>
cd vm0-content-farm

第二步:配置工作流

在您的仓库中创建 .github/workflows/daily.yaml

name: Content Farm

on:
  schedule:
    # Run at 10:00 AM UTC+8 (2:00 AM UTC) every day
    - cron: '0 2 * * *'
  workflow_dispatch:

jobs:
  run-content-farm:
    runs-on: ubuntu-latest
    steps:
      - name: Run Content Farm Agent
        uses: vm0-ai/run-action@v1
        with:
          agent: content-farm
          prompt: "Write an article about recent AI developments, providing brief summaries of each story to help readers quickly browse the news over their morning coffee"
          artifact-name: content-farm-output
          vm0-token: ${{ secrets.VM0_TOKEN }}
          secrets: |
            CLAUDE_CODE_OAUTH_TOKEN=${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
            FAL_KEY=${{ secrets.FAL_KEY }}
            DEVTO_API_KEY=${{ secrets.DEVTO_API_KEY }}

以下是各关键组件的说明:

  • schedule:使用 cron 语法,每天 PST(UTC-8)凌晨 2:00 运行
  • workflow_dispatch:允许手动触发以便测试
  • agent:指定要运行的 VM0 智能体
  • prompt:为智能体提供任务说明
  • secrets:将所需的 API 密钥和令牌传递给智能体

第三步:配置密钥

在您的仓库中配置必要的身份验证令牌:

# Set up Claude Code authentication
claude setup-token
gh secret set CLAUDE_CODE_OAUTH_TOKEN --body "your-claude-token"

# Set up other required API keys
gh secret set FAL_KEY --body "your-fal-key"
gh secret set DEVTO_API_KEY --body "your-devto-api-key"

安全提示:这些密钥安全地存储在 GitHub 中,仅供您的工作流访问,不会在日志或工作流输出中暴露。

第四步:添加自动部署工作流

创建 .github/workflows/publish.yml

  name: Publish Agent

  on:
    push:
      branches:
        - main

  jobs:
    publish:
      runs-on: ubuntu-latest
      steps:
        - uses: actions/checkout@v4
        - uses: vm0-ai/compose-action@v1
          with:
            vm0-token: ${{ secrets.VM0_TOKEN }}

每次推送到 main 分支时,该工作流会自动部署您的智能体配置,无需手动执行 vm0 compose。

第五步:部署与测试

  Deploy:
  # Get the content-farm agent configuration
  git clone https://github.com/vm0-ai/vm0-cookbooks
  cp -r vm0-cookbooks/104-content-farm/* ./

  # Push to trigger auto-deployment
  git add .
  git commit -m "feat: add content farm agent"
  git push origin main

  Test:
  # Manually trigger the workflow
  gh workflow run scheduled-run.yml

就这些!您的智能体现在将在每次推送时自动部署,并按计划定时运行。

总结

VM0 GitHub Actions 集成帮助您将 AI 智能体融入现有的开发工作流。

您无需手动运行智能体或将其视为一次性脚本,而是可以直接在 CI/CD 流水线中按计划运行它们。这让以下事情变得更加简单:

  • 自动执行重复性任务,无需人工值守
  • 将智能体接入常规的开发和发布流程
  • 与团队共享并迭代智能体工作流
  • 以更可预期的方式交付由智能体驱动的自动化

无论您是在发布内容、生成报告、审查代码,还是自动化内部工作流,VM0 GitHub Actions 都为您提供了一种简单可靠的方式,在需要时运行 AI 智能体。

如需开始使用,请浏览我们的示例仓库获取可运行的示例,并在您自己的 GitHub 工作流中尝试

vm0-ai/run-action

更多资源

Stay in the loop

// Get the latest insights on AI teammates and collaboration.