Repository navigation
Docs: cover creating a BYO Harness in the UI for kagent 1.x #539
Description
Important
Adjusted for 1.0.0-alpha5 on 2026-09-29. All four runtimes survive and a byo Harness still requires workload.command, so the core of this issue stands. Two changes affect the steps below:
allowedAgentTemplatesis removed fromHarnessSpecentirely. The test step that creates a template "labelled for that harness" describes label pairing that no longer exists. alpha5 pairs a template to a harness through the explicitAgentkind instead.- The UI gained explicit Agent create, edit and delete in kagent#2953, on the same surface this issue covers. Decide whether that belongs here or in its own page before writing.
Part of #549.
kagent#2935 added bring-your-own harnesses to the UI. agents/bring-your-own-agent.md documents the CLI and YAML path alone, so a reader working in the UI has no route through the feature.
This is a section added to an existing page, plus screenshots.
What changed in the UI
- Agents → New Harness offers
byoas a runtime, withcommandandargsinputs. Create stays disabled until a command is supplied, which mirrors the API rule that abyoHarness must override the entrypoint because kagent does not infer it. - The model is now optional on an AgentTemplate. The form warns when a matching non-BYO harness still needs one. This is the change most likely to confuse a reader who learned the old rule, so it wants stating plainly rather than as a UI aside.
- The Harnesses tab reports the runtime as
byo, whereHarnessServicepreviously returned it blank.
How this meets the existing page
bring-your-own-agent.md already carries the four requirements a byo image must meet and the rule that kagent enforces only spec.workload.command at apply time. The UI enforces that same rule at a different moment, by disabling Create. Write the UI path as another route to the same contract rather than as a separate feature, so the page does not grow two accounts of one thing.
Check whether agents/agent-harness.md needs a matching line, since its workload field table is where a reader meets workload.command first.
Screenshots
The pull request added a BYO harness to the mock fixtures, so the new-harness form and the Harnesses tab can be captured from mocks rather than from a live cluster. Confirm that against the harness before assuming it, because a live capture and a mock capture are configured differently.
What to check before starting
- Read
agents/bring-your-own-agent.mdend to end, so the UI section states the contract the same way the YAML section already does. - Build the fixture image with
make build-byo-a2a, and create a BYO harness through the form using that image's digest. - Confirm Create stays disabled until a command is entered.
- Confirm the Harnesses tab shows the runtime as
byo. - Create an AgentTemplate with no model, labelled for that harness, and confirm it saves and appears under Runs on.
- Send the agent a message and confirm it replies.
Done when
- The page covers creating a
byoHarness through the UI, includingcommandandargs. - The disabled Create button is explained by the underlying rule rather than described as UI behavior.
- The optional model on an AgentTemplate is documented, including when the form warns.
- Screenshots follow the site's existing capture setup, and the page says which UI version they show.
-
agents/agent-harness.mdis checked for a matching update. - Every step was run against a real BYO image.
Activity