feat: declare refreshable model catalog supplements · openclaw/openclaw@53b53ba
shakkernerd
·
2026-04-28
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -144,6 +144,7 @@ Docs: https://docs.openclaw.ai
|
144 | 144 | ### Fixes |
145 | 145 | |
146 | 146 | - CLI/models: skip duplicate catalog supplement resolution during broad `models list --all` output so already-listed registry rows do not pay a second registry lookup pass. Thanks @shakkernerd. |
| 147 | +- CLI/models: move OpenAI and OpenCode Go forward-compat list rows into refreshable manifest catalogs and stop broad `models list --all` from loading runtime catalog supplement hooks. Thanks @shakkernerd. |
147 | 148 | - CLI/models: keep broad unfiltered `models list --all` on raw registry rows instead of loading every provider runtime normalization hook, while preserving full normalization for provider-filtered and configured model paths. Thanks @shakkernerd. |
148 | 149 | |
149 | 150 | ## 2026.4.26 |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -42,12 +42,74 @@
|
42 | 42 | } |
43 | 43 | }, |
44 | 44 | "modelCatalog": { |
| 45 | +"providers": { |
| 46 | +"openai": { |
| 47 | +"baseUrl": "https://api.openai.com/v1", |
| 48 | +"api": "openai-responses", |
| 49 | +"models": [ |
| 50 | + { |
| 51 | +"id": "gpt-5.5-pro", |
| 52 | +"name": "gpt-5.5-pro", |
| 53 | +"reasoning": true, |
| 54 | +"input": ["text", "image"], |
| 55 | +"contextWindow": 1000000, |
| 56 | +"maxTokens": 128000, |
| 57 | +"cost": { |
| 58 | +"input": 30, |
| 59 | +"output": 180, |
| 60 | +"cacheRead": 0, |
| 61 | +"cacheWrite": 0 |
| 62 | + } |
| 63 | + } |
| 64 | + ] |
| 65 | + }, |
| 66 | +"openai-codex": { |
| 67 | +"baseUrl": "https://chatgpt.com/backend-api/codex", |
| 68 | +"api": "openai-codex-responses", |
| 69 | +"models": [ |
| 70 | + { |
| 71 | +"id": "gpt-5.4-pro", |
| 72 | +"name": "gpt-5.4-pro", |
| 73 | +"reasoning": true, |
| 74 | +"input": ["text", "image"], |
| 75 | +"contextWindow": 1050000, |
| 76 | +"contextTokens": 272000, |
| 77 | +"maxTokens": 128000, |
| 78 | +"cost": { |
| 79 | +"input": 30, |
| 80 | +"output": 180, |
| 81 | +"cacheRead": 0, |
| 82 | +"cacheWrite": 0 |
| 83 | + } |
| 84 | + }, |
| 85 | + { |
| 86 | +"id": "gpt-5.5-pro", |
| 87 | +"name": "gpt-5.5-pro", |
| 88 | +"reasoning": true, |
| 89 | +"input": ["text", "image"], |
| 90 | +"contextWindow": 1000000, |
| 91 | +"contextTokens": 272000, |
| 92 | +"maxTokens": 128000, |
| 93 | +"cost": { |
| 94 | +"input": 30, |
| 95 | +"output": 180, |
| 96 | +"cacheRead": 0, |
| 97 | +"cacheWrite": 0 |
| 98 | + } |
| 99 | + } |
| 100 | + ] |
| 101 | + } |
| 102 | + }, |
45 | 103 | "aliases": { |
46 | 104 | "azure-openai-responses": { |
47 | 105 | "provider": "openai", |
48 | 106 | "api": "azure-openai-responses" |
49 | 107 | } |
50 | 108 | }, |
| 109 | +"discovery": { |
| 110 | +"openai": "refreshable", |
| 111 | +"openai-codex": "refreshable" |
| 112 | + }, |
51 | 113 | "suppressions": [ |
52 | 114 | { |
53 | 115 | "provider": "openai", |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -15,6 +15,57 @@
|
15 | 15 | } |
16 | 16 | } |
17 | 17 | }, |
| 18 | +"modelCatalog": { |
| 19 | +"providers": { |
| 20 | +"opencode-go": { |
| 21 | +"baseUrl": "https://opencode.ai/zen/go/v1", |
| 22 | +"api": "openai-completions", |
| 23 | +"models": [ |
| 24 | + { |
| 25 | +"id": "deepseek-v4-pro", |
| 26 | +"name": "DeepSeek V4 Pro", |
| 27 | +"reasoning": true, |
| 28 | +"input": ["text"], |
| 29 | +"contextWindow": 1000000, |
| 30 | +"maxTokens": 384000, |
| 31 | +"cost": { |
| 32 | +"input": 1.74, |
| 33 | +"output": 3.48, |
| 34 | +"cacheRead": 0.145, |
| 35 | +"cacheWrite": 0 |
| 36 | + }, |
| 37 | +"compat": { |
| 38 | +"supportsUsageInStreaming": true, |
| 39 | +"supportsReasoningEffort": true, |
| 40 | +"maxTokensField": "max_tokens" |
| 41 | + } |
| 42 | + }, |
| 43 | + { |
| 44 | +"id": "deepseek-v4-flash", |
| 45 | +"name": "DeepSeek V4 Flash", |
| 46 | +"reasoning": true, |
| 47 | +"input": ["text"], |
| 48 | +"contextWindow": 1000000, |
| 49 | +"maxTokens": 384000, |
| 50 | +"cost": { |
| 51 | +"input": 0.14, |
| 52 | +"output": 0.28, |
| 53 | +"cacheRead": 0.028, |
| 54 | +"cacheWrite": 0 |
| 55 | + }, |
| 56 | +"compat": { |
| 57 | +"supportsUsageInStreaming": true, |
| 58 | +"supportsReasoningEffort": true, |
| 59 | +"maxTokensField": "max_tokens" |
| 60 | + } |
| 61 | + } |
| 62 | + ] |
| 63 | + } |
| 64 | + }, |
| 65 | +"discovery": { |
| 66 | +"opencode-go": "refreshable" |
| 67 | + } |
| 68 | + }, |
18 | 69 | "providerAuthEnvVars": { |
19 | 70 | "opencode-go": ["OPENCODE_API_KEY", "OPENCODE_ZEN_API_KEY"] |
20 | 71 | }, |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。