feat(models): add Inkling and Fireworks DeepSeek V4 Flash 0731, delist gateway GLM-5.1 (#220)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Yaowei Zheng
2026-08-06 20:08:20 +08:00
committed by GitHub
parent a59dc504c5
commit e07106a924
5 changed files with 67 additions and 38 deletions
+1
View File
@@ -98,6 +98,7 @@ Four Skill groups ship in the box ([docs](https://penguin.ooo/docs/skills)); age
| GPT 5.6 | OpenRouter |
| Gemini 3.6 Flash | Google Gemini, OpenRouter |
| Claude 5 | Anthropic, OpenRouter |
| Inkling | OpenRouter, Fireworks AI |
Each family's latest generation only — the app's **Models** page lists every built-in preset, and any OpenAI-protocol endpoint works too: pick a preset, or point a custom endpoint at any of the 1000+ online and local models.
+1
View File
@@ -98,6 +98,7 @@ https://github.com/user-attachments/assets/aec49ae9-b743-467b-b247-37bedfeaa36e
| GPT 5.6 | OpenRouter |
| Gemini 3.6 Flash | Google Gemini, OpenRouter |
| Claude 5 | Anthropic, OpenRouter |
| Inkling | OpenRouter, Fireworks AI |
上表每个系列只列最新一代,完整预置清单请在应用的**模型**页查看;只要是 OpenAI 协议的端点都可以接入:选择预置,或用自定义端点连接 1000+ 在线与本地模型。
+46 -30
View File
@@ -17,10 +17,12 @@
*
* Scope: excludes deepseek-chat / deepseek-reasoner legacy aliases that AgentHub cannot
* auto-route (deprecated 2026-07-24), glm-5v-turbo (image input unsupported by AgentHub's GLM
* client), non-chat models (embedding / image generation / TTS), and Bedrock. Direct-vendor
* ids are auto-routed by AgentHub and leave client_type unset; the five gateway groups
* (OpenRouter, Fireworks AI, SiliconFlow, Qwen Token Plan, Qwen Pay-As-You-Go) can't be
* auto-routed, so they set `client_type: "openai"` and inline their preset base URL.
* client), the OpenRouter z-ai/glm-5.1 and SiliconFlow Pro/zai-org/GLM-5.1 gateway listings
* (delisted 2026-08-06; the Z.AI direct glm-5.1 remains), non-chat models (embedding / image
* generation / TTS), and Bedrock. Direct-vendor ids are auto-routed by AgentHub and leave
* client_type unset; the five gateway groups (OpenRouter, Fireworks AI, SiliconFlow, Qwen
* Token Plan, Qwen Pay-As-You-Go) can't be auto-routed, so they set `client_type: "openai"`
* and inline their preset base URL.
*
* This file imports no Node built-ins (type-only imports only), so it can be bundled directly
* for the browser.
@@ -222,9 +224,9 @@ export const MODEL_CATALOG: ModelCatalogEntry[] = [
// -- OpenRouter (gateway: OpenAI-compatible protocol, preset base URL). Prices re-read in
// one pass on 2026-08-03 from the models API (/api/v1/models): cache_read stores the
// published input_cache_read (falling back to the input price for the few rows without
// one — qwen3.6-35b-a3b and the :free rows); cache_write stores input_cache_write only
// when it is a genuine per-token write premium (the Anthropic, GPT and qwen3.8-max rows,
// 1.25x input) —
// one — qwen3.6-35b-a3b, thinkingmachines/inkling and the :free rows); cache_write stores
// input_cache_write only when it is a genuine per-token write premium (the Anthropic, GPT
// and qwen3.8-max rows, 1.25x input) —
// Gemini's field is an hourly cache-STORAGE rate, not a per-token price, so those rows
// keep the input price — and otherwise also carries the input price. The :free tier and
// the openrouter/free Free Models Router store a genuine $0 price (not "unknown"), so
@@ -503,6 +505,20 @@ export const MODEL_CATALOG: ModelCatalogEntry[] = [
clientType: "openai",
baseUrl: OPENROUTER_BASE_URL,
},
{
// Thinking Machines Lab's Inkling (released 2026-07-14): multimodal (image + audio
// input). Specs and pricing from its OpenRouter page (2026-08-06), which publishes no
// cached-input price, so cache_read repeats the input price (no discount assumed; see
// the block comment above).
modelId: "thinkingmachines/inkling",
displayName: "Inkling",
provider: "openrouter",
contextWindow: 1000000,
pricing: usd(0.95, 0.95, 4.05),
supportsVision: true,
clientType: "openai",
baseUrl: OPENROUTER_BASE_URL,
},
{
modelId: "x-ai/grok-4.5",
displayName: "Grok 4.5",
@@ -533,19 +549,19 @@ export const MODEL_CATALOG: ModelCatalogEntry[] = [
clientType: "openai",
baseUrl: OPENROUTER_BASE_URL,
},
{
modelId: "z-ai/glm-5.1",
displayName: "GLM-5.1",
provider: "openrouter",
contextWindow: 204800,
pricing: usd(0.1794, 0.966, 3.036),
supportsVision: false,
clientType: "openai",
baseUrl: OPENROUTER_BASE_URL,
},
// -- Fireworks AI (gateway, standard serverless USD pricing: cached input / uncached
// input / output from each model's page; API ids use the accounts/fireworks/models/<slug>
// form) --
{
modelId: "accounts/fireworks/models/deepseek-v4-flash-0731",
displayName: "DeepSeek V4 Flash 0731",
provider: "fireworks",
contextWindow: 1000000,
pricing: usd(0.028, 0.14, 0.28),
supportsVision: false,
clientType: "openai",
baseUrl: FIREWORKS_BASE_URL,
},
{
modelId: "accounts/fireworks/models/deepseek-v4-flash",
displayName: "DeepSeek V4 Flash",
@@ -576,6 +592,18 @@ export const MODEL_CATALOG: ModelCatalogEntry[] = [
clientType: "openai",
baseUrl: FIREWORKS_BASE_URL,
},
{
// Thinking Machines Lab's Inkling (released 2026-07-14): multimodal (image + audio
// input); specs and serverless pricing from its Fireworks model page (2026-08-06).
modelId: "accounts/fireworks/models/inkling",
displayName: "Inkling",
provider: "fireworks",
contextWindow: 1000000,
pricing: usd(0.17, 1, 4.05),
supportsVision: true,
clientType: "openai",
baseUrl: FIREWORKS_BASE_URL,
},
{
modelId: "accounts/fireworks/models/kimi-k3",
displayName: "Kimi K3",
@@ -649,9 +677,7 @@ export const MODEL_CATALOG: ModelCatalogEntry[] = [
},
// The Pro/ and Qwen/ entries below were unpriced until 2026-08-03 (SiliconFlow's price
// list sits behind an authenticated console); prices below are its official CNY list
// prices. GLM-5.1 bills in two input-length tiers ([0, 32k) and [32k, +inf) for hit/input/
// output alike); the catalog stores one number per bucket, so these rows keep the LOWER
// tier — treat its cost as a floor for long-context use.
// prices.
{
modelId: "Pro/moonshotai/Kimi-K2.6",
displayName: "Kimi K2.6",
@@ -662,16 +688,6 @@ export const MODEL_CATALOG: ModelCatalogEntry[] = [
clientType: "openai",
baseUrl: SILICONFLOW_BASE_URL,
},
{
modelId: "Pro/zai-org/GLM-5.1",
displayName: "GLM-5.1",
provider: "siliconflow",
contextWindow: 200000,
pricing: cny(1.3, 6, 24),
supportsVision: false,
clientType: "openai",
baseUrl: SILICONFLOW_BASE_URL,
},
{
// No cache-hit price on the list, so cache_read carries the input price.
modelId: "Qwen/Qwen3.6-35B-A3B",
+14 -4
View File
@@ -41,6 +41,11 @@ describe("model-catalog", () => {
expect(providerInfo("siliconflow")!.label).toBe("SiliconFlow");
// The catalog no longer includes GLM-5-Turbo.
expect(ids).not.toContain("glm-5-turbo");
// The OpenRouter and SiliconFlow gateway listings of GLM-5.1 were delisted 2026-08-06;
// the Z.AI direct glm-5.1 remains in the catalog.
expect(ids).not.toContain("z-ai/glm-5.1");
expect(ids).not.toContain("Pro/zai-org/GLM-5.1");
expect(ids).toContain("glm-5.1");
});
it("every provider is in MODEL_PROVIDERS (custom only groups user-defined models; the catalog never uses it)", () => {
@@ -175,10 +180,10 @@ describe("model-catalog", () => {
"qwen/qwen3.6-35b-a3b",
"stepfun/step-3.7-flash",
"tencent/hy3",
"thinkingmachines/inkling",
"x-ai/grok-4.5",
"xiaomi/mimo-v2.5",
"z-ai/glm-5.2",
"z-ai/glm-5.1",
]);
for (const m of or) {
expect(m.clientType).toBe("openai");
@@ -186,9 +191,11 @@ describe("model-catalog", () => {
}
const fw = MODEL_CATALOG.filter((m) => m.provider === "fireworks");
expect(fw.map((m) => [m.modelId, m.supportsVision])).toEqual([
["accounts/fireworks/models/deepseek-v4-flash-0731", false],
["accounts/fireworks/models/deepseek-v4-flash", false],
["accounts/fireworks/models/deepseek-v4-pro", false],
["accounts/fireworks/models/glm-5p2", false],
["accounts/fireworks/models/inkling", true],
["accounts/fireworks/models/kimi-k3", true],
["accounts/fireworks/models/kimi-k2p7-code", true],
["accounts/fireworks/models/minimax-m3", true],
@@ -206,7 +213,6 @@ describe("model-catalog", () => {
"meituan-longcat/LongCat-2.0",
"moonshotai/Kimi-K2.7-Code",
"Pro/moonshotai/Kimi-K2.6",
"Pro/zai-org/GLM-5.1",
"Qwen/Qwen3.6-35B-A3B",
"zai-org/GLM-5.2",
]);
@@ -370,14 +376,18 @@ describe("model-catalog", () => {
["moonshot", "kimi-k3", "openrouter", "moonshotai/kimi-k3"],
["moonshot", "kimi-k2.6", "openrouter", "moonshotai/kimi-k2.6"],
["moonshot", "kimi-k2.6", "siliconflow", "Pro/moonshotai/Kimi-K2.6"],
["zhipu", "glm-5.1", "openrouter", "z-ai/glm-5.1"],
["zhipu", "glm-5.1", "siliconflow", "Pro/zai-org/GLM-5.1"],
] as const) {
expect(
catalogEntryFor(gatewayProvider, gatewayId)!.displayName,
`${gatewayProvider}/${gatewayId}`,
).toBe(catalogEntryFor(directProvider, directId)!.displayName);
}
// Inkling has no direct-vendor group (Thinking Machines Lab is gateway-only); its two
// gateway listings still share one display name, with the vendor prefix stripped.
expect(catalogEntryFor("openrouter", "thinkingmachines/inkling")!.displayName).toBe("Inkling");
expect(catalogEntryFor("fireworks", "accounts/fireworks/models/inkling")!.displayName).toBe(
"Inkling",
);
});
it("DeepSeek and Kimi are initialized from official CNY prices (stored in USD; x7 recovers the official price)", () => {
@@ -3,8 +3,8 @@ name: agenthub-models
description: Call model APIs through @prismshadow/agenthub — streaming text generation, image generation, speech synthesis, embeddings and the supported-model registry with one client.
short_description: Call model APIs with one AgentHub client.
short_description_zh: 用一个 AgentHub 客户端调用模型 API。
version: 10
updated: 2026-08-04T09:33:09Z
version: 11
updated: 2026-08-06T11:51:12Z
---
# AgentHub Model APIs
@@ -60,11 +60,12 @@ Use exact model ids. If an id is not in the table below and the user has not giv
| OpenAI embedding | `text-embedding-3-small`, `text-embedding-3-large` | — |
| Kimi K3 | `kimi-k3` | OpenRouter `moonshotai/kimi-k3` |
| Kimi K2.6 | `kimi-k2.6` | OpenRouter `moonshotai/kimi-k2.6`; SiliconFlow `Pro/moonshotai/Kimi-K2.6` |
| DeepSeek V4 | `deepseek-v4-pro`, `deepseek-v4-flash` | OpenRouter `deepseek/deepseek-v4-pro`, `deepseek/deepseek-v4-flash`, `deepseek/deepseek-v4-flash-0731`; SiliconFlow `deepseek-ai/DeepSeek-V4-Pro`, `deepseek-ai/DeepSeek-V4-Flash` |
| DeepSeek V4 | `deepseek-v4-pro`, `deepseek-v4-flash` | OpenRouter `deepseek/deepseek-v4-pro`, `deepseek/deepseek-v4-flash`, `deepseek/deepseek-v4-flash-0731`; Fireworks AI `accounts/fireworks/models/deepseek-v4-flash-0731`; SiliconFlow `deepseek-ai/DeepSeek-V4-Pro`, `deepseek-ai/DeepSeek-V4-Flash` |
| GLM 5.2 | `glm-5.2` | OpenRouter `z-ai/glm-5.2`; SiliconFlow `zai-org/GLM-5.2` |
| GLM 5.1 | `glm-5.1` | OpenRouter `z-ai/glm-5.1`; SiliconFlow `Pro/zai-org/GLM-5.1` |
| GLM 5.1 | `glm-5.1` | — |
| Qwen 3.8 Max | — | OpenRouter `qwen/qwen3.8-max` |
| Qwen 3.6 | — | OpenRouter `qwen/qwen3.6-35b-a3b`; SiliconFlow `Qwen/Qwen3.6-35B-A3B` |
| Inkling | — | OpenRouter `thinkingmachines/inkling`; Fireworks AI `accounts/fireworks/models/inkling` |
The image endpoint dropped its preview suffix: `gemini-3.1-flash-image-preview` is deprecated, use `gemini-3.1-flash-image`.