You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
More and more frequently, agents work by combining a harness with a LLM inference endpoint. The harness is what contains a bunch of tools and what orchestrates the model to perform work, manages memory etc.
Examples of harness are Claude Code, Gemini CLI, OpenCode, OpenClaw, Goose, and the list goes on.
We should create a RFC to explore how to integrate with these harnesses. The challenge is that a harness overlaps with an Env in critical ways: it contains tools, it contains state like a filesystem, but it also has extra "brains" by owning the control loop (usually a react loop, or something similar to it), which is something that envs do not have.
Two open questions here:
How to cleanly integrate with any of those harnesses. One option is to just wrap it: we assume that the harness will have its own set of tools and filesystem management (but we wrap it, so our container provides the filesystem), and if we do want to expose extra tools to it, we do it via MCP (which all these harnesses understand and which we now have first-class support for).
In Prod mode, how do we expose ourselves? Currently, we simply gracefully degrade into a MCP server so we let the outside world start sessions with our tools directly. When a harness gets involved, I think we should just get out of the way and simply let you talk to the harness. We may need to do session management and session isolation though. If our env contains extra MCP tools, I think that it's reasonable to expect that we also plug them into the harness for you before the session starts.
I would say to try this with one harness first so that we stay concrete. Let's pick OpenClaw since it's gotten popular as of late.
Activity
Add RFC 005: Agentic Harness Integration
Add RFC 005: Agentic Harness Integration
Add harness foundation types and tests (RFC 005)
Add HarnessEnvironment with multi-turn support (RFC 005)
Add OpenClaw adapter implementation (RFC 005)
Add HarnessEnvironment with multi-turn support (RFC 005)
Add OpenClaw adapter implementation (RFC 005)
Add HarnessEnvironment with multi-turn support (RFC 005)
Add OpenClaw adapter implementation (RFC 005)
[1/4] RFC 005: Agentic Harness Integration (#387)
Add harness foundation types and tests (RFC 005)
Add HarnessEnvironment with multi-turn support (RFC 005)
Add OpenClaw adapter implementation (RFC 005)
[3/3] Add OpenClaw adapter (RFC 005) (#391)
[2/3] Add HarnessEnvironment with multi-turn support (RFC 005) (#390)
Add harness foundation types and tests (RFC 005)
Add HarnessEnvironment with multi-turn support (RFC 005)
Add OpenClaw adapter implementation (RFC 005)