Agent harnesses (runtimes)
A harness (called a runtime in the client) is the program that does the work: it reads files, runs commands and calls tools, using a model to decide what to do. In SoduWork, harness and runtime mean the same thing. SoduWork runs several harnesses behind one interface, so issues, plugins and reviews don't depend on any single one.
A harness is not a model. The same harness can use different models, and the same model can be used by different harnesses.
Built-in harnesses
The list comes from hub-backend/app/agent_catalog.json, which the client, Hub and runner all read.
| Harness | Models | How it connects | Install |
|---|---|---|---|
| Pi | SoduWork models | Built-in desktop adapter | Built in |
| OpenCode | SoduWork models | Native adapter | Managed install from the official release |
| DeepSeek Harness | SoduWork models, or a personal DeepSeek key | ACP | npm @openma/deepseek-harness-acp |
| Qwen Code | SoduWork models | ACP | npm @qwen-code/qwen-code |
| Kimi Code | SoduWork models | ACP | npm @moonshot-ai/kimi-code |
| Codex Harness | SoduWork models | ACP | npm @agentclientprotocol/codex-acp |
| Codex | Its own OpenAI account | Native adapter | npm @openai/codex |
| Claude Code | Its own Anthropic account | ACP adapter | Official installer |
| Harness² (Google Research) | SoduWork models | Native adapter | Core bundled; prepared on first use |
Install a harness from Settings → Agent management. Nothing is installed automatically when the client discovers a harness or sends a message. Harnesses you installed yourself and that are on PATH keep working.
Model source
modelMode | Meaning |
|---|---|
managed | The harness uses models from your SoduWork catalog. For each run, SoduWork injects the model, gateway and a short-lived credential into that process only. Keys are not written to the harness's config files in plain text |
account | The harness signs in with its own account (for example codex login). It never receives your organization's model settings, and personal sign-in stays separate from the managed harnesses |
Access modes
Every built-in harness supports the three access modes chosen per chat:
| Mode | What the agent can do |
|---|---|
| Default access | Routine actions run automatically; sensitive actions ask first |
| Read only | Read and analyse only; no file changes |
| Full access | Read and write files, run commands and use the network |
A harness's own sign-in and session data are kept separate for each execution environment.
Switching harnesses
You can switch the harness in the same chat. The history and working folder are kept. In a workflow, each AI step can use a different harness (Hand-offs and routing).
Where harnesses run
- On your computer: the client's local runner starts the harness.
- In the cloud: a cloud runner starts it on a shared server (Runners and cloud environments). Each runner installs its own harnesses.
Harnesses are never installed remotely, and the catalog is not a remote plugin system: it can't download and run programs from the network.
Add another harness
Programs that support the Agent Client Protocol (ACP) can be added with a catalog declaration. See Add an ACP harness.
Claude Code, Codex, Kimi Code, OpenCode, Pi, Qwen Code, DeepSeek Harness and Harness² are trademarks of their respective owners. They are named only to describe compatibility. See Trademarks.
harness harnesses runtime runtimes 底座