Skip to content

add agentharness docs#372

Open
peterj wants to merge 1 commit into
mainfrom
peterj/addagentharnessodcs
Open

add agentharness docs#372
peterj wants to merge 1 commit into
mainfrom
peterj/addagentharnessodcs

Conversation

@peterj
Copy link
Copy Markdown
Contributor

@peterj peterj commented May 26, 2026

No description provided.

Signed-off-by: Peter Jausovec <peter.jausovec@solo.io>
@peterj peterj requested a review from artberger May 26, 2026 23:49
Copy link
Copy Markdown
Collaborator

@artberger artberger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left some questions, but approved. Thanks for adding this to the docs!


# Agent Harness

An `AgentHarness` is a Kubernetes resource that asks kagent to provision a long-running remote execution environment through an OpenShell gateway. It is useful when you want a managed sandbox that can be attached to, bootstrapped, and connected to messaging channels, but you do not want kagent to package and run a full agent runtime inside the workload.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
An `AgentHarness` is a Kubernetes resource that asks kagent to provision a long-running remote execution environment through an OpenShell gateway. It is useful when you want a managed sandbox that can be attached to, bootstrapped, and connected to messaging channels, but you do not want kagent to package and run a full agent runtime inside the workload.
An `AgentHarness` is a Kubernetes custom resource that asks kagent to provision a long-running remote execution environment through an [OpenShell](https://github.com/NVIDIA/OpenShell) gateway. It is useful when you want a managed sandbox that can be attached to, bootstrapped, and connected to messaging channels, but you do not want kagent to package and run a full agent runtime inside the workload.


## Backend model

The `spec.backend` field selects the backend implementation.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am wondering if these backends are separate resources that you have to already have deployed to the cluster?


`spec.modelConfigRef` points at a kagent `ModelConfig`. OpenClaw-compatible backends translate that model configuration into OpenClaw bootstrap config. Hermes uses the referenced model while building its Hermes configuration.

If `spec.image` is omitted, kagent uses the default base image for the selected backend. Set `spec.image` only when you have a backend-compatible custom image.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the default base image something that kagent sets somewhere? or for nemoclaw would it be something like the most recent tag?


## Channels

`spec.channels` declares messaging integrations inside the harness environment. Each channel has a stable `name`, a `type`, and exactly one matching channel spec.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
`spec.channels` declares messaging integrations inside the harness environment. Each channel has a stable `name`, a `type`, and exactly one matching channel spec.
`spec.channels` declares the external messaging platform (such as Slack) that you want to integrate with the harness. Each channel has a stable `name`, a `type`, and exactly one matching channel spec.


## Create an OpenClaw harness

The following resource creates an OpenClaw harness and lets it reach the OpenAI and Slack APIs.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have to allowlist the LLM APIs that match the ModelConfig LLM provider that you set up? so this allows OpenAI because the default ModelConfig is for OpenAI.

metricsPort: 0
EOF

This example disables TLS and authentication. For production environments, configure TLS and authentication according to your OpenShell requirements.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This example disables TLS and authentication. For production environments, configure TLS and authentication according to your OpenShell requirements.
This example disables TLS and authentication. For production environments, configure TLS and authentication according to your OpenShell requirements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants