Custom CLI Docker-Sandbox

Jede Agent CLI aus einer Dagu Docker-Sandbox ausfuehren.

Ein custom harness provider ordnet CLI-Binary, feste Argumente und Prompt-Platzierung einem Dagu harness.run-Schritt zu. Nutze das fuer interne Agents, Wrapper-Scripts oder Provider, die nicht built-in sind.

Custom Provider in 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.

Provider-Binaries werden unter top-level harnesses definiert.

prompt_mode: arg ist fuer CLIs, die den Prompt als Argument nehmen.

prompt_mode: flag ist fuer CLIs, die ein Prompt-Flag verlangen.

Containerized harness.run verwendet keinen stdin prompt mode.

01

Provider Definition

Der Name in with.provider muss zu einem Eintrag unter top-level harnesses passen. Das Image muss das konfigurierte binary im PATH enthalten.

02

Prompt als Argument

Nutze prompt_mode: arg, wenn die CLI den Prompt als letztes command-line argument akzeptiert. Dagu baut eine Command-Form wie review-agent run "Review this repository."

03

Prompt als Flag

Nutze prompt_mode: flag, wenn die CLI ein benanntes Prompt-Flag erwartet.

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

Container-Anforderungen

Das Runner Image braucht das provider binary, dessen runtime, erwartete helper tools und bei Bedarf ein writable home oder cache directory. Credentials kommen ueber container.env oder gemountete Dateien.