Back to all posts

Automatize seus agentes de IA com a integração GitHub Actions da VM0

Introdução

Hoje, compartilhamos um exemplo prático usando o vm0-ai/run-action, um GitHub Action que permite acionar workflows da VM0 diretamente dos seus pipelines de CI/CD. Essa integração traz a automação de agentes para dentro dos seus repositórios no GitHub, facilitando agendar e executar agentes de IA automaticamente.

O que é a VM0

A VM0 é um runtime de agentes para construir agentes de IA. Ela fornece a infraestrutura para orquestrar habilidades de agentes, rodar agentes em sandboxes e definir workflows de agentes usando linguagem natural.

O que é o GitHub Actions

O GitHub Actions é a plataforma de automação integrada do GitHub que permite executar workflows com base em eventos ou em um agendamento. Usando cron jobs, você pode executar tarefas automaticamente em intervalos fixos, como rodar pipelines de CI, jobs em segundo plano ou agentes de IA.

Do local para a nuvem: executando workflows da VM0 com o GitHub Actions

Antes, executar workflows da VM0 exigia rodar o comando vm0 run a partir da sua máquina local. Embora isso funcionasse bem para desenvolvimento e testes (além disso, a VM0 está em beta!), apresentava desafios para:

Com o novo vm0-ai/run-action, agora você pode acionar workflows da VM0 diretamente do GitHub Actions usando uma configuração de action simples. Chega de executar comandos manualmente: basta descrever a tarefa do seu agente e deixar o GitHub cuidar do agendamento e da execução.

Primeiros passos: seu primeiro GitHub Action da VM0

Usar a VM0 no GitHub Actions é simples. Aqui está um exemplo básico:

- 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 }}

Configurando a autenticação

Para autenticar seu GitHub Actions com a VM0, você precisará configurar um secret VM0_TOKEN no seu repositório. Esse é um processo de configuração único:

# Gere um token de autenticação da VM0 e armazene-o no GitHub Secrets
vm0 auth setup-token | gh secret set VM0_TOKEN

Esse comando gera um token a partir da sua autenticação local da VM0 e o armazena com segurança nos secrets do seu repositório no GitHub, deixando-o disponível para seus workflows.

Exemplo do mundo real: publicação automatizada de conteúdo

Vamos percorrer um exemplo completo que demonstra o poder da integração da VM0 com o GitHub Actions. Vamos criar um content farm automatizado que publica diariamente artigos de notícias sobre IA no dev.to.

O cenário

Temos um workflow existente da VM0 em vm0-cookbooks/104-content-farm que coleta notícias diárias sobre IA e publica artigos. Agora, queremos que esse workflow rode automaticamente em um agendamento.

Passo 1: Crie um repositório no GitHub

Primeiro, crie um novo repositório para abrigar seu workflow automatizado:

# Crie e configure seu repositório
git clone <https://github.com/yourusername/vm0-content-farm>
cd vm0-content-farm

Passo 2: Configure o workflow

Crie .github/workflows/daily.yaml no seu repositório:

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 }}

Vamos detalhar os componentes principais:

Passo 3: Configure seus secrets

Configure os tokens de autenticação necessários no seu repositório:

# Configure a autenticação do Claude Code
claude setup-token
gh secret set CLAUDE_CODE_OAUTH_TOKEN --body "your-claude-token"

# Configure as outras chaves de API necessárias
gh secret set FAL_KEY --body "your-fal-key"
gh secret set DEVTO_API_KEY --body "your-devto-api-key"

Nota de segurança: Esses secrets são armazenados com segurança no GitHub e só ficam acessíveis aos seus workflows. Eles nunca são expostos em logs ou nas saídas de workflow.

Passo 4: Adicione o workflow de deploy automático

Crie .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 }}

Isso faz o deploy automático da configuração do seu agente a cada push para a main. Sem necessidade de um vm0 compose manual.

Passo 5: Faça o deploy e teste

  Deploy:
  # Obtenha a configuração do agente content-farm
  git clone https://github.com/vm0-ai/vm0-cookbooks
  cp -r vm0-cookbooks/104-content-farm/* ./

  # Faça o push para acionar o deploy automático
  git add .
  git commit -m "feat: add content farm agent"
  git push origin main

  Test:
  # Acione o workflow manualmente
  gh workflow run scheduled-run.yml

É isso! Seu agente agora fará deploy automático a cada push e rodará no agendamento.

Conclusão

A integração da VM0 com o GitHub Actions ajuda você a trazer agentes de IA para o seu fluxo de desenvolvimento já existente.

Em vez de rodar agentes manualmente ou tratá-los como scripts pontuais, você pode executá-los diretamente dentro dos seus pipelines de CI/CD e em um agendamento. Isso facilita:

Seja para publicar conteúdo, gerar relatórios, revisar código ou automatizar workflows internos, o GitHub Actions da VM0 oferece uma forma simples e confiável de rodar agentes de IA quando eles são necessários.

Para começar, explore nosso repositório de cookbooks para exemplos funcionais e experimente o

vm0-ai/run-action nos seus próprios workflows do GitHub.

Recursos adicionais

Related Articles

Stay in the loop

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

SubscribeJoin Discord