code-yeongyu / code-yeongyu/senpi

catalog: DeepSeek V4.1 Flash (deepseek-flash) missing; official deepseek-v4-flash entry is text-only although it now serves the multimodal V4.1

Open
#1,580 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
429
Forks
98
Avg merge
5h 3m
Merged PRs (30d)
526

Description

## Summary

Follow-up to #1574 / #1579 (prompt preset). The **model catalog** side of the DeepSeek V4.1 Flash release is still on V4:

- `packages/ai/src/providers/data/deepseek.json` lists only `deepseek-v4-flash` and `deepseek-v4-pro`. The official API's new name `deepseek-flash` (DeepSeek changelog 2026-09-10) is missing, so `--model deepseek/deepseek-flash` does not resolve against the built-in catalog.
- The `deepseek/deepseek-v4-flash` entry is `input: ["text"]`; the model behind that name is now V4.1 Flash, which is natively multimodal (`input: ["text","image"]` on models.dev). `look-at` delegation therefore kicks in for images the model could read itself.
- `deepseek-v4-flash-vision-exp` is retired upstream (routed to V4.1 Flash); it is not in `deepseek.json`, which is fine, but any hydrated catalog that still carries it should route the same way.
- From 2026-09-14 04:00 UTC, `deepseek/deepseek-v4-pro` is served by V4.1 Flash and billed at Flash rates "until V4.1 Pro launches". The catalog's pro entry (pricing, `input`, and the `deepseek-v4-pro` prompt preset mapping on the official provider) needs a dated decision once that routing is live.
- `DEEPSEEK_V4_FLASH_THINKING_LEVEL_MAP` in `packages/ai/scripts/generate-models.ts` should apply to `deepseek-flash` as well (V4.1 accepts `low`/`high`/`max`; `xhigh` maps to `high` per the thinking-mode doc; the numeric 1-100 budget is not exposed through `reasoning_effort` strings).

## Expected

1. `bun run generate-models` picks up `deepseek-flash` from models.dev with `input: ["text","image"]`, `contextWindow 1_000_000`, `maxTokens 384_000`, the flash thinking-level map, and the V4.1 pricing ($0.15 / $0.60 / cache-read $0.003 off-peak list price).
2. `deepseek/deepseek-v4-flash` on the official provider declares image input (it is V4.1 Flash now) - or is dropped in favour of `deepseek-flash` if the alias's "temporary" routing is announced as ending.
3. `prompt-presets-deepseek-v4-1-flash.test.ts`'s catalog sweep starts asserting `deepseek/deepseek-flash` once the entry exists.
4. `deepseek-v4-pro` on the official provider: decide on/after 2026-09-14 whether the preset matcher should treat it like the retired flash alias (served by V4.1 Flash) and what the catalog should say about price and modality.

## Related

- #1574 (prompt preset, tracking), #1579 (PR)
- DeepSeek changelog: https://api-docs.deepseek.com/updates/ ; pricing: https://api-docs.deepseek.com/quick_start/pricing

Contributor guide

Open the contributing guide

Research direction

Start with packages/ai/src/providers/data/deepseek.json and the DeepSeek handling in packages/ai/scripts/generate-models.ts, then run bun run generate-models to inspect the catalog output. Review prompt-presets-deepseek-v4-1-flash.test.ts and the linked issues for existing expectations. Done means the catalog, provider modality and thinking-level behavior, tests, and the dated deepseek-v4-pro decision are consistent with the stated release details.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
ai, cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.