fix(codex): remove duplicate provider setup choice (#107979)

* fix(codex): stop advertising harness as model provider

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* fix(wizard): keep migration plugins out of optional setup

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
Jason (Json)
2026-07-16 03:31:11 -07:00
committed by GitHub
co-authored by Peter Steinberger
parent f444dfafc5
commit 73980e7e42
8 changed files with 41 additions and 48 deletions
+1 -1
View File
@@ -213,7 +213,7 @@ Each entry lists the package, distribution route, and description.
- **[cloudflare-ai-gateway](/plugins/reference/cloudflare-ai-gateway)** (`@openclaw/cloudflare-ai-gateway-provider`) - npm; ClawHub: `clawhub:@openclaw/cloudflare-ai-gateway-provider`. Adds Cloudflare AI Gateway model provider support to OpenClaw.
- **[codex](/plugins/reference/codex)** (`@openclaw/codex`) - npm; ClawHub. Codex app-server harness, model provider, and native session catalog.
- **[codex](/plugins/reference/codex)** (`@openclaw/codex`) - npm; ClawHub. Codex app-server harness and native session catalog.
- **[copilot](/plugins/reference/copilot)** (`@openclaw/copilot`) - npm; ClawHub: `clawhub:@openclaw/copilot`. Registers the GitHub Copilot agent runtime.
+3 -3
View File
@@ -1,5 +1,5 @@
---
summary: "Codex app-server harness, model provider, and native session catalog."
summary: "Codex app-server harness and native session catalog."
read_when:
- You are installing, configuring, or auditing the codex plugin
title: "Codex plugin"
@@ -7,7 +7,7 @@ title: "Codex plugin"
# Codex plugin
Codex app-server harness, model provider, and native session catalog.
Codex app-server harness and native session catalog.
## Distribution
@@ -16,7 +16,7 @@ Codex app-server harness, model provider, and native session catalog.
## Surface
providers: `codex`; contracts: `mediaUnderstandingProviders`, `migrationProviders`, `tools`, `webSearchProviders`
contracts: `mediaUnderstandingProviders`, `migrationProviders`, `tools`, `webSearchProviders`
## Related docs
+1 -1
View File
@@ -16,7 +16,7 @@ OpenClaw Discord channel plugin for channels, DMs, commands, and app events.
## Surface
channels: `discord`; contracts: `transcriptSourceProviders`; skills
channels: `discord`; contracts: `tools`, `transcriptSourceProviders`; skills
## Related docs
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@openclaw/codex",
"version": "2026.7.2",
"description": "OpenClaw Codex app-server harness, model provider, and native session supervision plugin.",
"description": "OpenClaw Codex app-server harness and native session supervision plugin.",
"repository": {
"type": "git",
"url": "https://github.com/openclaw/openclaw"
@@ -55,6 +55,26 @@
}
}
},
{
"name": "@openclaw/codex",
"description": "OpenClaw Codex app-server harness and native session catalog",
"source": "official",
"kind": "plugin",
"openclaw": {
"plugin": {
"id": "codex",
"label": "Codex"
},
"contracts": {
"migrationProviders": ["codex"]
},
"install": {
"npmSpec": "@openclaw/codex",
"defaultChoice": "npm",
"minHostVersion": ">=2026.5.1-beta.1"
}
}
},
{
"name": "@openclaw/copilot",
"description": "OpenClaw GitHub Copilot agent runtime plugin",
@@ -365,47 +365,6 @@
}
}
},
{
"name": "@openclaw/codex",
"description": "OpenClaw Codex harness and model provider plugin",
"source": "official",
"kind": "provider",
"openclaw": {
"plugin": {
"id": "codex",
"label": "Codex"
},
"contracts": {
"migrationProviders": ["codex"]
},
"providers": [
{
"id": "codex",
"name": "Codex",
"docs": "/providers/models",
"categories": ["cloud", "llm"],
"authChoices": [
{
"method": "app-server",
"choiceId": "codex",
"choiceLabel": "Codex app-server",
"choiceHint": "Keep using your Codex CLI or ChatGPT app sign-in via the Codex app-server runtime.",
"assistantPriority": -40,
"groupId": "codex",
"groupLabel": "Codex",
"groupHint": "Codex app-server model provider",
"onboardingScopes": ["text-inference"]
}
]
}
],
"install": {
"npmSpec": "@openclaw/codex",
"defaultChoice": "npm",
"minHostVersion": ">=2026.5.1-beta.1"
}
}
},
{
"name": "@openclaw/deepinfra-provider",
"description": "OpenClaw DeepInfra provider plugin.",
@@ -180,6 +180,18 @@ describe("official external plugin catalog", () => {
expect(officialExternalPluginCatalog.entries.length).toBeGreaterThan(0);
});
it("keeps Codex installable as a harness without declaring a model provider", () => {
const entry = expectCatalogEntry("codex");
const manifest = getOfficialExternalPluginCatalogManifest(entry);
expect(entry.kind).toBe("plugin");
expect(manifest?.providers).toBeUndefined();
expect(resolveOfficialExternalPluginInstall(entry)).toMatchObject({
npmSpec: "@openclaw/codex",
defaultChoice: "npm",
});
});
it("curates featured external plugins with ClawHub install alternatives", () => {
const featured = [
["diffs", "@openclaw/diffs", 40],
+3 -1
View File
@@ -37,7 +37,9 @@ function isGenericOfficialPluginEntry(entry: { source?: string; kind?: string })
Boolean(manifest?.plugin?.id) &&
!manifest?.channel &&
(manifest?.providers?.length ?? 0) === 0 &&
(manifest?.webSearchProviders?.length ?? 0) === 0
(manifest?.webSearchProviders?.length ?? 0) === 0 &&
// Migration owners have their own setup flow; listing them here duplicates install prompts.
(manifest?.contracts?.migrationProviders?.length ?? 0) === 0
);
}