openclaw - ✅(Solved) Fix [Feature]: DeepSeek provider thinking profile should expose xhigh and max levels [1 pull requests, 1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#73718Fetched 2026-04-29 06:15:59
View on GitHub
Comments
1
Participants
2
Timeline
3
Reactions
0
Author
Timeline (top)
commented ×1cross-referenced ×1labeled ×1

DeepSeek provider thinking profile should expose xhigh and max levels,对应 reasoning_effort: "max"

Root Cause

DeepSeek provider thinking profile should expose xhigh and max levels,对应 reasoning_effort: "max"

PR fix notes

PR #73008: fix(deepseek): expose V4 max thinking levels

Description (problem / solution / changelog)

Summary

  • Problem: Native deepseek/deepseek-v4-pro and deepseek/deepseek-v4-flash rejected /think max and /think xhigh before request construction.
  • Why it matters: DeepSeek V4 stream handling already maps max reasoning requests, but users could not select those levels through OpenClaw thinking validation.
  • What changed: Added a DeepSeek V4 resolveThinkingProfile with off|minimal|low|medium|high|xhigh|max, added regression coverage, and documented the supported levels.
  • What did NOT change (scope boundary): No OpenRouter behavior, no core thinking resolver changes, no changelog entry.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #72893
  • This PR fixes a bug or regression

Root Cause (if applicable)

  • Root cause: The DeepSeek provider registered the V4 stream wrapper, but did not expose a provider resolveThinkingProfile, so thinking validation fell back to the base levels only.
  • Missing detection / guardrail: Existing DeepSeek tests covered payload mapping after a level was accepted, but not provider-profile level exposure.
  • Contributing context (if known): DeepSeek V4 request shaping already handled xhigh/max via the stream wrapper.

Regression Test Plan (if applicable)

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: extensions/deepseek/index.test.ts
  • Scenario the test should lock in: DeepSeek V4 models expose xhigh and max; non-V4 DeepSeek models do not opt into the V4 profile.
  • Why this is the smallest reliable guardrail: The bug was in provider profile registration, so the provider plugin test directly exercises the missing hook.
  • Existing test that already covers this (if any): Existing tests covered V4 payload mapping, not level acceptance.
  • If no new test is added, why not: N/A

User-visible / Behavior Changes

/think xhigh and /think max are accepted for native DeepSeek V4 Flash and Pro models.

Diagram (if applicable)

Before:
[/think max] -> [DeepSeek provider has no profile] -> [base levels only] -> [rejected]

After:
[/think max] -> [DeepSeek V4 profile] -> [max accepted] -> [stream wrapper maps request]

Additional live test result:

Human verified with Deepseek API Key:

DEEPSEEK_LIVE_TEST=1 OPENCLAW_LIVE_DEEPSEEK_MODEL=deepseek-v4-pro pnpm test:live extensions/deepseek/deepseek.live.test.ts -- --reporter=verbose

RUN  v4.1.5

✓ extensions/deepseek/deepseek.live.test.ts > deepseek plugin live > returns assistant text from the bundled V4 model catalog 1103ms
✓ extensions/deepseek/deepseek.live.test.ts > deepseek plugin live > accepts V4 thinking replay after a prior provider tool call 1299ms

Test Files  1 passed (1)
Tests       2 passed (2)
Duration    5.18s

Changed files

  • docs/providers/deepseek.md (modified, +2/-0)
  • docs/tools/thinking.md (modified, +1/-0)
  • extensions/deepseek/index.test.ts (modified, +31/-0)
  • extensions/deepseek/index.ts (modified, +17/-4)
  • extensions/deepseek/models.ts (modified, +5/-0)
  • extensions/deepseek/stream.ts (modified, +5/-5)
RAW_BUFFERClick to expand / collapse

Summary

DeepSeek provider thinking profile should expose xhigh and max levels,对应 reasoning_effort: "max"

Problem to solve

The DeepSeek provider thinking profile should include:

xhigh → maps to reasoning_effort: "max" / output_config.effort: "max" max → maps to same This would match the API's documented behavior and provide parity with other providers that expose these levels (e.g., Anthropic Claude Opus 4.7).

Proposed solution

The DeepSeek provider thinking profile should include:

xhigh → maps to reasoning_effort: "max" / output_config.effort: "max" max → maps to same This would match the API's documented behavior and provide parity with other providers that expose these levels (e.g., Anthropic Claude Opus 4.7).

Alternatives considered

No response

Impact

deepseek-v4-pro already has supportsReasoningEffort: true deepseek-reasoner has supportsReasoningEffort: false (max not applicable) Per the thinking.md docs, this should use resolveThinkingProfile or the legacy supportsXHighThinking hook

Evidence/examples

No response

Additional information

No response

extent analysis

TL;DR

Update the DeepSeek provider thinking profile to include "xhigh" and "max" levels mapping to "reasoning_effort: max" and "output_config.effort: max" for parity with other providers.

Guidance

  • Review the API documentation to ensure the proposed mapping aligns with the intended behavior.
  • Verify that the deepseek-v4-pro and deepseek-reasoner configurations are correctly set up to support reasoning effort.
  • Consider using the resolveThinkingProfile or supportsXHighThinking hook as per the thinking.md docs to implement the thinking profile.
  • Test the updated thinking profile to ensure it provides the expected output and parity with other providers like Anthropic Claude Opus 4.7.

Example

No code example is provided due to lack of specific implementation details.

Notes

The solution assumes that the reasoning_effort and output_config.effort parameters are correctly defined and supported by the DeepSeek provider.

Recommendation

Apply the proposed workaround by updating the DeepSeek provider thinking profile to include the "xhigh" and "max" levels, as this will provide parity with other providers and align with the API's documented behavior.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING