Skip to content

DeepSeek V4 models excluded from reasoning effort support in variants() and options() #9512

Description

@galpt

Description

DeepSeek V4 Flash and Pro models support reasoning_effort (documented on DeepSeek's Thinking Mode page — search for "Thinking Effort Control"), but Kilo v7.2.23 explicitly excludes all DeepSeek models from the reasoning effort variant and option system.

From DeepSeek's Thinking Mode docs, the Thinking Effort Control table shows:

Control Parameter (OpenAI Format) Values
Thinking Effort Control {"reasoning_effort": "high/max"}

Their footnote also explicitly mentions: "for some complex agent requests (such as Claude Code, OpenCode), effort is automatically set to max" — so this is a known integration point where OpenCode should already be recognized.

DeepSeek API docs reference: https://api-docs.deepseek.com/guides/thinking_mode

Location in source (v7.2.23)

packages/opencode/src/provider/transform.ts — the variants() function:

if (
    id.includes("deepseek") ||
    id.includes("minimax") ||
    id.includes("mistral") ||
    id.includes("qwen") ||
    // ...
  )
    return {}

When variants() returns {}, no reasoning effort variants are offered or applied. The options() function also does not inject any default reasoningEffort for DeepSeek models.

As a result:

  • Users must manually set options.reasoningEffort per agent in their config
  • No UI dropdown or variant selection is available for DeepSeek models
  • No model-level defaults exist (unlike GPT-5 which gets reasoningEffort: "medium" by default)

Expected behavior

DeepSeek V4 Flash and Pro models should be included in the reasoning effort system:

  1. Remove deepseek from the exclusion list in variants(), or make the exclusion version-aware so V4+ models are included
  2. Add default reasoningEffort injection in options() for DeepSeek V4 models (e.g., "medium" default, "low" for small-model tasks)
  3. Allow variant presets for DeepSeek V4 similar to what exists for OpenAI models

Workaround

Users can add "options": { "reasoningEffort": "max" } to each agent definition in their config, but this bypasses the proper variant system and requires manual per-agent configuration.

Environment

  • Kilo version: v7.2.23
  • Models affected: deepseek-v4-flash, deepseek-v4-pro (and future V4+ variants)

Note

If this exclusion is intentional rather than an oversight, feel free to close this issue — just wanted to raise it since V4 models are new and the docs explicitly mention OpenCode as a recognized integration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions