Docs: add Codex and Claude Harness examples, and a codex runtime-image conref
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 65/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- aws, docker, github-actions, kubernetes, typescript
- Lĩnh vực
- ai, backend, devops, documentation
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
[!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.
- Ngôn ngữ chính
- TypeScript
- Star
- 21
- Fork
- 69
- Merge trung bình
- 22 giờ 20 phút
- Pull request đã merge (30 ngày)
- 86
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của kagent-dev/website
-
Hold until GA: repoint kagent.dev navigation from 0.x to 1.xCó thể đã có người làm @Rachael-Graham đã nhận 17 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
kagent-dev/website#521 · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug DocOps
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 18/100
kagent-dev/website#606 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Document session sharingĐang mởhelp wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 60/100
kagent-dev/website#562 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
help wanted
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 72/100
kagent-dev/website#539 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
help wanted
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
kagent-dev/website#538 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của kagent-dev/website
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
polarsource/polar#15580 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
accepted bug via-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 69/100
pingdotgg/t3code#20931 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug/1-unconfirmed kind/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 83/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ranxianglei/billion-context#3583 ·
Maintainer thường phản hồi trong vòng 1 ngày