Coven ACP Runtime
OpenClaw ACP runtime bridge for local Coven daemon sessions.
Install
openclaw plugins install clawhub:@opencoven/coven@opencoven/coven
OpenClaw ACP runtime bridge for local Coven daemon sessions.
This package installs an opt-in OpenClaw plugin with plugin id opencoven-coven and ACP backend id coven. It lets OpenClaw route ACP coding sessions through a local Coven daemon while keeping OpenClaw's direct ACPX backend as a separately configurable fallback.
OpenClaw core does not include OpenCoven or Coven. This package is the integration boundary: OpenClaw ACP runtime calls enter the plugin, and the plugin talks to the local Coven daemon over the configured Unix socket.
Requirements
- OpenClaw
>=2026.4.26 - A local Coven daemon with its Unix socket at
~/.coven/coven.sockby default - Harness auth/config handled by the harness itself, for example Codex or Claude Code
Install
Install the external plugin from ClawHub:
openclaw plugins install clawhub:@opencoven/coven
During development, install from a local checkout:
openclaw plugins install ./packages/openclaw-coven --force
Configure
Minimal opt-in config:
{
acp: {
enabled: true,
backend: "coven",
defaultAgent: "codex",
},
plugins: {
entries: {
"opencoven-coven": {
enabled: true,
config: {
covenHome: "~/.coven",
},
},
},
},
}
allowFallback defaults to false. Enable it only when you intentionally want failed/unavailable Coven launches to fall back to another ACP backend such as acpx.
By default, the plugin only maps OpenClaw ACP agent ids for the current Coven v0 scope: Codex and Claude Code. Future harness ids must be explicitly configured in harnesses after the Rust daemon supports and validates them.
Architecture
The plugin:
- Registers an ACP runtime backend named
coven. - Checks Coven daemon health through the configured Unix socket.
- Launches sessions with
POST /sessions. - Polls
/events?sessionId=...for output and exit events. - Maps Coven events into OpenClaw ACP runtime events.
- Records the Coven session id on the ACP runtime handle.
OpenClaw remains responsible for chat/session routing, ACP bindings, task state, and user-facing delivery. Coven owns project-scoped harness supervision, session metadata, attachability, and event history.
The plugin is a client, not a trust root. The Rust daemon must still validate project roots, cwd, harness ids, session ids, input, and kill requests before acting.
Safety boundaries
- Disabled by default.
- Requires explicit
plugins.entries["opencoven-coven"].enabled = trueandacp.backend = "coven"selection. - Does not auto-start Coven.
- Does not expose OpenClaw tools to Coven-managed harnesses.
- Restricts socket configuration to
<covenHome>/coven.sock. - Rejects unknown ACP agent ids unless explicitly mapped in plugin config.
Development notes
The source lives in the Coven repo so the bridge can mature with the Coven daemon/API. Do not add Coven or OpenCoven code back into OpenClaw core as part of normal plugin work.
Because the plugin is externalized, the Coven socket API is a compatibility contract. Plugin changes should be tested against representative daemon responses, and daemon changes that affect /health, /sessions, /events, input, or kill behavior should update this package in the same repo.
