Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Orchestrator + Executor in OpenCode, in one command

Two models, two roles: one plans and delegates, the other executes. This quickstart gets it running in under 5 minutes, with no frameworks and no JSON editing.

It accompanies the article How to use GLM 5.2 as orchestrator and DeepSeek V4 Flash as executor. The article covers the why; this repo covers the how.

Usage

From the root of the repo you want to work in:

git clone https://github.com/helmcode/orchestrator-quickstart
bash orchestrator-quickstart/setup.sh

setup.sh is an installer: it runs the configuration steps for you and only asks one question (which model pair you want). You don't have to edit any file by hand. If you'd rather see what it does before running it, open it: it's the same steps you would do yourself, in order.

The script asks which pair you want and configures everything else:

  1. GLM 5.2 + DeepSeek V4 Flash: the fully open pair from the article, both via Helmcode.
  2. Opus 5 + Qwen 3.6-35B-A3B: Anthropic's premium orchestrator with an open, lightweight executor.
  3. Custom: any provider/model combination you have configured.

What it does for you: installs OpenCode if missing, adds the provider to your global config (merging, without overwriting what you already have), creates the orchestrator and executor agents in .opencode/agents/ with the chosen models, and drops an AGENTS.md template for your repo's conventions.

The only thing you provide: your API key.

export HELMCODE_API_KEY="your-key"       # pairs 1 and 2
export ANTHROPIC_API_KEY="your-key"      # pair 2 only

Try it

opencode models   # check your models show up
opencode          # Tab until you reach the 'orchestrator' agent

Ask for something divisible ("add docstrings to every file in src/") and watch it generate briefs and delegate them to @executor.

How it works

  • The orchestrator cannot edit files (permissions denied on purpose): delegating is its only path. The restriction is the design.
  • Every delegation travels as a work contract: objective, inputs, constraints and a success criterion. Never the full conversation. There's an example in example-brief.yaml.
  • The executor writes the artifact to the filesystem and returns only a 3-line summary to the orchestrator.
  • Your project's stable conventions live in AGENTS.md: it's the shared prefix of every call.

Customization

The agents are two markdown files in .opencode/agents/. Change the model field to try other pairs (the executor's is mandatory: if missing, it inherits the orchestrator's model and you lose the whole point), tune the executor's temperature per task type, or duplicate executor.md with a different description to get specialized executors.

When NOT to use this

Tasks that fit in a single call, problems that don't split cleanly, interactive flows where latency rules, or low volume. The article has the full explanation.

License

MIT. See LICENSE.

About

Orchestrator + executor agents in OpenCode, set up in one command

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages