Docs: add Codex and Claude Harness examples, and a codex runtime-image conref
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 65/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- aws, docker, github-actions, kubernetes, typescript
- Área
- ai, backend, devops, documentation
Línea de trabajo
Start by reading agents/agent-harness.md and the linked PR #529. The work involves adding two complete Harness examples (Codex and Claude) to the documentation, each with a ModelConfig and AgentTemplate. You must also update .github/workflows/update-ref-docs.yaml to add a new conref for the Codex runtime image and create the file assets/kagent-docs/versions/runtime-image-codex.md. Test the examples on a cluster using the provided setup script. The main open question is where to place the Claude example, which you must decide and justify in the PR.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
[!IMPORTANT]
Adjusted for 1.0.0-alpha5 on 2026-09-29. Thecodexandclauderuntimes both survive, so the examples are still wanted. One structural change affects every manifest in this issue:
allowedAgentTemplatesis removed fromHarnessSpec. Any example that pairs an AgentTemplate to a Harness with a label selector is obsolete. alpha5 introduces an explicitAgentkind that pairs the two, taking either a reference or an inline spec on each side. Write the examples against that model.The CRDs also moved to
api.kagent.dev, so manifests needapiVersion: api.kagent.dev/v1alpha3. Part of #549.
The 1.x doc set documents the codex and claude runtimes in every table on Agent harness and shows a working example of neither. Every Harness example in the set selects the kagent runtime. A reader who decides on Codex from the runtime table has nothing to copy.
This gets worse when #529 merges. That PR rewrites setup/model-providers/google-vertexai.md, which today holds the only claude Harness example in the set, because Vertex AI no longer compiles on any runtime. After it merges, assets/kagent-docs/versions/runtime-image-claude.md is referenced by no page at all, while the nightly job keeps resolving it.
So this is one piece of work covering both coding-agent runtimes.
What to add
A Codex Harness example and a Claude Harness example, each complete enough to apply: the Harness, the ModelConfig it needs, and an AgentTemplate carrying the label the Harness admits. The spine is that a coding-agent Harness is the same shape as a kagent one and differs only in the runtime block, the image, and which ModelConfig it will accept — so these belong beside the existing example rather than in a new tutorial.
The configuration surface
Verified against kagent 1e5533b2 (v1.0.0-alpha2 plus five commits) on a cluster.
Codex.
| Piece | Value |
|---|---|
| Runtime block | codex: {}, which takes no settings |
| Image | ghcr.io/kagent-dev/kagent/codex-harness, digest-pinned. A bare tag is rejected. |
| ModelConfig | OpenAI with openAI.apiFormat: responses, and no other openAI settings beyond baseUrl |
| Alternative | Bedrock with an OpenAI gpt-* model ID, no bedrock settings beyond region, and a bearer token in AWS_BEARER_TOKEN_BEDROCK |
Claude.
| Piece | Value |
|---|---|
| Runtime block | claude: {}, which takes no settings |
| Image | ghcr.io/kagent-dev/kagent/claude-harness, digest-pinned |
| ModelConfig | Anthropic, with no anthropic settings beyond baseUrl |
| Alternative | Bedrock with a bearer token, no bedrock settings beyond region |
Both runtimes reject a ModelConfig that sets defaultHeaders, tls, or apiKeyPassthrough.
Behavior the API does not announce
- The Codex compiler rejects chat completions outright, so a Codex ModelConfig cannot be shared with a
kagentagent that uses the same provider.openAI.apiFormat: responsesis not a tuning knob, it is the only accepted value. - A
RemoteMCPServerbound to a Codex agent must useSTREAMABLE_HTTP.SSEis rejected. - Claude binds an MCP server whole. It does not support partial tool selection, so the agent sees every tool the server offers rather than only the ones a binding names, and the compiler warns rather than failing.
- Neither runtime accepts
AnthropicVertexAIas of #529. Do not reintroduce a Vertex example. - A version mismatch between the harness image and the controller does not look like a version mismatch. The harness validates the config version the controller compiles for it and refuses a mismatch; the chat reports
AgentTemplate and Harness do not have a ready prepared revision, which reads as an Agent Substrate fault. Pin the image to the same kagent release the rest of the docs name.
The codex conref does not exist yet, and creating the file is not enough
Both existing runtime images come from conrefs that the nightly job resolves from the registry, so a Codex example needs a third one wired into the same job. In .github/workflows/update-ref-docs.yaml:
- Add
runtime-image-codex:kagent-dev/kagent/codex-harnessto theRUNTIME_IMAGEStable (currently two lines, around L482). - Add a
RUNTIME_IMAGE_CODEXblock beside the twowrite_conrefcalls (around L690). - Add a row to the PR-body summary table (around L713).
- Create
assets/kagent-docs/versions/runtime-image-codex.mdwith a resolved value so the page renders before the next nightly.
The env var name is derived from the basename, so runtime-image-codex becomes RUNTIME_IMAGE_CODEX automatically. The tag resolved against comes from versions/kagent.md, not from git describe.
At 1.0.0-alpha2 the digest is sha256:9ccd6750494a304490f21f5f10537a7677d3290070d1df90b4cb535dc6bcd0af. Re-resolve rather than copying that, and check it against whatever versions/kagent.md names when you start.
Where it goes
agents/agent-harness.md, in or beside the Choose a runtime section, is the natural home: the runtime tables are already there and the page is the reference for the resource.
The one open question is whether the Claude example lands there too, or on setup/model-providers/anthropic.md. The argument for the provider page is that a Claude Harness is inseparable from the ModelConfig that feeds it, which is how the Vertex page used to carry it. The argument for keeping both on the harness page is that a reader comparing runtimes sees both without navigating. Pick one and say why in the PR.
What to check before starting
- Read
agents/agent-harness.mdend to end. Most of what an example needs is already stated in its tables; the example should not restate them. - Rebase on #529 if it has merged, since it changes the provider matrix and the restriction rows this example must agree with.
- Run both on a cluster.
scripts/setup-cluster/setup-cluster.shinkagent-dev/kagentstands one up. Codex needs an OpenAI key entitled to a codex model — a key without access to the model still lists it and then fails the turn withmodel_not_found, surfacing only asCodex execution failedin the chat.
Done when
- A Codex Harness example exists, with its ModelConfig and an AgentTemplate, and was run on a cluster.
- A Claude Harness example exists on the same terms, restoring the one #529 removes.
-
runtime-image-codex.mdexists and the nightly job resolves it; both other conrefs still resolve. -
runtime-image-claude.mdis referenced by a page again. - Every image is digest-pinned, and no example carries a bare tag.
- The placement question is answered in the PR description.
- Lenguaje dominante
- TypeScript
- Estrellas
- 21
- Forks
- 71
- Merge medio
- 13 h 58 min
- PR fusionados (30 d)
- 80
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de kagent-dev/website
-
Link Checker Report - kagent OSSAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
kagent-dev/website#647 ·
Los mantenedores suelen responder en 1 día
-
Hold until GA: repoint kagent.dev navigation from 0.x to 1.xPosiblemente ocupada @Rachael-Graham la tomó hace 27 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
kagent-dev/website#521 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Retire the /tools and /agents site pagesPosiblemente ocupada @MarcBasas la tomó hace 2 días. Abiertohelp wanted
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
kagent-dev/website#630 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug DocOps
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
kagent-dev/website#617 ·
Los mantenedores suelen responder en 1 día
-
bug DocOps
Dificultad 4/5 1-2 días Aptitud para principiantes 18/100
kagent-dev/website#606 ·
Los mantenedores suelen responder en 1 día
Todos los issues de kagent-dev/website
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
galaxyproject/loom#616 ·
Los mantenedores suelen responder en 1 día
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
redhat-developer/rhdh-plugin-export-overlays#4580 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 84/100
eknowledger/toolbench#266 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
devdotfast/whiteboard#1415 · 1 comentario ·
Los mantenedores suelen responder en 1 día