Back to all posts

Automatizza i tuoi agenti AI con l'integrazione GitHub Actions di VM0

Introduzione

Oggi abbiamo condiviso un esempio pratico che usa vm0-ai/run-action, una GitHub Action che ti permette di attivare i workflow di VM0 direttamente dalle tue pipeline CI/CD. Questa integrazione porta l'automazione degli agenti nei tuoi repository GitHub, rendendo facile pianificare ed eseguire automaticamente gli agenti AI.

Cos'è VM0

VM0 è un runtime per agenti pensato per costruire agenti AI. Fornisce l'infrastruttura per orchestrare le skill degli agenti, eseguire agenti in sandbox e definire i workflow degli agenti usando il linguaggio naturale.

Cos'è GitHub Actions

GitHub Actions è la piattaforma di automazione integrata di GitHub che ti permette di eseguire workflow in base a eventi o secondo una pianificazione. Usando i cron job, puoi eseguire automaticamente attività a intervalli fissi, come l'esecuzione di pipeline CI, job in background o agenti AI.

Dal locale al cloud: eseguire i workflow di VM0 con GitHub Actions

In precedenza, eseguire i workflow di VM0 richiedeva l'esecuzione del comando vm0 run dalla tua macchina locale. Sebbene funzionasse bene per lo sviluppo e i test (e VM0 è in beta!), presentava delle sfide per:

Con la nuova vm0-ai/run-action, puoi ora attivare i workflow di VM0 direttamente da GitHub Actions usando una semplice configurazione dell'action. Niente più esecuzione manuale di comandi: descrivi semplicemente l'attività del tuo agente e lascia che GitHub gestisca pianificazione ed esecuzione.

Per iniziare: la tua prima GitHub Action di VM0

Usare VM0 in GitHub Actions è semplice. Ecco un esempio di base:

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

Configurare l'autenticazione

Per autenticare le tue GitHub Actions con VM0, dovrai impostare un secret VM0_TOKEN nel tuo repository. È una configurazione da fare una volta sola:

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

Questo comando genera un token dalla tua autenticazione VM0 locale e lo memorizza in modo sicuro nei secret del tuo repository GitHub, rendendolo disponibile ai tuoi workflow.

Esempio reale: pubblicazione automatica di contenuti

Vediamo un esempio completo che dimostra la potenza dell'integrazione di VM0 con GitHub Actions. Creeremo una content farm automatica che pubblica quotidianamente articoli di notizie sull'AI su dev.to.

Lo scenario

Abbiamo un workflow VM0 esistente su vm0-cookbooks/104-content-farm che raccoglie le notizie quotidiane sull'AI e pubblica articoli. Ora vogliamo che questo workflow venga eseguito automaticamente secondo una pianificazione.

Passo 1: crea un repository GitHub

Per prima cosa, crea un nuovo repository per ospitare il tuo workflow automatico:

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

Passo 2: configura il workflow

Crea .github/workflows/daily.yaml nel tuo repository:

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

Analizziamo i componenti chiave:

Passo 3: configura i tuoi secret

Configura nel tuo repository i token di autenticazione necessari:

# 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"

Nota sulla sicurezza: questi secret sono memorizzati in modo sicuro in GitHub e sono accessibili solo ai tuoi workflow. Non vengono mai esposti nei log o negli output dei workflow.

Passo 4: aggiungi un workflow di auto-deployment

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

Questo effettua automaticamente il deployment della configurazione del tuo agente a ogni push su main. Nessun vm0 compose manuale necessario.

Passo 5: deploy e test

  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

Ecco fatto! Il tuo agente ora farà l'auto-deployment a ogni push e verrà eseguito secondo la pianificazione.

Conclusione

L'integrazione di VM0 con GitHub Actions ti aiuta a portare gli agenti AI nel tuo workflow di sviluppo esistente.

Invece di eseguire gli agenti manualmente o trattarli come script una tantum, puoi eseguirli direttamente all'interno delle tue pipeline CI/CD e secondo una pianificazione. Questo rende più facile:

Che tu stia pubblicando contenuti, generando report, revisionando codice o automatizzando workflow interni, VM0 GitHub Actions ti offre un modo semplice e affidabile per eseguire gli agenti AI quando servono.

Per iniziare, esplora il nostro repository di cookbook per esempi funzionanti, e prova

vm0-ai/run-action nei tuoi workflow GitHub.

Risorse aggiuntive

Related Articles

Stay in the loop

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

SubscribeJoin Discord