@nextclaw/runtime 0.4.18 → 0.4.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ProviderRegistry } from "@nextclaw/core";
1
+ import { OPENCODE_ZEN_API_BASE, OPENCODE_ZEN_FREE_MODELS, OPENCODE_ZEN_MODEL_CONFIG, OPENCODE_ZEN_PROVIDER_ID, OPENCODE_ZEN_PUBLIC_API_KEY, ProviderRegistry } from "@nextclaw/core";
2
2
  //#region src/channels/builtin-channel.config.ts
3
3
  const BUILTIN_CHANNEL_IDS = [
4
4
  "telegram",
@@ -45,6 +45,7 @@ const dashscopeCodingPlanProviderSpec = {
45
45
  "dashscope-coding-plan/kimi-k2.6",
46
46
  "dashscope-coding-plan/kimi-k2.5"
47
47
  ],
48
+ modelDiscovery: false,
48
49
  modelConfig: {
49
50
  "dashscope-coding-plan/qwen3.7-plus": { vision: true },
50
51
  "dashscope-coding-plan/qwen3.7-max": { vision: true },
@@ -82,6 +83,7 @@ const kimiCodingProviderSpec = {
82
83
  detectByKeyPrefix: "",
83
84
  detectByBaseKeyword: "api.kimi.com/coding",
84
85
  defaultApiBase: "https://api.kimi.com/coding",
86
+ modelDiscovery: false,
85
87
  stripModelPrefix: false,
86
88
  modelOverrides: [],
87
89
  logo: "moonshot.png",
@@ -91,6 +93,42 @@ const kimiCodingProviderSpec = {
91
93
  }
92
94
  };
93
95
  //#endregion
96
+ //#region src/providers/opencode-zen.provider.ts
97
+ const opencodeZenProviderSpec = {
98
+ name: OPENCODE_ZEN_PROVIDER_ID,
99
+ keywords: ["opencode", "big-pickle"],
100
+ envKey: "OPENCODE_API_KEY",
101
+ displayName: "OpenCode Zen Free Trial",
102
+ modelPrefix: OPENCODE_ZEN_PROVIDER_ID,
103
+ litellmPrefix: OPENCODE_ZEN_PROVIDER_ID,
104
+ skipPrefixes: [],
105
+ envExtras: [],
106
+ isGateway: true,
107
+ isLocal: false,
108
+ detectByKeyPrefix: "",
109
+ detectByBaseKeyword: "opencode.ai/zen",
110
+ defaultApiBase: OPENCODE_ZEN_API_BASE,
111
+ anonymousApiKey: OPENCODE_ZEN_PUBLIC_API_KEY,
112
+ defaultModels: [...OPENCODE_ZEN_FREE_MODELS],
113
+ modelConfig: { ...OPENCODE_ZEN_MODEL_CONFIG },
114
+ modelDiscovery: {
115
+ kind: "models-dev",
116
+ url: "https://models.opencode.ai/api.json",
117
+ providerId: OPENCODE_ZEN_PROVIDER_ID,
118
+ freeOnly: true
119
+ },
120
+ stripModelPrefix: false,
121
+ modelOverrides: [],
122
+ supportsWireApi: true,
123
+ wireApiOptions: ["chat"],
124
+ defaultWireApi: "chat",
125
+ supportsResponsesApi: false,
126
+ apiBaseHelp: {
127
+ zh: "免费试用通过 OpenCode Zen 公共网关提供,限额和模型可能变化;请求数据可能被用于改进模型,请勿发送敏感或机密信息。",
128
+ en: "Free trial access uses OpenCode Zen's public gateway. Limits and models may change, and request data may be used to improve models. Do not send sensitive or confidential information."
129
+ }
130
+ };
131
+ //#endregion
94
132
  //#region src/providers/builtin-provider-plugins.provider.ts
95
133
  const BUILTIN_PROVIDER_PLUGINS = [{
96
134
  id: "builtin-runtime-providers",
@@ -120,6 +158,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
120
158
  "dashscope/qwen3.7-max",
121
159
  "dashscope/qwen3.5-27b"
122
160
  ],
161
+ modelDiscovery: { kind: "openai-compatible" },
123
162
  modelConfig: {
124
163
  "dashscope/qwen3.7-plus": { vision: true },
125
164
  "dashscope/qwen3.7-max": { vision: true },
@@ -128,6 +167,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
128
167
  stripModelPrefix: false,
129
168
  modelOverrides: []
130
169
  },
170
+ opencodeZenProviderSpec,
131
171
  {
132
172
  name: "openrouter",
133
173
  keywords: ["openrouter"],
@@ -158,6 +198,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
158
198
  "openrouter/openai/gpt-5.4",
159
199
  "openrouter/qwen/qwen3.7-plus"
160
200
  ],
201
+ modelDiscovery: { kind: "openai-compatible" },
161
202
  modelConfig: {
162
203
  "openrouter/minimax/minimax-m3": { vision: true },
163
204
  "openrouter/xiaomi/mimo-v2.5-pro": { vision: true },
@@ -200,6 +241,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
200
241
  "aihubmix/minimax-m3",
201
242
  "aihubmix/qwen3.7-plus"
202
243
  ],
244
+ modelDiscovery: { kind: "openai-compatible" },
203
245
  modelConfig: {
204
246
  "aihubmix/gpt-5.5": { vision: true },
205
247
  "aihubmix/gpt-5.4": { vision: true },
@@ -242,6 +284,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
242
284
  "anthropic/claude-opus-4-6": { vision: true },
243
285
  "anthropic/claude-sonnet-4-6": { vision: true }
244
286
  },
287
+ modelDiscovery: { kind: "anthropic" },
245
288
  stripModelPrefix: false,
246
289
  modelOverrides: [],
247
290
  logo: "anthropic.svg"
@@ -261,6 +304,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
261
304
  detectByBaseKeyword: "",
262
305
  defaultApiBase: "https://api.openai.com/v1",
263
306
  defaultModels: ["openai/gpt-5.5", "openai/gpt-5.4"],
307
+ modelDiscovery: { kind: "openai-compatible" },
264
308
  modelConfig: {
265
309
  "openai/gpt-5.5": { vision: true },
266
310
  "openai/gpt-5.4": { vision: true }
@@ -296,6 +340,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
296
340
  "deepseek/deepseek-v4-flash",
297
341
  "deepseek/deepseek-v4-pro"
298
342
  ],
343
+ modelDiscovery: { kind: "openai-compatible" },
299
344
  stripModelPrefix: false,
300
345
  modelOverrides: [],
301
346
  logo: "deepseek.png"
@@ -315,6 +360,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
315
360
  detectByBaseKeyword: "",
316
361
  defaultApiBase: "https://generativelanguage.googleapis.com/v1beta/openai",
317
362
  defaultModels: ["gemini/gemini-3.1-pro-preview", "gemini/gemini-3-flash-preview"],
363
+ modelDiscovery: false,
318
364
  modelConfig: {
319
365
  "gemini/gemini-3.1-pro-preview": { vision: true },
320
366
  "gemini/gemini-3-flash-preview": { vision: true }
@@ -347,6 +393,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
347
393
  detectByBaseKeyword: "",
348
394
  defaultApiBase: "https://open.bigmodel.cn/api/paas/v4",
349
395
  defaultModels: ["zai/glm-5.1", "zai/glm-5"],
396
+ modelDiscovery: false,
350
397
  stripModelPrefix: false,
351
398
  modelOverrides: [],
352
399
  logo: "zhipu.svg"
@@ -370,6 +417,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
370
417
  "dashscope/qwen3.7-max",
371
418
  "dashscope/qwen3.5-27b"
372
419
  ],
420
+ modelDiscovery: false,
373
421
  modelConfig: {
374
422
  "dashscope/qwen3.7-plus": { vision: true },
375
423
  "dashscope/qwen3.7-max": { vision: true },
@@ -397,6 +445,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
397
445
  detectByBaseKeyword: "portal.qwen.ai",
398
446
  defaultApiBase: "https://portal.qwen.ai/v1",
399
447
  defaultModels: ["qwen-portal/coder-model", "qwen-portal/vision-model"],
448
+ modelDiscovery: false,
400
449
  modelConfig: { "qwen-portal/vision-model": { vision: true } },
401
450
  stripModelPrefix: false,
402
451
  modelOverrides: [],
@@ -437,6 +486,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
437
486
  detectByBaseKeyword: "",
438
487
  defaultApiBase: "https://api.moonshot.ai/v1",
439
488
  defaultModels: ["moonshot/kimi-k2.6", "moonshot/kimi-k2.5"],
489
+ modelDiscovery: { kind: "openai-compatible" },
440
490
  modelConfig: {
441
491
  "moonshot/kimi-k2.6": { vision: true },
442
492
  "moonshot/kimi-k2.5": { vision: true }
@@ -464,6 +514,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
464
514
  "minimax/MiniMax-M2.7",
465
515
  "minimax/MiniMax-M2.7-highspeed"
466
516
  ],
517
+ modelDiscovery: { kind: "openai-compatible" },
467
518
  modelConfig: { "minimax/MiniMax-M3": { vision: true } },
468
519
  stripModelPrefix: false,
469
520
  modelOverrides: [],
@@ -499,6 +550,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
499
550
  "minimax-portal/MiniMax-M2.5",
500
551
  "minimax-portal/MiniMax-M2.5-highspeed"
501
552
  ],
553
+ modelDiscovery: false,
502
554
  modelConfig: { "minimax-portal/MiniMax-M3": { vision: true } },
503
555
  stripModelPrefix: false,
504
556
  modelOverrides: [],
@@ -565,6 +617,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
565
617
  detectByBaseKeyword: "xiaomimimo.com",
566
618
  defaultApiBase: "https://api.xiaomimimo.com/v1",
567
619
  defaultModels: ["mimo/mimo-v2.5-pro", "mimo/mimo-v2.5"],
620
+ modelDiscovery: false,
568
621
  modelConfig: { "mimo/mimo-v2.5": { vision: true } },
569
622
  stripModelPrefix: false,
570
623
  modelOverrides: [],
@@ -585,6 +638,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
585
638
  detectByBaseKeyword: "",
586
639
  defaultApiBase: "http://127.0.0.1:8000/v1",
587
640
  defaultModels: ["hosted_vllm/meta-llama/Llama-3.1-8B-Instruct", "hosted_vllm/Qwen/Qwen2.5-7B-Instruct"],
641
+ modelDiscovery: { kind: "openai-compatible" },
588
642
  stripModelPrefix: false,
589
643
  modelOverrides: [],
590
644
  logo: "vllm.svg"
@@ -604,6 +658,7 @@ const BUILTIN_PROVIDER_PLUGINS = [{
604
658
  detectByBaseKeyword: "",
605
659
  defaultApiBase: "https://api.groq.com/openai/v1",
606
660
  defaultModels: ["groq/openai/gpt-oss-120b", "groq/llama-3.1-8b-instant"],
661
+ modelDiscovery: { kind: "openai-compatible" },
607
662
  stripModelPrefix: false,
608
663
  modelOverrides: [],
609
664
  logo: "groq.svg"
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/channels/builtin-channel.config.ts","../src/providers/dashscope-coding-plan.provider.ts","../src/providers/kimi-coding.provider.ts","../src/providers/builtin.provider.ts","../src/providers/builtin-provider-plugins.provider.ts","../src/providers/builtin-provider-registry.provider.ts"],"sourcesContent":["export const BUILTIN_CHANNEL_IDS = [\n \"telegram\",\n \"whatsapp\",\n \"discord\",\n \"feishu\",\n \"dingtalk\",\n \"wecom\",\n \"email\",\n \"slack\",\n \"qq\",\n \"weixin\"\n] as const;\n\nexport type BuiltinChannelId = (typeof BUILTIN_CHANNEL_IDS)[number];\n\nexport function isBuiltinChannelId(value: string): value is BuiltinChannelId {\n return BUILTIN_CHANNEL_IDS.includes(value as BuiltinChannelId);\n}\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const dashscopeCodingPlanProviderSpec: ProviderSpec = {\n name: \"dashscope-coding-plan\",\n keywords: [\"dashscope-coding-plan\", \"coding-plan\"],\n envKey: \"DASHSCOPE_CODING_PLAN_API_KEY\",\n displayName: \"DashScope Coding Plan\",\n modelPrefix: \"dashscope-coding-plan\",\n litellmPrefix: \"dashscope-coding-plan\",\n skipPrefixes: [\"dashscope-coding-plan/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"sk-sp-\",\n detectByBaseKeyword: \"coding.dashscope.aliyuncs.com\",\n defaultApiBase: \"https://coding.dashscope.aliyuncs.com/v1\",\n defaultModels: [\n \"dashscope-coding-plan/qwen3.7-plus\",\n \"dashscope-coding-plan/qwen3.7-max\",\n \"dashscope-coding-plan/qwen3-max-2026-01-23\",\n \"dashscope-coding-plan/qwen3-coder-next\",\n \"dashscope-coding-plan/qwen3-coder-plus\",\n \"dashscope-coding-plan/MiniMax-M3\",\n \"dashscope-coding-plan/MiniMax-M2.5\",\n \"dashscope-coding-plan/glm-5.1\",\n \"dashscope-coding-plan/glm-5\",\n \"dashscope-coding-plan/glm-4.7\",\n \"dashscope-coding-plan/kimi-k2.6\",\n \"dashscope-coding-plan/kimi-k2.5\",\n ],\n modelConfig: {\n \"dashscope-coding-plan/qwen3.7-plus\": { vision: true },\n \"dashscope-coding-plan/qwen3.7-max\": { vision: true },\n \"dashscope-coding-plan/MiniMax-M3\": { vision: true },\n \"dashscope-coding-plan/kimi-k2.6\": { vision: true },\n \"dashscope-coding-plan/kimi-k2.5\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\",\n apiBaseHelp: {\n zh: \"Coding Plan 必须使用专属 Base URL https://coding.dashscope.aliyuncs.com/v1,并配合 sk-sp- 开头的专属 API Key;不要与普通 DashScope 按量计费 Key/Base URL 混用。\",\n en: \"Coding Plan must use the dedicated base URL https://coding.dashscope.aliyuncs.com/v1 together with an sk-sp- API key. Do not mix it with the regular DashScope pay-as-you-go key/base URL.\",\n },\n};\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const kimiCodingProviderSpec: ProviderSpec = {\n name: \"kimi-coding\",\n keywords: [\"kimi-coding\", \"kimi-code\", \"kimi-for-coding\"],\n envKey: \"KIMI_CODING_API_KEY\",\n displayName: \"Kimi Coding\",\n apiProtocol: \"anthropic-messages\",\n modelPrefix: \"kimi-coding\",\n defaultModels: [\"kimi-coding/kimi-for-coding\"],\n defaultHeaders: {\n \"User-Agent\": \"claude-code/0.1.0\",\n },\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"api.kimi.com/coding\",\n defaultApiBase: \"https://api.kimi.com/coding\",\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\",\n apiBaseHelp: {\n zh: \"Kimi Coding 需要使用专属 Base URL https://api.kimi.com/coding,并通过 Anthropic Messages 协议访问。\",\n en: \"Kimi Coding requires the dedicated base URL https://api.kimi.com/coding and uses the Anthropic Messages protocol.\",\n },\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { dashscopeCodingPlanProviderSpec } from \"./dashscope-coding-plan.provider.js\";\nimport { kimiCodingProviderSpec } from \"./kimi-coding.provider.js\";\nexport const builtinProviderPlugin: ProviderCatalogPlugin = {\n id: \"builtin-runtime-providers\",\n providers: [\n {\n name: \"nextclaw\",\n keywords: [\"nextclaw\", \"dashscope/\", \"qwen3.7\", \"qwen3.5\", \"qwen\"],\n envKey: \"NEXTCLAW_API_KEY\",\n displayName: \"NextClaw Built-in\",\n modelPrefix: \"nextclaw\",\n litellmPrefix: \"nextclaw\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"nc_free_\",\n detectByBaseKeyword: \"nextclaw.io\",\n defaultApiBase: \"https://ai-gateway-api.nextclaw.io/v1\",\n defaultModels: [\n \"dashscope/qwen3.7-plus\",\n \"dashscope/qwen3.7-max\",\n \"dashscope/qwen3.5-27b\",\n ],\n modelConfig: {\n \"dashscope/qwen3.7-plus\": { vision: true },\n \"dashscope/qwen3.7-max\": { vision: true },\n \"dashscope/qwen3.5-27b\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n },\n {\n name: \"openrouter\",\n keywords: [\"openrouter\"],\n envKey: \"OPENROUTER_API_KEY\",\n displayName: \"OpenRouter\",\n modelPrefix: \"openrouter\",\n litellmPrefix: \"openrouter\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"sk-or-\",\n detectByBaseKeyword: \"openrouter\",\n defaultApiBase: \"https://openrouter.ai/api/v1\",\n defaultModels: [\n \"openrouter/minimax/minimax-m3\",\n \"openrouter/xiaomi/mimo-v2.5-pro\",\n \"openrouter/xiaomi/mimo-v2.5\",\n \"openrouter/stepfun/step-3.5-flash:free\",\n \"openrouter/google/gemini-3-flash-preview\",\n \"openrouter/deepseek/deepseek-v3.2\",\n \"openrouter/x-ai/grok-4.1-fast\",\n \"openrouter/z-ai/glm-5.1\",\n \"openrouter/anthropic/claude-opus-4.8\",\n \"openrouter/anthropic/claude-opus-4.7\",\n \"openrouter/anthropic/claude-opus-4.6\",\n \"openrouter/openai/gpt-5.5\",\n \"openrouter/openai/gpt-5.4\",\n \"openrouter/qwen/qwen3.7-plus\",\n ],\n modelConfig: {\n \"openrouter/minimax/minimax-m3\": { vision: true },\n \"openrouter/xiaomi/mimo-v2.5-pro\": { vision: true },\n \"openrouter/xiaomi/mimo-v2.5\": { vision: true },\n \"openrouter/google/gemini-3-flash-preview\": { vision: true },\n \"openrouter/anthropic/claude-opus-4.8\": { vision: true },\n \"openrouter/anthropic/claude-opus-4.7\": { vision: true },\n \"openrouter/anthropic/claude-opus-4.6\": { vision: true },\n \"openrouter/openai/gpt-5.5\": { vision: true },\n \"openrouter/openai/gpt-5.4\": { vision: true },\n \"openrouter/qwen/qwen3.7-plus\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"openrouter.svg\",\n },\n {\n name: \"aihubmix\",\n keywords: [\"aihubmix\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"AiHubMix\",\n modelPrefix: \"aihubmix\",\n litellmPrefix: \"openai\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"aihubmix\",\n defaultApiBase: \"https://aihubmix.com/v1\",\n defaultModels: [\n \"aihubmix/gpt-5.5\",\n \"aihubmix/gpt-5.4\",\n \"aihubmix/claude-opus-4.8\",\n \"aihubmix/claude-opus-4.7\",\n \"aihubmix/claude-opus-4.6\",\n \"aihubmix/gemini-3.1-pro-preview\",\n \"aihubmix/kimi-k2.6\",\n \"aihubmix/kimi-k2.5\",\n \"aihubmix/minimax-m3\",\n \"aihubmix/qwen3.7-plus\",\n ],\n modelConfig: {\n \"aihubmix/gpt-5.5\": { vision: true },\n \"aihubmix/gpt-5.4\": { vision: true },\n \"aihubmix/claude-opus-4.8\": { vision: true },\n \"aihubmix/claude-opus-4.7\": { vision: true },\n \"aihubmix/claude-opus-4.6\": { vision: true },\n \"aihubmix/gemini-3.1-pro-preview\": { vision: true },\n \"aihubmix/kimi-k2.6\": { vision: true },\n \"aihubmix/kimi-k2.5\": { vision: true },\n \"aihubmix/minimax-m3\": { vision: true },\n \"aihubmix/qwen3.7-plus\": { vision: true },\n },\n stripModelPrefix: true,\n modelOverrides: [],\n logo: \"aihubmix.png\",\n },\n {\n name: \"anthropic\",\n keywords: [\"anthropic\", \"claude\"],\n envKey: \"ANTHROPIC_API_KEY\",\n displayName: \"Anthropic\",\n modelPrefix: \"anthropic\",\n litellmPrefix: \"anthropic\",\n skipPrefixes: [\"anthropic/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.anthropic.com\",\n defaultModels: [\n \"anthropic/claude-opus-4-8\",\n \"anthropic/claude-opus-4-7\",\n \"anthropic/claude-opus-4-6\",\n \"anthropic/claude-sonnet-4-6\",\n ],\n modelConfig: {\n \"anthropic/claude-opus-4-8\": { vision: true },\n \"anthropic/claude-opus-4-7\": { vision: true },\n \"anthropic/claude-opus-4-6\": { vision: true },\n \"anthropic/claude-sonnet-4-6\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"anthropic.svg\",\n },\n {\n name: \"openai\",\n keywords: [\"openai\", \"gpt\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"OpenAI\",\n modelPrefix: \"openai\",\n litellmPrefix: \"openai\",\n skipPrefixes: [\"openai/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.openai.com/v1\",\n defaultModels: [\"openai/gpt-5.5\", \"openai/gpt-5.4\"],\n modelConfig: {\n \"openai/gpt-5.5\": { vision: true },\n \"openai/gpt-5.4\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"auto\",\n logo: \"openai.svg\",\n },\n {\n name: \"deepseek\",\n keywords: [\"deepseek\"],\n envKey: \"DEEPSEEK_API_KEY\",\n displayName: \"DeepSeek\",\n modelPrefix: \"deepseek\",\n litellmPrefix: \"deepseek\",\n skipPrefixes: [\"deepseek/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.deepseek.com\",\n defaultModels: [\n \"deepseek/deepseek-chat\",\n \"deepseek/deepseek-reasoner\",\n \"deepseek/deepseek-v4-flash\",\n \"deepseek/deepseek-v4-pro\",\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"deepseek.png\",\n },\n {\n name: \"gemini\",\n keywords: [\"gemini\"],\n envKey: \"GEMINI_API_KEY\",\n displayName: \"Gemini\",\n modelPrefix: \"gemini\",\n litellmPrefix: \"gemini\",\n skipPrefixes: [\"gemini/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://generativelanguage.googleapis.com/v1beta/openai\",\n defaultModels: [\n \"gemini/gemini-3.1-pro-preview\",\n \"gemini/gemini-3-flash-preview\",\n ],\n modelConfig: {\n \"gemini/gemini-3.1-pro-preview\": { vision: true },\n \"gemini/gemini-3-flash-preview\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"gemini.svg\",\n },\n {\n name: \"zhipu\",\n keywords: [\"zhipu\", \"glm\", \"zai\"],\n envKey: \"ZAI_API_KEY\",\n displayName: \"Zhipu AI\",\n modelPrefix: \"zai\",\n litellmPrefix: \"zai\",\n skipPrefixes: [\"zhipu/\", \"zai/\", \"openrouter/\", \"hosted_vllm/\"],\n envExtras: [[\"ZHIPUAI_API_KEY\", \"{api_key}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://open.bigmodel.cn/api/paas/v4\",\n defaultModels: [\"zai/glm-5.1\", \"zai/glm-5\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"zhipu.svg\",\n },\n {\n name: \"dashscope\",\n keywords: [\"qwen\", \"dashscope\"],\n envKey: \"DASHSCOPE_API_KEY\",\n displayName: \"DashScope\",\n modelPrefix: \"dashscope\",\n litellmPrefix: \"dashscope\",\n skipPrefixes: [\"dashscope/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n defaultModels: [\n \"dashscope/qwen3.7-plus\",\n \"dashscope/qwen3.7-max\",\n \"dashscope/qwen3.5-27b\",\n ],\n modelConfig: {\n \"dashscope/qwen3.7-plus\": { vision: true },\n \"dashscope/qwen3.7-max\": { vision: true },\n \"dashscope/qwen3.5-27b\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\",\n },\n dashscopeCodingPlanProviderSpec,\n kimiCodingProviderSpec,\n {\n name: \"qwen-portal\",\n keywords: [\"qwen-portal\", \"qwen\"],\n envKey: \"QWEN_PORTAL_TOKEN\",\n displayName: \"Qwen Portal\",\n modelPrefix: \"qwen-portal\",\n litellmPrefix: \"qwen-portal\",\n skipPrefixes: [\"qwen-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"portal.qwen.ai\",\n defaultApiBase: \"https://portal.qwen.ai/v1\",\n defaultModels: [\"qwen-portal/coder-model\", \"qwen-portal/vision-model\"],\n modelConfig: { \"qwen-portal/vision-model\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n auth: {\n kind: \"device_code\",\n displayName: \"Qwen OAuth\",\n baseUrl: \"https://chat.qwen.ai\",\n deviceCodePath: \"/api/v1/oauth2/device/code\",\n tokenPath: \"/api/v1/oauth2/token\",\n clientId: \"f0304373b74a44d2b584a3fb70ca9e56\",\n scope: \"openid profile email model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:device_code\",\n usePkce: true,\n cliCredential: {\n path: \"~/.qwen/oauth_creds.json\",\n accessTokenField: \"access_token\",\n refreshTokenField: \"refresh_token\",\n expiresAtField: \"expiry_date\",\n },\n note: {\n zh: \"通过浏览器登录 Qwen 后即可在 NextClaw 中使用该 Provider。\",\n en: \"Log in to Qwen in your browser, then use this provider in NextClaw.\",\n },\n },\n },\n {\n name: \"moonshot\",\n keywords: [\"moonshot\", \"kimi\"],\n envKey: \"MOONSHOT_API_KEY\",\n displayName: \"Kimi\",\n modelPrefix: \"moonshot\",\n litellmPrefix: \"moonshot\",\n skipPrefixes: [\"moonshot/\", \"openrouter/\"],\n envExtras: [[\"MOONSHOT_API_BASE\", \"{api_base}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.moonshot.ai/v1\",\n defaultModels: [\"moonshot/kimi-k2.6\", \"moonshot/kimi-k2.5\"],\n modelConfig: {\n \"moonshot/kimi-k2.6\": { vision: true },\n \"moonshot/kimi-k2.5\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\",\n },\n {\n name: \"minimax\",\n keywords: [\"minimax\"],\n envKey: \"MINIMAX_API_KEY\",\n displayName: \"MiniMax\",\n modelPrefix: \"minimax\",\n litellmPrefix: \"minimax\",\n skipPrefixes: [\"minimax/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimaxi.com/v1\",\n defaultModels: [\n \"minimax/MiniMax-M3\",\n \"minimax/MiniMax-M2.7\",\n \"minimax/MiniMax-M2.7-highspeed\",\n ],\n modelConfig: { \"minimax/MiniMax-M3\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"chat\",\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"MiniMax 中国区请使用 https://api.minimaxi.com/v1;海外请使用 https://api.minimax.io/v1。AI Coding Tools 推荐使用 MiniMax-M3,并将 Wire API 设为 Chat。\",\n en: \"Use https://api.minimaxi.com/v1 for Mainland China accounts, and https://api.minimax.io/v1 for overseas accounts. For AI Coding Tools, prefer MiniMax-M3 with Wire API set to Chat.\",\n },\n },\n {\n name: \"minimax-portal\",\n keywords: [\"minimax-portal\", \"minimax\"],\n envKey: \"MINIMAX_PORTAL_TOKEN\",\n displayName: \"MiniMax Portal\",\n modelPrefix: \"minimax-portal\",\n litellmPrefix: \"minimax-portal\",\n skipPrefixes: [\"minimax-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimax.io/v1\",\n defaultModels: [\n \"minimax-portal/MiniMax-M3\",\n \"minimax-portal/MiniMax-M2.5\",\n \"minimax-portal/MiniMax-M2.5-highspeed\",\n ],\n modelConfig: { \"minimax-portal/MiniMax-M3\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"OAuth Global 默认使用 https://api.minimax.io/v1;OAuth 中国区默认使用 https://api.minimaxi.com/v1。\",\n en: \"OAuth Global uses https://api.minimax.io/v1 by default; OAuth CN uses https://api.minimaxi.com/v1.\",\n },\n auth: {\n kind: \"device_code\",\n protocol: \"minimax_user_code\",\n displayName: \"MiniMax OAuth\",\n baseUrl: \"https://api.minimax.io\",\n deviceCodePath: \"/oauth/code\",\n tokenPath: \"/oauth/token\",\n clientId: \"78257093-7e40-4613-99e0-527b14b39113\",\n scope: \"group_id profile model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:user_code\",\n usePkce: true,\n defaultMethodId: \"cn\",\n methods: [\n {\n id: \"global\",\n label: {\n zh: \"Global(海外)\",\n en: \"Global\",\n },\n hint: {\n zh: \"适用于海外用户,默认 API Base 为 https://api.minimax.io/v1。\",\n en: \"For international users. Default API base: https://api.minimax.io/v1.\",\n },\n baseUrl: \"https://api.minimax.io\",\n defaultApiBase: \"https://api.minimax.io/v1\",\n },\n {\n id: \"cn\",\n label: {\n zh: \"中国区(CN)\",\n en: \"China Mainland (CN)\",\n },\n hint: {\n zh: \"适用于中国区用户,默认 API Base 为 https://api.minimaxi.com/v1。\",\n en: \"For Mainland China users. Default API base: https://api.minimaxi.com/v1.\",\n },\n baseUrl: \"https://api.minimaxi.com\",\n defaultApiBase: \"https://api.minimaxi.com/v1\",\n },\n ],\n note: {\n zh: \"通过浏览器完成 MiniMax OAuth 授权后即可使用,无需手动填写 API Key。\",\n en: \"Complete MiniMax OAuth in browser to use this provider without manually entering an API key.\",\n },\n },\n },\n {\n name: \"mimo\",\n keywords: [\"mimo\", \"xiaomi\"],\n envKey: \"MIMO_API_KEY\",\n displayName: \"Xiaomi MiMo\",\n modelPrefix: \"mimo\",\n litellmPrefix: \"openai\",\n skipPrefixes: [\"mimo/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"xiaomimimo.com\",\n defaultApiBase: \"https://api.xiaomimimo.com/v1\",\n defaultModels: [\"mimo/mimo-v2.5-pro\", \"mimo/mimo-v2.5\"],\n modelConfig: {\n \"mimo/mimo-v2.5\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"mimo.svg\",\n },\n {\n name: \"vllm\",\n keywords: [\"vllm\"],\n envKey: \"HOSTED_VLLM_API_KEY\",\n displayName: \"vLLM/Local\",\n modelPrefix: \"hosted_vllm\",\n litellmPrefix: \"hosted_vllm\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: false,\n isLocal: true,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"http://127.0.0.1:8000/v1\",\n defaultModels: [\n \"hosted_vllm/meta-llama/Llama-3.1-8B-Instruct\",\n \"hosted_vllm/Qwen/Qwen2.5-7B-Instruct\",\n ],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"vllm.svg\",\n },\n {\n name: \"groq\",\n keywords: [\"groq\"],\n envKey: \"GROQ_API_KEY\",\n displayName: \"Groq\",\n modelPrefix: \"groq\",\n litellmPrefix: \"groq\",\n skipPrefixes: [\"groq/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.groq.com/openai/v1\",\n defaultModels: [\"groq/openai/gpt-oss-120b\", \"groq/llama-3.1-8b-instant\"],\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"groq.svg\",\n },\n ],\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { builtinProviderPlugin } from \"./builtin.provider.js\";\n\nexport const BUILTIN_PROVIDER_PLUGINS: ProviderCatalogPlugin[] = [\n builtinProviderPlugin,\n];\n","import {\n ProviderRegistry,\n type ProviderCatalogPlugin,\n type ProviderSpec,\n} from \"@nextclaw/core\";\nimport { BUILTIN_PROVIDER_PLUGINS } from \"./builtin-provider-plugins.provider.js\";\n\nlet builtinProviderRegistry: ProviderRegistry | null = null;\n\nfunction getBuiltinProviderRegistry(): ProviderRegistry {\n builtinProviderRegistry ??= new ProviderRegistry(BUILTIN_PROVIDER_PLUGINS);\n return builtinProviderRegistry;\n}\n\nexport function listBuiltinProviderPlugins(): ProviderCatalogPlugin[] {\n return getBuiltinProviderRegistry().listProviderPlugins();\n}\n\nexport function listBuiltinProviders(): ProviderSpec[] {\n return getBuiltinProviderRegistry().listProviderSpecs();\n}\n\nexport function findBuiltinProviderByName(\n name: string,\n): ProviderSpec | undefined {\n return getBuiltinProviderRegistry().findProviderByName(name);\n}\n\nexport function builtinProviderIds(): string[] {\n return listBuiltinProviders().map((provider) => provider.name);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/channels/builtin-channel.config.ts","../src/providers/dashscope-coding-plan.provider.ts","../src/providers/kimi-coding.provider.ts","../src/providers/opencode-zen.provider.ts","../src/providers/builtin.provider.ts","../src/providers/builtin-provider-plugins.provider.ts","../src/providers/builtin-provider-registry.provider.ts"],"sourcesContent":["export const BUILTIN_CHANNEL_IDS = [\n \"telegram\",\n \"whatsapp\",\n \"discord\",\n \"feishu\",\n \"dingtalk\",\n \"wecom\",\n \"email\",\n \"slack\",\n \"qq\",\n \"weixin\"\n] as const;\n\nexport type BuiltinChannelId = (typeof BUILTIN_CHANNEL_IDS)[number];\n\nexport function isBuiltinChannelId(value: string): value is BuiltinChannelId {\n return BUILTIN_CHANNEL_IDS.includes(value as BuiltinChannelId);\n}\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const dashscopeCodingPlanProviderSpec: ProviderSpec = {\n name: \"dashscope-coding-plan\",\n keywords: [\"dashscope-coding-plan\", \"coding-plan\"],\n envKey: \"DASHSCOPE_CODING_PLAN_API_KEY\",\n displayName: \"DashScope Coding Plan\",\n modelPrefix: \"dashscope-coding-plan\",\n litellmPrefix: \"dashscope-coding-plan\",\n skipPrefixes: [\"dashscope-coding-plan/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"sk-sp-\",\n detectByBaseKeyword: \"coding.dashscope.aliyuncs.com\",\n defaultApiBase: \"https://coding.dashscope.aliyuncs.com/v1\",\n defaultModels: [\n \"dashscope-coding-plan/qwen3.7-plus\",\n \"dashscope-coding-plan/qwen3.7-max\",\n \"dashscope-coding-plan/qwen3-max-2026-01-23\",\n \"dashscope-coding-plan/qwen3-coder-next\",\n \"dashscope-coding-plan/qwen3-coder-plus\",\n \"dashscope-coding-plan/MiniMax-M3\",\n \"dashscope-coding-plan/MiniMax-M2.5\",\n \"dashscope-coding-plan/glm-5.1\",\n \"dashscope-coding-plan/glm-5\",\n \"dashscope-coding-plan/glm-4.7\",\n \"dashscope-coding-plan/kimi-k2.6\",\n \"dashscope-coding-plan/kimi-k2.5\",\n ],\n modelDiscovery: false,\n modelConfig: {\n \"dashscope-coding-plan/qwen3.7-plus\": { vision: true },\n \"dashscope-coding-plan/qwen3.7-max\": { vision: true },\n \"dashscope-coding-plan/MiniMax-M3\": { vision: true },\n \"dashscope-coding-plan/kimi-k2.6\": { vision: true },\n \"dashscope-coding-plan/kimi-k2.5\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\",\n apiBaseHelp: {\n zh: \"Coding Plan 必须使用专属 Base URL https://coding.dashscope.aliyuncs.com/v1,并配合 sk-sp- 开头的专属 API Key;不要与普通 DashScope 按量计费 Key/Base URL 混用。\",\n en: \"Coding Plan must use the dedicated base URL https://coding.dashscope.aliyuncs.com/v1 together with an sk-sp- API key. Do not mix it with the regular DashScope pay-as-you-go key/base URL.\",\n },\n};\n","import type { ProviderSpec } from \"@nextclaw/core\";\n\nexport const kimiCodingProviderSpec: ProviderSpec = {\n name: \"kimi-coding\",\n keywords: [\"kimi-coding\", \"kimi-code\", \"kimi-for-coding\"],\n envKey: \"KIMI_CODING_API_KEY\",\n displayName: \"Kimi Coding\",\n apiProtocol: \"anthropic-messages\",\n modelPrefix: \"kimi-coding\",\n defaultModels: [\"kimi-coding/kimi-for-coding\"],\n defaultHeaders: {\n \"User-Agent\": \"claude-code/0.1.0\",\n },\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"api.kimi.com/coding\",\n defaultApiBase: \"https://api.kimi.com/coding\",\n modelDiscovery: false,\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\",\n apiBaseHelp: {\n zh: \"Kimi Coding 需要使用专属 Base URL https://api.kimi.com/coding,并通过 Anthropic Messages 协议访问。\",\n en: \"Kimi Coding requires the dedicated base URL https://api.kimi.com/coding and uses the Anthropic Messages protocol.\",\n },\n};\n","import {\n OPENCODE_ZEN_API_BASE,\n OPENCODE_ZEN_FREE_MODELS,\n OPENCODE_ZEN_MODEL_CONFIG,\n OPENCODE_ZEN_PUBLIC_API_KEY,\n OPENCODE_ZEN_PROVIDER_ID,\n type ProviderSpec\n} from \"@nextclaw/core\";\n\nexport const opencodeZenProviderSpec: ProviderSpec = {\n name: OPENCODE_ZEN_PROVIDER_ID,\n keywords: [\"opencode\", \"big-pickle\"],\n envKey: \"OPENCODE_API_KEY\",\n displayName: \"OpenCode Zen Free Trial\",\n modelPrefix: OPENCODE_ZEN_PROVIDER_ID,\n litellmPrefix: OPENCODE_ZEN_PROVIDER_ID,\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"opencode.ai/zen\",\n defaultApiBase: OPENCODE_ZEN_API_BASE,\n anonymousApiKey: OPENCODE_ZEN_PUBLIC_API_KEY,\n defaultModels: [...OPENCODE_ZEN_FREE_MODELS],\n modelConfig: { ...OPENCODE_ZEN_MODEL_CONFIG },\n modelDiscovery: {\n kind: \"models-dev\",\n url: \"https://models.opencode.ai/api.json\",\n providerId: OPENCODE_ZEN_PROVIDER_ID,\n freeOnly: true,\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"chat\"],\n defaultWireApi: \"chat\",\n supportsResponsesApi: false,\n apiBaseHelp: {\n zh: \"免费试用通过 OpenCode Zen 公共网关提供,限额和模型可能变化;请求数据可能被用于改进模型,请勿发送敏感或机密信息。\",\n en: \"Free trial access uses OpenCode Zen's public gateway. Limits and models may change, and request data may be used to improve models. Do not send sensitive or confidential information.\"\n }\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { dashscopeCodingPlanProviderSpec } from \"./dashscope-coding-plan.provider.js\";\nimport { kimiCodingProviderSpec } from \"./kimi-coding.provider.js\";\nimport { opencodeZenProviderSpec } from \"./opencode-zen.provider.js\";\nexport const builtinProviderPlugin: ProviderCatalogPlugin = {\n id: \"builtin-runtime-providers\",\n providers: [\n {\n name: \"nextclaw\",\n keywords: [\"nextclaw\", \"dashscope/\", \"qwen3.7\", \"qwen3.5\", \"qwen\"],\n envKey: \"NEXTCLAW_API_KEY\",\n displayName: \"NextClaw Built-in\",\n modelPrefix: \"nextclaw\",\n litellmPrefix: \"nextclaw\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"nc_free_\",\n detectByBaseKeyword: \"nextclaw.io\",\n defaultApiBase: \"https://ai-gateway-api.nextclaw.io/v1\",\n defaultModels: [\n \"dashscope/qwen3.7-plus\",\n \"dashscope/qwen3.7-max\",\n \"dashscope/qwen3.5-27b\",\n ],\n modelDiscovery: { kind: \"openai-compatible\" },\n modelConfig: {\n \"dashscope/qwen3.7-plus\": { vision: true },\n \"dashscope/qwen3.7-max\": { vision: true },\n \"dashscope/qwen3.5-27b\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n },\n opencodeZenProviderSpec,\n {\n name: \"openrouter\",\n keywords: [\"openrouter\"],\n envKey: \"OPENROUTER_API_KEY\",\n displayName: \"OpenRouter\",\n modelPrefix: \"openrouter\",\n litellmPrefix: \"openrouter\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"sk-or-\",\n detectByBaseKeyword: \"openrouter\",\n defaultApiBase: \"https://openrouter.ai/api/v1\",\n defaultModels: [\n \"openrouter/minimax/minimax-m3\",\n \"openrouter/xiaomi/mimo-v2.5-pro\",\n \"openrouter/xiaomi/mimo-v2.5\",\n \"openrouter/stepfun/step-3.5-flash:free\",\n \"openrouter/google/gemini-3-flash-preview\",\n \"openrouter/deepseek/deepseek-v3.2\",\n \"openrouter/x-ai/grok-4.1-fast\",\n \"openrouter/z-ai/glm-5.1\",\n \"openrouter/anthropic/claude-opus-4.8\",\n \"openrouter/anthropic/claude-opus-4.7\",\n \"openrouter/anthropic/claude-opus-4.6\",\n \"openrouter/openai/gpt-5.5\",\n \"openrouter/openai/gpt-5.4\",\n \"openrouter/qwen/qwen3.7-plus\",\n ],\n modelDiscovery: { kind: \"openai-compatible\" },\n modelConfig: {\n \"openrouter/minimax/minimax-m3\": { vision: true },\n \"openrouter/xiaomi/mimo-v2.5-pro\": { vision: true },\n \"openrouter/xiaomi/mimo-v2.5\": { vision: true },\n \"openrouter/google/gemini-3-flash-preview\": { vision: true },\n \"openrouter/anthropic/claude-opus-4.8\": { vision: true },\n \"openrouter/anthropic/claude-opus-4.7\": { vision: true },\n \"openrouter/anthropic/claude-opus-4.6\": { vision: true },\n \"openrouter/openai/gpt-5.5\": { vision: true },\n \"openrouter/openai/gpt-5.4\": { vision: true },\n \"openrouter/qwen/qwen3.7-plus\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"openrouter.svg\",\n },\n {\n name: \"aihubmix\",\n keywords: [\"aihubmix\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"AiHubMix\",\n modelPrefix: \"aihubmix\",\n litellmPrefix: \"openai\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: true,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"aihubmix\",\n defaultApiBase: \"https://aihubmix.com/v1\",\n defaultModels: [\n \"aihubmix/gpt-5.5\",\n \"aihubmix/gpt-5.4\",\n \"aihubmix/claude-opus-4.8\",\n \"aihubmix/claude-opus-4.7\",\n \"aihubmix/claude-opus-4.6\",\n \"aihubmix/gemini-3.1-pro-preview\",\n \"aihubmix/kimi-k2.6\",\n \"aihubmix/kimi-k2.5\",\n \"aihubmix/minimax-m3\",\n \"aihubmix/qwen3.7-plus\",\n ],\n modelDiscovery: { kind: \"openai-compatible\" },\n modelConfig: {\n \"aihubmix/gpt-5.5\": { vision: true },\n \"aihubmix/gpt-5.4\": { vision: true },\n \"aihubmix/claude-opus-4.8\": { vision: true },\n \"aihubmix/claude-opus-4.7\": { vision: true },\n \"aihubmix/claude-opus-4.6\": { vision: true },\n \"aihubmix/gemini-3.1-pro-preview\": { vision: true },\n \"aihubmix/kimi-k2.6\": { vision: true },\n \"aihubmix/kimi-k2.5\": { vision: true },\n \"aihubmix/minimax-m3\": { vision: true },\n \"aihubmix/qwen3.7-plus\": { vision: true },\n },\n stripModelPrefix: true,\n modelOverrides: [],\n logo: \"aihubmix.png\",\n },\n {\n name: \"anthropic\",\n keywords: [\"anthropic\", \"claude\"],\n envKey: \"ANTHROPIC_API_KEY\",\n displayName: \"Anthropic\",\n modelPrefix: \"anthropic\",\n litellmPrefix: \"anthropic\",\n skipPrefixes: [\"anthropic/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.anthropic.com\",\n defaultModels: [\n \"anthropic/claude-opus-4-8\",\n \"anthropic/claude-opus-4-7\",\n \"anthropic/claude-opus-4-6\",\n \"anthropic/claude-sonnet-4-6\",\n ],\n modelConfig: {\n \"anthropic/claude-opus-4-8\": { vision: true },\n \"anthropic/claude-opus-4-7\": { vision: true },\n \"anthropic/claude-opus-4-6\": { vision: true },\n \"anthropic/claude-sonnet-4-6\": { vision: true },\n },\n modelDiscovery: { kind: \"anthropic\" },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"anthropic.svg\",\n },\n {\n name: \"openai\",\n keywords: [\"openai\", \"gpt\"],\n envKey: \"OPENAI_API_KEY\",\n displayName: \"OpenAI\",\n modelPrefix: \"openai\",\n litellmPrefix: \"openai\",\n skipPrefixes: [\"openai/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.openai.com/v1\",\n defaultModels: [\"openai/gpt-5.5\", \"openai/gpt-5.4\"],\n modelDiscovery: { kind: \"openai-compatible\" },\n modelConfig: {\n \"openai/gpt-5.5\": { vision: true },\n \"openai/gpt-5.4\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"auto\",\n logo: \"openai.svg\",\n },\n {\n name: \"deepseek\",\n keywords: [\"deepseek\"],\n envKey: \"DEEPSEEK_API_KEY\",\n displayName: \"DeepSeek\",\n modelPrefix: \"deepseek\",\n litellmPrefix: \"deepseek\",\n skipPrefixes: [\"deepseek/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.deepseek.com\",\n defaultModels: [\n \"deepseek/deepseek-chat\",\n \"deepseek/deepseek-reasoner\",\n \"deepseek/deepseek-v4-flash\",\n \"deepseek/deepseek-v4-pro\",\n ],\n modelDiscovery: { kind: \"openai-compatible\" },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"deepseek.png\",\n },\n {\n name: \"gemini\",\n keywords: [\"gemini\"],\n envKey: \"GEMINI_API_KEY\",\n displayName: \"Gemini\",\n modelPrefix: \"gemini\",\n litellmPrefix: \"gemini\",\n skipPrefixes: [\"gemini/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://generativelanguage.googleapis.com/v1beta/openai\",\n defaultModels: [\n \"gemini/gemini-3.1-pro-preview\",\n \"gemini/gemini-3-flash-preview\",\n ],\n modelDiscovery: false,\n modelConfig: {\n \"gemini/gemini-3.1-pro-preview\": { vision: true },\n \"gemini/gemini-3-flash-preview\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"gemini.svg\",\n },\n {\n name: \"zhipu\",\n keywords: [\"zhipu\", \"glm\", \"zai\"],\n envKey: \"ZAI_API_KEY\",\n displayName: \"Zhipu AI\",\n modelPrefix: \"zai\",\n litellmPrefix: \"zai\",\n skipPrefixes: [\"zhipu/\", \"zai/\", \"openrouter/\", \"hosted_vllm/\"],\n envExtras: [[\"ZHIPUAI_API_KEY\", \"{api_key}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://open.bigmodel.cn/api/paas/v4\",\n defaultModels: [\"zai/glm-5.1\", \"zai/glm-5\"],\n modelDiscovery: false,\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"zhipu.svg\",\n },\n {\n name: \"dashscope\",\n keywords: [\"qwen\", \"dashscope\"],\n envKey: \"DASHSCOPE_API_KEY\",\n displayName: \"DashScope\",\n modelPrefix: \"dashscope\",\n litellmPrefix: \"dashscope\",\n skipPrefixes: [\"dashscope/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n defaultModels: [\n \"dashscope/qwen3.7-plus\",\n \"dashscope/qwen3.7-max\",\n \"dashscope/qwen3.5-27b\",\n ],\n modelDiscovery: false,\n modelConfig: {\n \"dashscope/qwen3.7-plus\": { vision: true },\n \"dashscope/qwen3.7-max\": { vision: true },\n \"dashscope/qwen3.5-27b\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsResponsesApi: false,\n logo: \"dashscope.png\",\n },\n dashscopeCodingPlanProviderSpec,\n kimiCodingProviderSpec,\n {\n name: \"qwen-portal\",\n keywords: [\"qwen-portal\", \"qwen\"],\n envKey: \"QWEN_PORTAL_TOKEN\",\n displayName: \"Qwen Portal\",\n modelPrefix: \"qwen-portal\",\n litellmPrefix: \"qwen-portal\",\n skipPrefixes: [\"qwen-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"portal.qwen.ai\",\n defaultApiBase: \"https://portal.qwen.ai/v1\",\n defaultModels: [\"qwen-portal/coder-model\", \"qwen-portal/vision-model\"],\n modelDiscovery: false,\n modelConfig: { \"qwen-portal/vision-model\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n auth: {\n kind: \"device_code\",\n displayName: \"Qwen OAuth\",\n baseUrl: \"https://chat.qwen.ai\",\n deviceCodePath: \"/api/v1/oauth2/device/code\",\n tokenPath: \"/api/v1/oauth2/token\",\n clientId: \"f0304373b74a44d2b584a3fb70ca9e56\",\n scope: \"openid profile email model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:device_code\",\n usePkce: true,\n cliCredential: {\n path: \"~/.qwen/oauth_creds.json\",\n accessTokenField: \"access_token\",\n refreshTokenField: \"refresh_token\",\n expiresAtField: \"expiry_date\",\n },\n note: {\n zh: \"通过浏览器登录 Qwen 后即可在 NextClaw 中使用该 Provider。\",\n en: \"Log in to Qwen in your browser, then use this provider in NextClaw.\",\n },\n },\n },\n {\n name: \"moonshot\",\n keywords: [\"moonshot\", \"kimi\"],\n envKey: \"MOONSHOT_API_KEY\",\n displayName: \"Kimi\",\n modelPrefix: \"moonshot\",\n litellmPrefix: \"moonshot\",\n skipPrefixes: [\"moonshot/\", \"openrouter/\"],\n envExtras: [[\"MOONSHOT_API_BASE\", \"{api_base}\"]],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.moonshot.ai/v1\",\n defaultModels: [\"moonshot/kimi-k2.6\", \"moonshot/kimi-k2.5\"],\n modelDiscovery: { kind: \"openai-compatible\" },\n modelConfig: {\n \"moonshot/kimi-k2.6\": { vision: true },\n \"moonshot/kimi-k2.5\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"moonshot.png\",\n },\n {\n name: \"minimax\",\n keywords: [\"minimax\"],\n envKey: \"MINIMAX_API_KEY\",\n displayName: \"MiniMax\",\n modelPrefix: \"minimax\",\n litellmPrefix: \"minimax\",\n skipPrefixes: [\"minimax/\", \"openrouter/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimaxi.com/v1\",\n defaultModels: [\n \"minimax/MiniMax-M3\",\n \"minimax/MiniMax-M2.7\",\n \"minimax/MiniMax-M2.7-highspeed\",\n ],\n modelDiscovery: { kind: \"openai-compatible\" },\n modelConfig: { \"minimax/MiniMax-M3\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n supportsWireApi: true,\n wireApiOptions: [\"auto\", \"chat\", \"responses\"],\n defaultWireApi: \"chat\",\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"MiniMax 中国区请使用 https://api.minimaxi.com/v1;海外请使用 https://api.minimax.io/v1。AI Coding Tools 推荐使用 MiniMax-M3,并将 Wire API 设为 Chat。\",\n en: \"Use https://api.minimaxi.com/v1 for Mainland China accounts, and https://api.minimax.io/v1 for overseas accounts. For AI Coding Tools, prefer MiniMax-M3 with Wire API set to Chat.\",\n },\n },\n {\n name: \"minimax-portal\",\n keywords: [\"minimax-portal\", \"minimax\"],\n envKey: \"MINIMAX_PORTAL_TOKEN\",\n displayName: \"MiniMax Portal\",\n modelPrefix: \"minimax-portal\",\n litellmPrefix: \"minimax-portal\",\n skipPrefixes: [\"minimax-portal/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.minimax.io/v1\",\n defaultModels: [\n \"minimax-portal/MiniMax-M3\",\n \"minimax-portal/MiniMax-M2.5\",\n \"minimax-portal/MiniMax-M2.5-highspeed\",\n ],\n modelDiscovery: false,\n modelConfig: { \"minimax-portal/MiniMax-M3\": { vision: true } },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"minimax.svg\",\n apiBaseHelp: {\n zh: \"OAuth Global 默认使用 https://api.minimax.io/v1;OAuth 中国区默认使用 https://api.minimaxi.com/v1。\",\n en: \"OAuth Global uses https://api.minimax.io/v1 by default; OAuth CN uses https://api.minimaxi.com/v1.\",\n },\n auth: {\n kind: \"device_code\",\n protocol: \"minimax_user_code\",\n displayName: \"MiniMax OAuth\",\n baseUrl: \"https://api.minimax.io\",\n deviceCodePath: \"/oauth/code\",\n tokenPath: \"/oauth/token\",\n clientId: \"78257093-7e40-4613-99e0-527b14b39113\",\n scope: \"group_id profile model.completion\",\n grantType: \"urn:ietf:params:oauth:grant-type:user_code\",\n usePkce: true,\n defaultMethodId: \"cn\",\n methods: [\n {\n id: \"global\",\n label: {\n zh: \"Global(海外)\",\n en: \"Global\",\n },\n hint: {\n zh: \"适用于海外用户,默认 API Base 为 https://api.minimax.io/v1。\",\n en: \"For international users. Default API base: https://api.minimax.io/v1.\",\n },\n baseUrl: \"https://api.minimax.io\",\n defaultApiBase: \"https://api.minimax.io/v1\",\n },\n {\n id: \"cn\",\n label: {\n zh: \"中国区(CN)\",\n en: \"China Mainland (CN)\",\n },\n hint: {\n zh: \"适用于中国区用户,默认 API Base 为 https://api.minimaxi.com/v1。\",\n en: \"For Mainland China users. Default API base: https://api.minimaxi.com/v1.\",\n },\n baseUrl: \"https://api.minimaxi.com\",\n defaultApiBase: \"https://api.minimaxi.com/v1\",\n },\n ],\n note: {\n zh: \"通过浏览器完成 MiniMax OAuth 授权后即可使用,无需手动填写 API Key。\",\n en: \"Complete MiniMax OAuth in browser to use this provider without manually entering an API key.\",\n },\n },\n },\n {\n name: \"mimo\",\n keywords: [\"mimo\", \"xiaomi\"],\n envKey: \"MIMO_API_KEY\",\n displayName: \"Xiaomi MiMo\",\n modelPrefix: \"mimo\",\n litellmPrefix: \"openai\",\n skipPrefixes: [\"mimo/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"xiaomimimo.com\",\n defaultApiBase: \"https://api.xiaomimimo.com/v1\",\n defaultModels: [\"mimo/mimo-v2.5-pro\", \"mimo/mimo-v2.5\"],\n modelDiscovery: false,\n modelConfig: {\n \"mimo/mimo-v2.5\": { vision: true },\n },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"mimo.svg\",\n },\n {\n name: \"vllm\",\n keywords: [\"vllm\"],\n envKey: \"HOSTED_VLLM_API_KEY\",\n displayName: \"vLLM/Local\",\n modelPrefix: \"hosted_vllm\",\n litellmPrefix: \"hosted_vllm\",\n skipPrefixes: [],\n envExtras: [],\n isGateway: false,\n isLocal: true,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"http://127.0.0.1:8000/v1\",\n defaultModels: [\n \"hosted_vllm/meta-llama/Llama-3.1-8B-Instruct\",\n \"hosted_vllm/Qwen/Qwen2.5-7B-Instruct\",\n ],\n modelDiscovery: { kind: \"openai-compatible\" },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"vllm.svg\",\n },\n {\n name: \"groq\",\n keywords: [\"groq\"],\n envKey: \"GROQ_API_KEY\",\n displayName: \"Groq\",\n modelPrefix: \"groq\",\n litellmPrefix: \"groq\",\n skipPrefixes: [\"groq/\"],\n envExtras: [],\n isGateway: false,\n isLocal: false,\n detectByKeyPrefix: \"\",\n detectByBaseKeyword: \"\",\n defaultApiBase: \"https://api.groq.com/openai/v1\",\n defaultModels: [\"groq/openai/gpt-oss-120b\", \"groq/llama-3.1-8b-instant\"],\n modelDiscovery: { kind: \"openai-compatible\" },\n stripModelPrefix: false,\n modelOverrides: [],\n logo: \"groq.svg\",\n },\n ],\n};\n","import type { ProviderCatalogPlugin } from \"@nextclaw/core\";\nimport { builtinProviderPlugin } from \"./builtin.provider.js\";\n\nexport const BUILTIN_PROVIDER_PLUGINS: ProviderCatalogPlugin[] = [\n builtinProviderPlugin,\n];\n","import {\n ProviderRegistry,\n type ProviderCatalogPlugin,\n type ProviderSpec,\n} from \"@nextclaw/core\";\nimport { BUILTIN_PROVIDER_PLUGINS } from \"./builtin-provider-plugins.provider.js\";\n\nlet builtinProviderRegistry: ProviderRegistry | null = null;\n\nfunction getBuiltinProviderRegistry(): ProviderRegistry {\n builtinProviderRegistry ??= new ProviderRegistry(BUILTIN_PROVIDER_PLUGINS);\n return builtinProviderRegistry;\n}\n\nexport function listBuiltinProviderPlugins(): ProviderCatalogPlugin[] {\n return getBuiltinProviderRegistry().listProviderPlugins();\n}\n\nexport function listBuiltinProviders(): ProviderSpec[] {\n return getBuiltinProviderRegistry().listProviderSpecs();\n}\n\nexport function findBuiltinProviderByName(\n name: string,\n): ProviderSpec | undefined {\n return getBuiltinProviderRegistry().findProviderByName(name);\n}\n\nexport function builtinProviderIds(): string[] {\n return listBuiltinProviders().map((provider) => provider.name);\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nextclaw/runtime",
3
- "version": "0.4.18",
3
+ "version": "0.4.20",
4
4
  "private": false,
5
5
  "description": "NextClaw runtime assembly for builtin providers and channels.",
6
6
  "type": "module",
@@ -15,7 +15,7 @@
15
15
  "dist"
16
16
  ],
17
17
  "dependencies": {
18
- "@nextclaw/core": "0.15.18"
18
+ "@nextclaw/core": "0.15.20"
19
19
  },
20
20
  "devDependencies": {
21
21
  "@types/node": "^20.17.6",