Custom CLI Docker sandbox

किसी भी agent CLI को Dagu Docker sandbox से चलाएं।

Custom harness provider CLI binary, fixed arguments और prompt placement को Dagu harness.run step में map करता है। इसे internal agents, wrapper scripts या Dagu में built-in न होने वाले providers के लिए use करें।

Docker में custom provider
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 top-level harnesses के under define होते हैं।

जो CLI prompt को argument के रूप में लेते हैं, उनके लिए prompt_mode: arg है।

जिन CLI को prompt flag चाहिए, उनके लिए prompt_mode: flag है।

Containerized harness.run stdin prompt mode use नहीं करता।

01

Provider definition

with.provider में name top-level harnesses के entry से match होना चाहिए। Image में configured binary PATH में होना चाहिए।

02

Prompt as argument

जब CLI prompt को final command-line argument की तरह accept करे, prompt_mode: arg use करें। Dagu review-agent run "Review this repository." जैसी command बनाता है।

03

Prompt as flag

जब CLI named prompt flag expect करे, prompt_mode: flag use करें।

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

Container requirements

Runner image में provider binary, उसका runtime, expected helper tools और जरूरत हो तो writable home या cache directory होनी चाहिए। Credentials container.env से pass करें या provider द्वारा read की जाने वाली files mount करें।