Sandbox Docker para CLI customizada

Execute qualquer agent CLI a partir de um sandbox Docker do Dagu.

Um custom harness provider mapeia binario CLI, argumentos fixos e posicao do prompt para o passo Dagu harness.run. Use para agentes internos, wrapper scripts ou providers que nao sao built-in no Dagu.

Custom provider no Docker
type: graph

harnesses:
  review_agent:
    binary: review-agent
    prefix_args:
      - run
    prompt_mode: arg

steps:
  - id: review
    action: harness.run
    container:
      image: dagu-review-agent:local
      pull_policy: never
      working_dir: /workspace
      volumes:
        - .:/workspace:ro
      env:
        - REVIEW_AGENT_TOKEN=${REVIEW_AGENT_TOKEN}
    with:
      provider: review_agent
      prompt: |
        Review this repository.

Define binarios provider em top-level harnesses.

prompt_mode: arg serve para CLIs que recebem prompt como argumento.

prompt_mode: flag serve para CLIs que exigem uma flag de prompt.

harness.run em container nao usa prompt_mode stdin.

01

Definicao do provider

O nome em with.provider deve bater com uma entrada em top-level harnesses. A imagem precisa conter o binary configurado no PATH.

02

Prompt como argumento

Use prompt_mode: arg quando a CLI aceita o prompt como ultimo argumento de linha de comando. O Dagu monta um comando como review-agent run "Review this repository."

03

Prompt como flag

Use prompt_mode: flag quando a CLI espera uma flag nomeada para o prompt.

Flag prompt mode
harnesses:
  review_agent:
    binary: review-agent
    prefix_args:
      - run
    prompt_mode: flag
    prompt_flag: --prompt
04

Requisitos do container

A imagem runner precisa do binario provider, seu runtime, ferramentas auxiliares esperadas e home ou cache gravavel se necessario. Passe credenciais com container.env ou monte os arquivos lidos pelo provider.