Sandbox Docker CLI personnalisee
Executer n'importe quelle CLI agent depuis une sandbox Docker Dagu.
Un custom harness provider mappe un binaire CLI, des arguments fixes et la position du prompt vers une etape Dagu harness.run. Utilisez-le pour des agents internes, wrappers ou providers non integres a Dagu.
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.Definit les binaires provider sous top-level harnesses.
prompt_mode: arg convient aux CLI qui prennent le prompt en argument.
prompt_mode: flag convient aux CLI qui exigent un flag prompt.
harness.run en container n'utilise pas le mode prompt stdin.
Definition provider
Le nom dans with.provider doit correspondre a une entree sous top-level harnesses. L'image doit contenir le binary configure dans PATH.
Prompt comme argument
Utilisez prompt_mode: arg quand la CLI accepte le prompt comme dernier argument de ligne de commande. Dagu construit une commande comme review-agent run "Review this repository."
Prompt comme flag
Utilisez prompt_mode: flag quand la CLI attend un flag prompt nomme.
harnesses:
review_agent:
binary: review-agent
prefix_args:
- run
prompt_mode: flag
prompt_flag: --promptExigences container
L'image runner doit contenir le binaire provider, son runtime, les outils attendus et un home ou cache writable si necessaire. Passez les credentials avec container.env ou montez les fichiers lus par le provider.
Autres pages sandbox
Sandbox Docker CLI personnalisee
Verifier d'abord la sandbox Docker avec un shell provider.
Codex dans DockerUtiliser un provider built-in quand l'image contient Codex.
Claude Code dans DockerUtiliser un provider built-in quand l'image contient Claude Code.
OpenCode dans DockerUtiliser un provider built-in quand l'image contient OpenCode.