diff --git a/src/commands/effort/effort.tsx b/src/commands/effort/effort.tsx index 2804233d04..0791628182 100644 --- a/src/commands/effort/effort.tsx +++ b/src/commands/effort/effort.tsx @@ -169,7 +169,7 @@ export async function call( if (COMMON_HELP_ARGS.includes(args)) { onDone( - 'Usage: /effort [low|medium|high|max|auto]\n\nEffort levels:\n- low: Quick, straightforward implementation\n- medium: Balanced approach with standard testing\n- high: Comprehensive implementation with extensive testing\n- max: Maximum capability with deepest reasoning (Opus 4.6 only)\n- auto: Use the default effort level for your model', + 'Usage: /effort [low|medium|high|max|auto]\n\nEffort levels:\n- low: Quick, straightforward implementation\n- medium: Balanced approach with standard testing\n- high: Comprehensive implementation with extensive testing\n- max: Maximum capability with deepest reasoning (Opus 4.6/4.7, DeepSeek V4 Pro)\n- auto: Use the default effort level for your model', ) return } diff --git a/src/utils/effort.ts b/src/utils/effort.ts index 4cf5309957..e4c32d74bd 100644 --- a/src/utils/effort.ts +++ b/src/utils/effort.ts @@ -36,7 +36,8 @@ export function modelSupportsEffort(model: string): boolean { if ( m.includes('opus-4-7') || m.includes('opus-4-6') || - m.includes('sonnet-4-6') + m.includes('sonnet-4-6') || + m.includes('deepseek-v4-pro') ) { return true } @@ -57,11 +58,16 @@ export function modelSupportsEffort(model: string): boolean { // @[MODEL LAUNCH]: Add the new model to the allowlist if it supports 'max' effort. // Per API docs, 'max' is Opus 4.6/4.7 only for public models — other models return an error. +// However, DeepSeek V4 Pro also supports max effort when using Anthropic-compatible API. export function modelSupportsMaxEffort(model: string): boolean { const supported3P = get3PModelCapabilityOverride(model, 'max_effort') if (supported3P !== undefined) { return supported3P } + // Support DeepSeek V4 Pro specifically (Anthropic-compatible API) + if (model.toLowerCase().includes('deepseek-v4-pro')) { + return true + } if ( model.toLowerCase().includes('opus-4-7') || model.toLowerCase().includes('opus-4-6') @@ -267,7 +273,7 @@ export function getEffortLevelDescription(level: EffortLevel): string { case 'xhigh': return 'Extended reasoning beyond high, short of max (Opus 4.7 only)' case 'max': - return 'Maximum capability with deepest reasoning (Opus 4.6/4.7 only)' + return 'Maximum capability with deepest reasoning (Opus 4.6/4.7/DeepSeek V4 Pro)' } }