mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 10:51:23 +00:00
chore: apply local workspace updates (#9911)
* chore: apply local workspace updates * fix: resolve prep findings after rebase (#9898) (thanks @gumadeiras) * refactor: centralize model allowlist normalization (#9898) (thanks @gumadeiras) * fix: guard model allowlist initialization (#9911) * docs: update changelog scope for #9911 * docs: remove model names from changelog entry (#9911) * fix: satisfy type-aware lint in model allowlist (#9911)
This commit is contained in:
committed by
GitHub
parent
93b450349f
commit
4629054403
@@ -11,7 +11,7 @@
|
||||
import type { ModelApi, ModelDefinitionConfig } from "../config/types.js";
|
||||
|
||||
export const OPENCODE_ZEN_API_BASE_URL = "https://opencode.ai/zen/v1";
|
||||
export const OPENCODE_ZEN_DEFAULT_MODEL = "claude-opus-4-5";
|
||||
export const OPENCODE_ZEN_DEFAULT_MODEL = "claude-opus-4-6";
|
||||
export const OPENCODE_ZEN_DEFAULT_MODEL_REF = `opencode/${OPENCODE_ZEN_DEFAULT_MODEL}`;
|
||||
|
||||
// Cache for fetched models (1 hour TTL)
|
||||
@@ -21,19 +21,20 @@ const CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour
|
||||
|
||||
/**
|
||||
* Model aliases for convenient shortcuts.
|
||||
* Users can use "opus" instead of "claude-opus-4-5", etc.
|
||||
* Users can use "opus" instead of "claude-opus-4-6", etc.
|
||||
*/
|
||||
export const OPENCODE_ZEN_MODEL_ALIASES: Record<string, string> = {
|
||||
// Claude
|
||||
opus: "claude-opus-4-5",
|
||||
opus: "claude-opus-4-6",
|
||||
"opus-4.6": "claude-opus-4-6",
|
||||
"opus-4.5": "claude-opus-4-5",
|
||||
"opus-4": "claude-opus-4-5",
|
||||
"opus-4": "claude-opus-4-6",
|
||||
|
||||
// Legacy Claude aliases (OpenCode Zen rotates model catalogs; keep old keys working).
|
||||
sonnet: "claude-opus-4-5",
|
||||
"sonnet-4": "claude-opus-4-5",
|
||||
haiku: "claude-opus-4-5",
|
||||
"haiku-3.5": "claude-opus-4-5",
|
||||
sonnet: "claude-opus-4-6",
|
||||
"sonnet-4": "claude-opus-4-6",
|
||||
haiku: "claude-opus-4-6",
|
||||
"haiku-3.5": "claude-opus-4-6",
|
||||
|
||||
// GPT-5.x family
|
||||
gpt5: "gpt-5.2",
|
||||
@@ -119,6 +120,7 @@ const MODEL_COSTS: Record<
|
||||
cacheRead: 0.107,
|
||||
cacheWrite: 0,
|
||||
},
|
||||
"claude-opus-4-6": { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
|
||||
"claude-opus-4-5": { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
|
||||
"gemini-3-pro": { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 0 },
|
||||
"gpt-5.1-codex-mini": {
|
||||
@@ -143,6 +145,7 @@ const DEFAULT_COST = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 };
|
||||
|
||||
const MODEL_CONTEXT_WINDOWS: Record<string, number> = {
|
||||
"gpt-5.1-codex": 400000,
|
||||
"claude-opus-4-6": 1000000,
|
||||
"claude-opus-4-5": 200000,
|
||||
"gemini-3-pro": 1048576,
|
||||
"gpt-5.1-codex-mini": 400000,
|
||||
@@ -159,6 +162,7 @@ function getDefaultContextWindow(modelId: string): number {
|
||||
|
||||
const MODEL_MAX_TOKENS: Record<string, number> = {
|
||||
"gpt-5.1-codex": 128000,
|
||||
"claude-opus-4-6": 128000,
|
||||
"claude-opus-4-5": 64000,
|
||||
"gemini-3-pro": 65536,
|
||||
"gpt-5.1-codex-mini": 128000,
|
||||
@@ -195,6 +199,7 @@ function buildModelDefinition(modelId: string): ModelDefinitionConfig {
|
||||
*/
|
||||
const MODEL_NAMES: Record<string, string> = {
|
||||
"gpt-5.1-codex": "GPT-5.1 Codex",
|
||||
"claude-opus-4-6": "Claude Opus 4.6",
|
||||
"claude-opus-4-5": "Claude Opus 4.5",
|
||||
"gemini-3-pro": "Gemini 3 Pro",
|
||||
"gpt-5.1-codex-mini": "GPT-5.1 Codex Mini",
|
||||
@@ -222,6 +227,7 @@ function formatModelName(modelId: string): string {
|
||||
export function getOpencodeZenStaticFallbackModels(): ModelDefinitionConfig[] {
|
||||
const modelIds = [
|
||||
"gpt-5.1-codex",
|
||||
"claude-opus-4-6",
|
||||
"claude-opus-4-5",
|
||||
"gemini-3-pro",
|
||||
"gpt-5.1-codex-mini",
|
||||
|
||||
Reference in New Issue
Block a user