Sandbox Docker para CLI personalizada

Ejecuta cualquier agent CLI desde un sandbox Docker de Dagu.

Un custom harness provider mapea binario CLI, argumentos fijos y ubicacion del prompt a un paso Dagu harness.run. Usalo para agentes internos, wrapper scripts o providers que no son built-in en Dagu.

Custom provider en 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 en top-level harnesses.

prompt_mode: arg sirve para CLIs que reciben el prompt como argumento.

prompt_mode: flag sirve para CLIs que requieren una flag de prompt.

harness.run en container no usa prompt_mode stdin.

01

Definicion del provider

El nombre en with.provider debe coincidir con una entrada en top-level harnesses. La imagen debe contener el binary configurado en PATH.

02

Prompt como argumento

Usa prompt_mode: arg cuando la CLI acepta el prompt como ultimo argumento de linea de comandos. Dagu construye un comando como review-agent run "Review this repository."

03

Prompt como flag

Usa prompt_mode: flag cuando la CLI espera una flag de prompt con nombre.

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

Requisitos del container

La imagen runner necesita el binario provider, su runtime, herramientas auxiliares esperadas y un home o cache escribible si lo requiere. Pasa credenciales con container.env o monta los archivos que lee el provider.