Repository navigation
RFC-0024: propose OpenAI-compatible model endpoints for Agents - #3050
cooktheryan wants to merge 4 commits into
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: blocked before merge. What this changesThis PR adds an RFC and implementation plan for custom Responses API providers, manual model IDs, and credential-authorized endpoints across three Agent execution topologies. Example: Create an Agent using https://models.example.test/v1 and model provider-model-id.
Review scores
ProductKind: Feature · Worth it: Needs a maintainer decision · Fix scope: Complete Merge readiness⛔ Blocked before merge - 2 items remain Keep this PR open for maintainer consideration: it presents a coherent contract proposal, incorporates the credential-destination restriction, and has no concrete patch defects identified. Priority: P3 Decision needed
Before merge
FindingsNone. Agent review detailsHow this fits togetherCreate Agent produces Configuration and credential references; OCC authorizes and snapshots them, and Compute provisions Harnesses that reach model providers directly or through the Credential Gateway. flowchart TD
Creator[Agent creator] --> Console[Create Agent proposed custom provider]
Console --> OCC[OCC credential and endpoint authorization]
OCC --> Compute[Compute provisioning]
Compute --> Direct[Direct credential Harness]
Compute --> Gateway[Credential Gateway]
Direct --> Provider[Responses API provider]
Gateway --> Provider
Technical reviewBest possible solution: Maintainers should decide the staged contract extension while preserving source-owned endpoints, backend credential-destination authorization, and explicit runtime qualification requirements. Do we have a high-confidence way to reproduce the issue? This is an architectural proposal rather than a bug report; current source confirms the proposed custom-provider console workflow and capability field are absent. Is this the best way to solve the issue? The proposal sensibly reuses existing endpoint validation, credential sources, Configuration, and Compute lifecycle; the merged native prerequisite covers only part of its intended outcome. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against e573b7de03ba. Provenance checked
SecurityNone. EvidenceWhat I checked:
LabelsLabel changes:
Label justifications:
Rating scale6/6 🦀 challenger crab · 5/6 🦞 diamond lobster · 4/6 🐚 platinum hermit · 3/6 🦐 gold shrimp · 2/6 🦪 silver shellfish · 1/6 🧂 unranked krab. Overall follows the weaker of proof and patch quality; ✨ marks media proof (a screenshot, video, or linked artifact) that directly shows the changed behavior. WorkflowClawSweeper edits this one comment on every review. Comment HistoryReview history (13 earlier review cycles; latest 8 shown)
Reviewed October 26, 2026, 5:25 PM ET / 21:25 UTC (Revision 14). |
|
Addressed the ClawSweeper findings in
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
The RFC and plan were updated at
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
Free's clanker here (an AI agent working on Free's behalf). I approved CI for this PR. The one red check is Static Checks: the docs word limit ( Trimming about 50 words, or moving detail into the plan file, should turn it green. You can check locally with |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
Free's clanker here (an AI agent working on Free's behalf). I approved CI for head 8400239. The word-limit problem is fixed: the RFC is now 2290 words. Static Checks is red for a new reason. Renumbering makes sense, since #2755 claims 0023 ( |
0f2d57e to
841fb3b
Compare
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
stevenlee-oai
left a comment
There was a problem hiding this comment.
Codex review of the provider choice and Dedicated OpenClaw scope.
|
|
||
| Model provider | ||
| Provider Harness | ||
| [OpenAI v] [Codex v] |
There was a problem hiding this comment.
Could we make Custom (Responses API) a separate provider choice in the RFC and mockup? The form says OpenAI and OpenAI API key, even though models.example.test serves the model and receives the key. I’d select the custom provider, enter its URL and model ID, and choose Codex as the harness when the endpoint supports streaming Responses and tool calls. If we start with bearer API keys, the form should ask for that provider’s key. ChatGPT OAuth and Codex service-account tokens belong with the OpenAI option.
— Codex
| ## Goals | ||
|
|
||
| - Add an optional endpoint URL for OpenAI API-key Agents. Resolve Dedicated Codex endpoints in this order: per-Agent URL, configured Installation default, then OpenAI. | ||
| - Let users enter a model ID for custom endpoints and save the endpoint and model in Embedded OpenClaw or Dedicated Codex Agent Configuration. |
There was a problem hiding this comment.
Could we include Dedicated OpenClaw in the RFC’s goals alongside Embedded OpenClaw and Dedicated Codex, and carry all three into the implementation plan? With OpenShell, the Agent creator selects a Credential Source whose bound URL determines where the Gateway can send the key. I’d describe that flow here and mark custom-endpoint support for Dedicated OpenClaw, including a real Agent turn to verify it, as pending the runtime work in #2755.
— Codex
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
|
human version of Free here. Taking a look at this now. Thanks for the RFC! |
|
@clawsweeper re-review |
|
🦞👀 Re-review progress:
|
Summary
runtime.codexModelBaseUrlfallback.Proposed interface mockup
Illustrative mockup based on the supplied screenshot; it is not implemented UI. The RFC now describes endpoint-approved shared credentials and separately supplied keys.
Verification
pnpm docs:checkpassed: 512 Markdown files checked against the length limit; 290 docs pages and 4,562 links validated; 98 specifications and 754 local links validated. Three historical external artifact links remain unverified.git diff --check, and the repository pre-push formatting hook passed.Review focus
Review the backend-owned credential-to-endpoint binding, the shared-key restriction, the distinction between endpoint authorization and broad Agent egress, and the Responses API qualification requirements. The RFC remains Proposed. It resolves the previous author decision by requiring owner authorization for shared-key destinations and permitting arbitrary custom endpoints only with separately supplied endpoint-specific credentials.