Sandbox Docker do OpenCode
Execute OpenCode a partir de um sandbox Docker do Dagu.
O comando nao interativo do OpenCode e opencode run. Coloque o binario opencode e as credenciais do provider em um container runner e chame provider: opencode a partir de harness.run.
steps:
- id: opencode_review
action: harness.run
container:
image: dagu-opencode-runner:local
pull_policy: never
working_dir: /workspace
volumes:
- .:/workspace:ro
- ${HOME}/.local/share/opencode:/root/.local/share/opencode:ro
with:
provider: opencode
model: anthropic/claude-sonnet-4-5
prompt: |
Review this repository and summarize the highest-risk issues.Instala OpenCode com o pacote npm opencode-ai.
Verifica opencode --version via Dagu antes de chamadas ao modelo.
Pode montar ~/.local/share/opencode/auth.json para providers configurados.
Tambem pode usar variaveis de ambiente especificas do provider em container.env.
Imagem runner
Instale OpenCode na imagem runner e verifique o binario no build. O entrypoint vazio deixa o Dagu controlar o comando.
FROM node:22-bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates git bash \
&& rm -rf /var/lib/apt/lists/*
RUN npm install -g opencode-ai
RUN opencode --version
WORKDIR /workspace
ENTRYPOINT []
CMD ["bash"]Smoke test
Antes de montar credenciais, execute um shell provider que imprime a versao do OpenCode e o caminho do binario dentro do container.
type: graph
harnesses:
shell:
binary: sh
prefix_args:
- -c
prompt_mode: arg
steps:
- id: opencode_version
action: harness.run
container:
image: dagu-opencode-runner:local
pull_policy: never
with:
provider: shell
prompt: |
set -eu
opencode --version
command -v opencodeCredenciais
OpenCode guarda login de provider em ~/.local/share/opencode/auth.json e tambem le chaves do provider pelo ambiente ou por .env do projeto. Monte ou passe apenas o que o provider escolhido precisa.
Nome do modelo
Nomes de modelo no OpenCode usam provider/model. O exemplo usa anthropic/claude-sonnet-4-5; troque por um modelo disponivel na sua configuracao de provider OpenCode.
Mais paginas de sandbox
Sandbox Docker do OpenCode
Entenda containers Docker compartilhados e por passo.
Codex no DockerExecute Codex com login ChatGPT em arquivo ou CODEX_API_KEY.
Claude Code no DockerPasse credenciais Anthropic a um unico passo Claude Code.
CLI personalizada no DockerUse o mesmo padrao para uma CLI que o Dagu nao conhece por nome.