Back to all posts

Automatiza tus agentes de IA con la integración de VM0 GitHub Actions

Introducción

Hoy compartimos un ejemplo práctico usando vm0-ai/run-action, una GitHub Action que te permite activar flujos de trabajo VM0 directamente desde tus pipelines de CI/CD. Esta integración trae la automatización de agentes a tus repositorios de GitHub, facilitando la programación y ejecución automática de agentes de IA.

¿Qué es VM0?

VM0 es un runtime de agentes para construir agentes de IA. Proporciona la infraestructura para orquestar habilidades de agentes, ejecutar agentes en sandboxes y definir flujos de trabajo de agentes usando lenguaje natural.

¿Qué es GitHub Actions?

GitHub Actions es la plataforma de automatización integrada de GitHub que te permite ejecutar flujos de trabajo basados en eventos o en un horario. Usando trabajos cron, puedes ejecutar tareas automáticamente en intervalos fijos, como pipelines de CI, trabajos en segundo plano o agentes de IA.

De local a la nube: Ejecutando flujos de trabajo VM0 con GitHub Actions

Anteriormente, ejecutar flujos de trabajo VM0 requería ejecutar el comando vm0 run desde tu máquina local. Aunque esto funcionaba bien para desarrollo y pruebas (¡VM0 también está en beta!), presentaba desafíos para:

Con la nueva vm0-ai/run-action, ahora puedes activar flujos de trabajo VM0 directamente desde GitHub Actions usando una configuración de action simple. No más ejecución manual de comandos, solo describe la tarea de tu agente y deja que GitHub maneje la programación y ejecución.

Primeros pasos: Tu primera GitHub Action de VM0

Usar VM0 en GitHub Actions es sencillo. Aquí hay un ejemplo 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 la autenticación

Para autenticar tus GitHub Actions con VM0, necesitarás configurar un secreto VM0_TOKEN en tu repositorio. Este es un proceso de configuración único:

# Generar un token de autenticación VM0 y almacenarlo en GitHub Secrets
vm0 auth setup-token | gh secret set VM0_TOKEN

Este comando genera un token desde tu autenticación local de VM0 y lo almacena de forma segura en los secretos de tu repositorio de GitHub, haciéndolo disponible para tus flujos de trabajo.

Ejemplo del mundo real: Publicación automatizada de contenido

Veamos un ejemplo completo que demuestra el poder de la integración de VM0 con GitHub Actions. Crearemos una granja de contenido automatizada que publica artículos diarios de noticias de IA en dev.to.

El escenario

Tenemos un flujo de trabajo VM0 existente en vm0-cookbooks/104-content-farm que recopila noticias diarias de IA y publica artículos. Ahora, queremos que este flujo de trabajo se ejecute automáticamente según un horario.

Paso 1: Crear un repositorio de GitHub

Primero, crea un nuevo repositorio para alojar tu flujo de trabajo automatizado:

# Crear y configurar tu repositorio
git clone https://github.com/yourusername/vm0-content-farm
cd vm0-content-farm

Paso 2: Configurar el flujo de trabajo

Crea .github/workflows/daily.yaml en tu repositorio:

name: Content Farm

on:
  schedule:
    # Ejecutar a las 10:00 AM UTC+8 (2:00 AM UTC) todos los días
    - 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 }}

Desglosemos los componentes clave:

Paso 3: Configurar tus secretos

Configura los tokens de autenticación necesarios en tu repositorio:

# Configurar autenticación de Claude Code
claude setup-token
gh secret set CLAUDE_CODE_OAUTH_TOKEN --body "your-claude-token"

# Configurar otras claves API requeridas
gh secret set FAL_KEY --body "your-fal-key"
gh secret set DEVTO_API_KEY --body "your-devto-api-key"

Nota de seguridad: Estos secretos se almacenan de forma segura en GitHub y solo son accesibles para tus flujos de trabajo. Nunca se exponen en logs o salidas de flujos de trabajo.

Paso 4: Agregar flujo de trabajo de auto-despliegue

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

Esto despliega automáticamente la configuración de tu agente en cada push a main. No se necesita vm0 compose manual.

Paso 5: Desplegar y probar

# Desplegar:
# Obtener la configuración del agente content-farm
git clone https://github.com/vm0-ai/vm0-cookbooks
cp -r vm0-cookbooks/104-content-farm/* ./

# Push para activar el auto-despliegue
git add .
git commit -m "feat: add content farm agent"
git push origin main

# Probar:
# Activar manualmente el flujo de trabajo
gh workflow run scheduled-run.yml

¡Eso es todo! Tu agente ahora se auto-desplegará en cada push y se ejecutará según el horario programado.

Conclusión

La integración de VM0 con GitHub Actions te ayuda a incorporar agentes de IA en tu flujo de trabajo de desarrollo existente.

En lugar de ejecutar agentes manualmente o tratarlos como scripts únicos, puedes ejecutarlos directamente dentro de tus pipelines de CI/CD y según un horario. Esto facilita:

Ya sea que estés publicando contenido, generando informes, revisando código o automatizando flujos de trabajo internos, VM0 GitHub Actions te ofrece una forma simple y confiable de ejecutar agentes de IA cuando se necesitan.

Para comenzar, explora nuestro repositorio de cookbooks para ejemplos funcionales, y prueba vm0-ai/run-action en tus propios flujos de trabajo de GitHub.

Recursos adicionales

Related Articles

Stay in the loop

// Get the latest insights on agent-native development.

SubscribeJoin Discord