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.
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.
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.
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."
Prompt als Flag
Nutze prompt_mode: flag, wenn die CLI ein benanntes Prompt-Flag erwartet.
harnesses:
review_agent:
binary: review-agent
prefix_args:
- run
prompt_mode: flag
prompt_flag: --promptContainer-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.
Weitere Sandbox-Seiten
Custom CLI Docker-Sandbox
Docker-Sandbox zuerst mit shell provider pruefen.
Codex in DockerBuilt-in provider nutzen, wenn das Runner Image Codex enthaelt.
Claude Code in DockerBuilt-in provider nutzen, wenn das Runner Image Claude Code enthaelt.
OpenCode in DockerBuilt-in provider nutzen, wenn das Runner Image OpenCode enthaelt.