feat(core,cli,web,docs,skills): AgentHub 0.4.6 with the DeepSeek vision model - #388
Merged
Conversation
…on model 0.4.6 adds deepseek-v4-flash-vision-exp to the registry and moves the first-party DeepSeek client from Chat Completions to the OpenAI Responses API (agenthub #185). The catalog gains the model twice: the DeepSeek group at the official off-peak CNY tier (cache hit 0.05 / miss 1.5 / output 4.5, the same as V4 Flash) with a 1M window, and the OpenRouter group at that gateway's published USD rates (0.007 / 0.22 / 0.66) with its 1,048,576-token window. DeepSeek is the sole provider there, so the two agree up to the 7:1 display conversion. Peak hours bill double in both places; the rows record off-peak, as the existing DeepSeek rows already do. The base URL field's protocol hint reads /responses for the DeepSeek group and for an explicit deepseek-v4 client type — the gateway rows pin openai-chat and keep /chat/completions. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this does
Upgrades
@prismshadow/agenthubfrom 0.4.5 to 0.4.6 and adapts to the two changes it brings (agenthub #185).deepseek-v4-flash-vision-expjoins the catalog, in two groups.supportsVision: true, official off-peak CNY tier — cache hit ¥0.05 / cache miss ¥1.5 / output ¥4.5 per million tokens, i.e. V4 Flash's own price (pricing page). That matches agenthub's registry entry, which prices it identically.usd(0.007, 0.22, 0.66)— read from the models API, which is authoritative over the model page per the catalog's own convention. DeepSeek is the only provider serving it there, so the two rows agree up to the catalog's 7:1 display conversion.Both record the off-peak tier, the convention the existing DeepSeek rows already follow (issue #313). Peak hours — Beijing 9:00–12:00 and 14:00–18:00 — bill exactly double, and the cost centre uses one rate, so peak usage is under-counted 2x. The OpenRouter models API states the same thing structurally: the entry carries a
pricing.overridesarray whose two peak windows double every bucket, and the basepricingobject is the off-peak rate this row stores.DeepSeek moved onto the Responses protocol.
DeepSeekV4Clientnow posts{base}/responsesinstead of{base}/chat/completions. The Web model dialog's base URL suffix is a display of exactly that path, so it had to follow: thedeepseekgroup and an explicitdeepseek-v4client type now hint/responses. Gateway rows reselling DeepSeek pinopenai-chatand are unaffected — that pin is already load-bearing for other reasons, and it keeps them on Chat Completions, which is what SiliconFlow serves.resolveModelEnvneeded nothing: it matchesdeepseek-v4as a substring, which the new id contains, so it already resolves theDEEPSEEK_*pair.Breaking
A model id containing
deepseek-v4with noclient_typeroutes to the DeepSeek client by id alone, and that client's request path changed. Entries pointed athttps://api.deepseek.comare fine — it serves both protocols. An entry pointed at a Chat Completions-only endpoint (self-hosted, a relay, a third-party DeepSeek-compatible gateway) starts failing on upgrade, and the fix is to setclient_type = "openai-chat"on it. The changelog entry's## Compatibilitysection says so, and the shippedagenthub-modelsskill now records which protocol the client speaks.No compatibility code was added, so there is no
backward-compatibility.mdin this batch. A migration that stampsclient_type = "openai-chat"onto existing DeepSeek-id entries in custom groups is possible if the break is judged too sharp — say the word and I will add it.Verification
pnpm install(lockfile now resolves 0.4.6),pnpm -r build,pnpm typecheck,pnpm format+pnpm format:check— all clean.input_modalities: ["Text","Image"], a 1M window and V4 Flash's price, and that the two SiliconFlow rows moved toopenai-chatupstream (ours already pinned it).model-catalog.test.ts(24), webprotocol-path.test.ts/model-grouping.test.ts/protocol-detect.test.ts(56), servermodels.test.ts/models-vision.test.ts(26), skills package (24), docsskills-sync/search/content(33). All pass.🤖 Generated with Claude Code