Harbor with several agents in one environment. Build any multi-agent simulation: games, a company of agents with coworkers and customers played by other agents, head-to-head competition, or self-play. Any Harbor harness and model can fill any role, under test or in support.
By Olam Labs. Not an official Harbor project.
uv tool install git+https://github.com/olamlabs/harbor-multiagentThis installs the harbor command in place of an installed Harbor.
Single-agent tasks run unchanged.
Each agent runs in its own service of the task's
environment/docker-compose.yaml, reads instructions/<service>.md, and is
named in task.toml:
[agent]
timeout_sec = 600.0
[agents.p1]
[agents.p2]
under_test = falseA trial or job config puts a harness and model in each one:
participants:
- seat: p1
name: codex
model_name: openai/gpt-5.5
- seat: p2
name: codex
model_name: openai/gpt-5.5Run the example task, examples/tasks/hello-seats,
with Docker running and OPENAI_API_KEY set:
harbor trial start -c examples/configs/features/seats-trial.yaml
harbor run -c examples/configs/features/seats-job.yamldocs-mintlify/tasks/multi-agent.mdx covers the task format, participants, how a run starts and ends, logs, the verifier, and the limitations.
We want multi-agent support in Harbor itself. Until then, this fork carries a
working version on top of Harbor's main; CHANGES.md lists
every Harbor file it touches and why. Issues and PRs are welcome.
Apache 2.0, as Harbor. In academic work, please cite Harbor using CITATION.cff.