Harnesses
An agent harness is the loop at the center of an agent. It sends the conversation to a model, runs the tools the model asks for, and repeats until it has an answer.
With the Agent SDK, a harness is a WebAssembly component that reaches the model, its tools and its session only by asking the host. It has no network, files or API keys of its own. You can use a harness that's already built, or write your own against the cosmonic:agent interfaces.
| Harness | What it is | Image |
|---|---|---|
| Pi | Built from Pi's upstream source, running on a JavaScript engine inside the component | ghcr.io/cosmonic/agents/pi |
| OpenAI Codex | Codex's agent loop and prompts, ported from Codex 0.162.0 | ghcr.io/cosmonic/agents/codex |
| Goose | Built from Block's upstream Goose source, with adapters for the host | ghcr.io/cosmonic/agents/goose |
minimal-agent | A small reference harness in Rust, and the one the Quickstart builds | ghcr.io/cosmonic-labs/components/minimal-agent |
Pi, OpenAI Codex and Goose run on Cosmonic Desktop's Agents page and on Cosmonic Control.