Skip to content

feat(models): add DeepSeek V4 Pro and V4 Flash via OpenRouter#99

Open
incogbyte wants to merge 1 commit into
caido-community:mainfrom
incogbyte:feat/deepseek-openrouter-models
Open

feat(models): add DeepSeek V4 Pro and V4 Flash via OpenRouter#99
incogbyte wants to merge 1 commit into
caido-community:mainfrom
incogbyte:feat/deepseek-openrouter-models

Conversation

@incogbyte

Copy link
Copy Markdown

Summary

Adds the current DeepSeek models to Shift, routed through the OpenRouter provider (following the existing Grok/Mercury pattern):

  • deepseek/deepseek-v4-pro — 1M context, reasoning ✅
  • deepseek/deepseek-v4-flash — 1M context, reasoning ✅

Both are enabled by default for agent and float usage.

Why via OpenRouter (not a native deepseek provider)

Caido's AIUpstreamProviderId only supports anthropic | google | openai | openrouter. The ModelProvider enum in packages/shared/src/models.ts is constrained with satisfies Record<string, AIUpstreamProviderId>, so a native deepseek provider would fail to compile and Caido couldn't route it. OpenRouter is already a supported provider and exposes DeepSeek, so this is the clean, idiomatic path — no shared-type or frontend changes needed.

Why V4 models only

Per the DeepSeek API docs, deepseek-chat and deepseek-reasoner are deprecated on 2026/07/24 (they map to the non-thinking/thinking modes of deepseek-v4-flash). Only the current V4 models are included to avoid shipping something that breaks within weeks.

Changes

  • packages/backend/src/models/openrouter.ts:
    • Added DEEPSEEK_V4_PRO and DEEPSEEK_V4_FLASH to OpenRouterModelIds
    • Added the two model entries to openrouterModels (provider OpenRouter, contextWindow: 1_000_000, reasoning: true)
    • Added both to defaultOpenRouterModelsConfig with ["agent", "float"]

Validation

  • openrouter.spec.ts + stores/models/update.spec.ts → 17/17 passing
  • tsc --noEmit (backend) → no errors

How to use

  1. Configure your OpenRouter API key in Caido AI settings.
  2. DeepSeek V4 Pro / DeepSeek V4 Flash appear in Shift's model list, enabled for agent and float.

🤖 Generated with Claude Code

Add the current DeepSeek models (deepseek-v4-pro, deepseek-v4-flash,
both with 1M context and reasoning) routed through the OpenRouter
provider, following the existing Grok/Mercury pattern. DeepSeek is not
a native Caido upstream provider, so OpenRouter is the supported path.

The legacy deepseek-chat/deepseek-reasoner are deprecated 2026/07/24,
so only the V4 models are included. Both are enabled by default for
agent and float usage.

Co-Authored-By: Claude <noreply@anthropic.com>
@incogbyte incogbyte requested a review from a team as a code owner July 10, 2026 00:05

@bebiksior bebiksior left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants