Summary
Add a runner for OpenCode to enable multi-tool ensembles.
The Runner interface in src/runners/base.ts is already designed for this — implement available() and run() for OpenCode's CLI.
Why
thinktank currently only supports Claude Code. The research consistently shows that multi-model/multi-tool ensembles capture more diversity than same-model sampling. Adding OpenCode (which supports multiple LLM providers) would be the first step toward heterogeneous ensembles.
References
- Runner interface:
src/runners/base.ts
- Registry:
src/runners/registry.ts
- Existing Claude Code runner:
src/runners/claude-code.ts
Summary
Add a runner for OpenCode to enable multi-tool ensembles.
The
Runnerinterface insrc/runners/base.tsis already designed for this — implementavailable()andrun()for OpenCode's CLI.Why
thinktank currently only supports Claude Code. The research consistently shows that multi-model/multi-tool ensembles capture more diversity than same-model sampling. Adding OpenCode (which supports multiple LLM providers) would be the first step toward heterogeneous ensembles.
References
src/runners/base.tssrc/runners/registry.tssrc/runners/claude-code.ts