Custom CLI Docker-песочница

Запускайте любую agent CLI из Docker-песочницы Dagu.

Custom harness provider сопоставляет CLI binary, fixed arguments и prompt placement с Dagu harness.run step. Это подходит для внутренних agents, wrapper scripts и providers, которых нет в Dagu built-ins.

Custom provider в 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 задаются в top-level harnesses.

prompt_mode: arg подходит CLI, которые принимают prompt как argument.

prompt_mode: flag подходит CLI, которым нужен prompt flag.

Containerized harness.run не использует stdin prompt mode.

01

Provider definition

Имя в with.provider должно совпадать с entry в top-level harnesses. Image должен содержать настроенный binary в PATH.

02

Prompt как argument

Используйте prompt_mode: arg, когда CLI принимает prompt как последний command-line argument. Dagu строит команду вида review-agent run "Review this repository."

03

Prompt как flag

Используйте prompt_mode: flag, когда CLI ожидает именованный prompt flag.

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, ожидаемые helper tools и writable home или cache directory. Credentials передаются через container.env или mount файлов, которые читает provider.