@openclaw/deepseek-provider 2026.7.2-beta.4 → 2026.7.2-beta.5

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/api.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as DEEPSEEK_MODEL_CATALOG, r as buildDeepSeekModelDefinition, t as DEEPSEEK_BASE_URL } from "./models-BdQ8jkeK.js";
1
+ import { n as DEEPSEEK_MODEL_CATALOG, t as DEEPSEEK_BASE_URL } from "./models-Cps6DQet.js";
2
2
  import { buildDeepSeekProvider } from "./provider-catalog.js";
3
3
  import { createDeepSeekV4ThinkingWrapper } from "./stream.js";
4
- export { DEEPSEEK_BASE_URL, DEEPSEEK_MODEL_CATALOG, buildDeepSeekModelDefinition, buildDeepSeekProvider, createDeepSeekV4ThinkingWrapper };
4
+ export { DEEPSEEK_BASE_URL, DEEPSEEK_MODEL_CATALOG, buildDeepSeekProvider, createDeepSeekV4ThinkingWrapper };
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { a as openclaw_plugin_default } from "./models-Cps6DQet.js";
2
+ import { applyDeepSeekConfig } from "./onboard.js";
1
3
  import { buildDeepSeekProvider } from "./provider-catalog.js";
2
4
  import { createDeepSeekV4ThinkingWrapper } from "./stream.js";
3
- import { DEEPSEEK_DEFAULT_MODEL_REF, applyDeepSeekConfig } from "./onboard.js";
4
5
  import { resolveDeepSeekV4ThinkingProfile } from "./thinking.js";
5
6
  import { readConfiguredProviderCatalogEntries } from "openclaw/plugin-sdk/provider-catalog-shared";
6
7
  import { defineSingleProviderPluginEntry } from "openclaw/plugin-sdk/provider-entry";
@@ -13,27 +14,11 @@ var deepseek_default = defineSingleProviderPluginEntry({
13
14
  id: PROVIDER_ID,
14
15
  name: "DeepSeek Provider",
15
16
  description: "Bundled DeepSeek provider plugin",
17
+ manifest: openclaw_plugin_default,
16
18
  provider: {
17
19
  label: "DeepSeek",
18
20
  docsPath: "/providers/deepseek",
19
- auth: [{
20
- methodId: "api-key",
21
- label: "DeepSeek API key",
22
- hint: "API key",
23
- optionKey: "deepseekApiKey",
24
- flagName: "--deepseek-api-key",
25
- envVar: "DEEPSEEK_API_KEY",
26
- promptMessage: "Enter DeepSeek API key",
27
- defaultModel: DEEPSEEK_DEFAULT_MODEL_REF,
28
- applyConfig: (cfg) => applyDeepSeekConfig(cfg),
29
- wizard: {
30
- choiceId: "deepseek-api-key",
31
- choiceLabel: "DeepSeek API key",
32
- groupId: "deepseek",
33
- groupLabel: "DeepSeek",
34
- groupHint: "API key"
35
- }
36
- }],
21
+ manifestAuth: { applyConfig: applyDeepSeekConfig },
37
22
  catalog: {
38
23
  buildProvider: buildDeepSeekProvider,
39
24
  buildStaticProvider: buildDeepSeekProvider,
@@ -0,0 +1,107 @@
1
+ import { buildManifestModelDefinition } from "openclaw/plugin-sdk/provider-catalog-shared";
2
+ //#region extensions/deepseek/openclaw.plugin.json
3
+ var openclaw_plugin_default = {
4
+ id: "deepseek",
5
+ icon: "https://cdn.simpleicons.org/deepseek",
6
+ activation: { "onStartup": false },
7
+ enabledByDefault: true,
8
+ providerCatalogEntry: "./provider-discovery.ts",
9
+ providers: ["deepseek"],
10
+ contracts: { "usageProviders": ["deepseek"] },
11
+ providerEndpoints: [{
12
+ "endpointClass": "deepseek-native",
13
+ "hosts": ["api.deepseek.com"]
14
+ }],
15
+ providerRequest: { "providers": { "deepseek": { "family": "deepseek" } } },
16
+ modelCatalog: {
17
+ "providers": { "deepseek": {
18
+ "baseUrl": "https://api.deepseek.com",
19
+ "api": "openai-completions",
20
+ "defaultModel": "deepseek-v4-pro",
21
+ "models": [{
22
+ "id": "deepseek-v4-flash",
23
+ "name": "DeepSeek V4 Flash",
24
+ "reasoning": true,
25
+ "input": ["text"],
26
+ "contextWindow": 1e6,
27
+ "maxTokens": 384e3,
28
+ "cost": {
29
+ "input": .14,
30
+ "output": .28,
31
+ "cacheRead": .0028,
32
+ "cacheWrite": 0
33
+ },
34
+ "compat": {
35
+ "supportsUsageInStreaming": true,
36
+ "supportsReasoningEffort": true,
37
+ "maxTokensField": "max_tokens",
38
+ "codeMode": "preferred"
39
+ }
40
+ }, {
41
+ "id": "deepseek-v4-pro",
42
+ "name": "DeepSeek V4 Pro",
43
+ "reasoning": true,
44
+ "input": ["text"],
45
+ "contextWindow": 1e6,
46
+ "maxTokens": 384e3,
47
+ "cost": {
48
+ "input": .435,
49
+ "output": .87,
50
+ "cacheRead": .003625,
51
+ "cacheWrite": 0
52
+ },
53
+ "compat": {
54
+ "supportsUsageInStreaming": true,
55
+ "supportsReasoningEffort": true,
56
+ "maxTokensField": "max_tokens",
57
+ "codeMode": "preferred"
58
+ }
59
+ }]
60
+ } },
61
+ "discovery": { "deepseek": "refreshable" }
62
+ },
63
+ setup: { "providers": [{
64
+ "id": "deepseek",
65
+ "envVars": ["DEEPSEEK_API_KEY"]
66
+ }] },
67
+ providerAuthChoices: [{
68
+ "provider": "deepseek",
69
+ "method": "api-key",
70
+ "choiceId": "deepseek-api-key",
71
+ "appGuidedSecret": true,
72
+ "choiceLabel": "DeepSeek API key",
73
+ "groupId": "deepseek",
74
+ "groupLabel": "DeepSeek",
75
+ "groupHint": "API key",
76
+ "optionKey": "deepseekApiKey",
77
+ "cliFlag": "--deepseek-api-key",
78
+ "cliOption": "--deepseek-api-key <key>",
79
+ "cliDescription": "DeepSeek API key"
80
+ }],
81
+ configSchema: {
82
+ "type": "object",
83
+ "additionalProperties": false,
84
+ "properties": {}
85
+ }
86
+ };
87
+ //#endregion
88
+ //#region extensions/deepseek/models.ts
89
+ const DEEPSEEK_MANIFEST_CATALOG = openclaw_plugin_default.modelCatalog.providers.deepseek;
90
+ const DEEPSEEK_BASE_URL = DEEPSEEK_MANIFEST_CATALOG.baseUrl;
91
+ const DEEPSEEK_MODEL_CATALOG = DEEPSEEK_MANIFEST_CATALOG.models.map(buildManifestModelDefinition({
92
+ providerId: "deepseek",
93
+ catalog: DEEPSEEK_MANIFEST_CATALOG,
94
+ decorate: (model) => ({
95
+ ...model,
96
+ api: "openai-completions"
97
+ })
98
+ }));
99
+ const DEEPSEEK_V4_MODEL_IDS = /* @__PURE__ */ new Set(["deepseek-v4-flash", "deepseek-v4-pro"]);
100
+ function isDeepSeekV4ModelId(modelId) {
101
+ return DEEPSEEK_V4_MODEL_IDS.has(modelId.toLowerCase());
102
+ }
103
+ function isDeepSeekV4ModelRef(model) {
104
+ return model.provider === "deepseek" && typeof model.id === "string" && isDeepSeekV4ModelId(model.id);
105
+ }
106
+ //#endregion
107
+ export { openclaw_plugin_default as a, isDeepSeekV4ModelRef as i, DEEPSEEK_MODEL_CATALOG as n, isDeepSeekV4ModelId as r, DEEPSEEK_BASE_URL as t };
package/dist/models.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as isDeepSeekV4ModelRef, i as isDeepSeekV4ModelId, n as DEEPSEEK_MODEL_CATALOG, r as buildDeepSeekModelDefinition, t as DEEPSEEK_BASE_URL } from "./models-BdQ8jkeK.js";
2
- export { DEEPSEEK_BASE_URL, DEEPSEEK_MODEL_CATALOG, buildDeepSeekModelDefinition, isDeepSeekV4ModelId, isDeepSeekV4ModelRef };
1
+ import { i as isDeepSeekV4ModelRef, n as DEEPSEEK_MODEL_CATALOG, r as isDeepSeekV4ModelId, t as DEEPSEEK_BASE_URL } from "./models-Cps6DQet.js";
2
+ export { DEEPSEEK_BASE_URL, DEEPSEEK_MODEL_CATALOG, isDeepSeekV4ModelId, isDeepSeekV4ModelRef };
package/dist/onboard.js CHANGED
@@ -1,24 +1,23 @@
1
- import { n as DEEPSEEK_MODEL_CATALOG, r as buildDeepSeekModelDefinition, t as DEEPSEEK_BASE_URL } from "./models-BdQ8jkeK.js";
2
- import "./api.js";
3
- import { applyAgentDefaultModelPrimary, applyProviderConfigWithModelCatalog } from "openclaw/plugin-sdk/provider-onboard";
1
+ import { a as openclaw_plugin_default, n as DEEPSEEK_MODEL_CATALOG, t as DEEPSEEK_BASE_URL } from "./models-Cps6DQet.js";
2
+ import { readManifestProviderDefaultModelRef } from "openclaw/plugin-sdk/provider-catalog-shared";
3
+ import { createModelCatalogPresetAppliers } from "openclaw/plugin-sdk/provider-onboard";
4
4
  //#region extensions/deepseek/onboard.ts
5
- const DEEPSEEK_DEFAULT_MODEL_REF = "deepseek/deepseek-v4-flash";
6
- function applyDeepSeekProviderConfig(cfg) {
7
- const models = { ...cfg.agents?.defaults?.models };
8
- models[DEEPSEEK_DEFAULT_MODEL_REF] = {
9
- ...models[DEEPSEEK_DEFAULT_MODEL_REF],
10
- alias: models["deepseek/deepseek-v4-flash"]?.alias ?? "DeepSeek"
11
- };
12
- return applyProviderConfigWithModelCatalog(cfg, {
13
- agentModels: models,
5
+ const DEEPSEEK_DEFAULT_MODEL_REF = readManifestProviderDefaultModelRef(openclaw_plugin_default, "deepseek");
6
+ const deepSeekPresetAppliers = createModelCatalogPresetAppliers({
7
+ primaryModelRef: DEEPSEEK_DEFAULT_MODEL_REF,
8
+ resolveParams: (_cfg) => ({
14
9
  providerId: "deepseek",
15
10
  api: "openai-completions",
16
11
  baseUrl: DEEPSEEK_BASE_URL,
17
- catalogModels: DEEPSEEK_MODEL_CATALOG.map(buildDeepSeekModelDefinition)
18
- });
19
- }
12
+ catalogModels: structuredClone(DEEPSEEK_MODEL_CATALOG),
13
+ aliases: [{
14
+ modelRef: DEEPSEEK_DEFAULT_MODEL_REF,
15
+ alias: "DeepSeek"
16
+ }]
17
+ })
18
+ });
20
19
  function applyDeepSeekConfig(cfg) {
21
- return applyAgentDefaultModelPrimary(applyDeepSeekProviderConfig(cfg), DEEPSEEK_DEFAULT_MODEL_REF);
20
+ return deepSeekPresetAppliers.applyConfig(cfg);
22
21
  }
23
22
  //#endregion
24
- export { DEEPSEEK_DEFAULT_MODEL_REF, applyDeepSeekConfig };
23
+ export { applyDeepSeekConfig };
@@ -1,10 +1,10 @@
1
- import { n as DEEPSEEK_MODEL_CATALOG, r as buildDeepSeekModelDefinition, t as DEEPSEEK_BASE_URL } from "./models-BdQ8jkeK.js";
1
+ import { n as DEEPSEEK_MODEL_CATALOG, t as DEEPSEEK_BASE_URL } from "./models-Cps6DQet.js";
2
2
  //#region extensions/deepseek/provider-catalog.ts
3
3
  function buildDeepSeekProvider() {
4
4
  return {
5
5
  baseUrl: DEEPSEEK_BASE_URL,
6
6
  api: "openai-completions",
7
- models: DEEPSEEK_MODEL_CATALOG.map(buildDeepSeekModelDefinition)
7
+ models: structuredClone(DEEPSEEK_MODEL_CATALOG)
8
8
  };
9
9
  }
10
10
  //#endregion
@@ -1,4 +1,4 @@
1
- import { n as DEEPSEEK_MODEL_CATALOG } from "./models-BdQ8jkeK.js";
1
+ import { n as DEEPSEEK_MODEL_CATALOG } from "./models-Cps6DQet.js";
2
2
  import { resolveDeepSeekV4ThinkingProfile } from "./thinking.js";
3
3
  //#region extensions/deepseek/provider-policy-api.ts
4
4
  const PREVIOUS_BUNDLED_METADATA = {
package/dist/stream.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as isDeepSeekV4ModelRef } from "./models-BdQ8jkeK.js";
1
+ import { i as isDeepSeekV4ModelRef } from "./models-Cps6DQet.js";
2
2
  import { createDeepSeekV4OpenAICompatibleThinkingWrapper } from "openclaw/plugin-sdk/provider-stream-shared";
3
3
  //#region extensions/deepseek/stream.ts
4
4
  function createDeepSeekV4ThinkingWrapper(baseStreamFn, thinkingLevel) {
package/dist/thinking.js CHANGED
@@ -1,4 +1,4 @@
1
- import { i as isDeepSeekV4ModelId } from "./models-BdQ8jkeK.js";
1
+ import { r as isDeepSeekV4ModelId } from "./models-Cps6DQet.js";
2
2
  //#region extensions/deepseek/thinking.ts
3
3
  const V4_THINKING_LEVEL_IDS = [
4
4
  "off",
@@ -28,6 +28,7 @@
28
28
  "deepseek": {
29
29
  "baseUrl": "https://api.deepseek.com",
30
30
  "api": "openai-completions",
31
+ "defaultModel": "deepseek-v4-pro",
31
32
  "models": [
32
33
  {
33
34
  "id": "deepseek-v4-flash",
@@ -45,7 +46,8 @@
45
46
  "compat": {
46
47
  "supportsUsageInStreaming": true,
47
48
  "supportsReasoningEffort": true,
48
- "maxTokensField": "max_tokens"
49
+ "maxTokensField": "max_tokens",
50
+ "codeMode": "preferred"
49
51
  }
50
52
  },
51
53
  {
@@ -64,43 +66,8 @@
64
66
  "compat": {
65
67
  "supportsUsageInStreaming": true,
66
68
  "supportsReasoningEffort": true,
67
- "maxTokensField": "max_tokens"
68
- }
69
- },
70
- {
71
- "id": "deepseek-chat",
72
- "name": "DeepSeek Chat",
73
- "input": ["text"],
74
- "contextWindow": 1000000,
75
- "maxTokens": 384000,
76
- "cost": {
77
- "input": 0.14,
78
- "output": 0.28,
79
- "cacheRead": 0.0028,
80
- "cacheWrite": 0
81
- },
82
- "compat": {
83
- "supportsUsageInStreaming": true,
84
- "maxTokensField": "max_tokens"
85
- }
86
- },
87
- {
88
- "id": "deepseek-reasoner",
89
- "name": "DeepSeek Reasoner",
90
- "reasoning": true,
91
- "input": ["text"],
92
- "contextWindow": 1000000,
93
- "maxTokens": 384000,
94
- "cost": {
95
- "input": 0.14,
96
- "output": 0.28,
97
- "cacheRead": 0.0028,
98
- "cacheWrite": 0
99
- },
100
- "compat": {
101
- "supportsUsageInStreaming": true,
102
- "supportsReasoningEffort": false,
103
- "maxTokensField": "max_tokens"
69
+ "maxTokensField": "max_tokens",
70
+ "codeMode": "preferred"
104
71
  }
105
72
  }
106
73
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/deepseek-provider",
3
- "version": "2026.7.2-beta.4",
3
+ "version": "2026.7.2-beta.5",
4
4
  "description": "OpenClaw DeepSeek provider plugin.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,10 +18,10 @@
18
18
  "minHostVersion": ">=2026.6.8"
19
19
  },
20
20
  "compat": {
21
- "pluginApi": ">=2026.7.2-beta.4"
21
+ "pluginApi": ">=2026.7.2-beta.5"
22
22
  },
23
23
  "build": {
24
- "openclawVersion": "2026.7.2-beta.4",
24
+ "openclawVersion": "2026.7.2-beta.5",
25
25
  "bundledDist": false
26
26
  },
27
27
  "release": {
@@ -35,11 +35,10 @@
35
35
  "files": [
36
36
  "dist/**",
37
37
  "openclaw.plugin.json",
38
- "npm-shrinkwrap.json",
39
38
  "README.md"
40
39
  ],
41
40
  "peerDependencies": {
42
- "openclaw": ">=2026.7.2-beta.4"
41
+ "openclaw": ">=2026.7.2-beta.5"
43
42
  },
44
43
  "peerDependenciesMeta": {
45
44
  "openclaw": {
@@ -1,106 +0,0 @@
1
- import { buildManifestModelProviderConfig } from "openclaw/plugin-sdk/provider-catalog-shared";
2
- //#endregion
3
- //#region extensions/deepseek/models.ts
4
- const DEEPSEEK_MANIFEST_PROVIDER = buildManifestModelProviderConfig({
5
- providerId: "deepseek",
6
- catalog: {
7
- "providers": { "deepseek": {
8
- "baseUrl": "https://api.deepseek.com",
9
- "api": "openai-completions",
10
- "models": [
11
- {
12
- "id": "deepseek-v4-flash",
13
- "name": "DeepSeek V4 Flash",
14
- "reasoning": true,
15
- "input": ["text"],
16
- "contextWindow": 1e6,
17
- "maxTokens": 384e3,
18
- "cost": {
19
- "input": .14,
20
- "output": .28,
21
- "cacheRead": .0028,
22
- "cacheWrite": 0
23
- },
24
- "compat": {
25
- "supportsUsageInStreaming": true,
26
- "supportsReasoningEffort": true,
27
- "maxTokensField": "max_tokens"
28
- }
29
- },
30
- {
31
- "id": "deepseek-v4-pro",
32
- "name": "DeepSeek V4 Pro",
33
- "reasoning": true,
34
- "input": ["text"],
35
- "contextWindow": 1e6,
36
- "maxTokens": 384e3,
37
- "cost": {
38
- "input": .435,
39
- "output": .87,
40
- "cacheRead": .003625,
41
- "cacheWrite": 0
42
- },
43
- "compat": {
44
- "supportsUsageInStreaming": true,
45
- "supportsReasoningEffort": true,
46
- "maxTokensField": "max_tokens"
47
- }
48
- },
49
- {
50
- "id": "deepseek-chat",
51
- "name": "DeepSeek Chat",
52
- "input": ["text"],
53
- "contextWindow": 1e6,
54
- "maxTokens": 384e3,
55
- "cost": {
56
- "input": .14,
57
- "output": .28,
58
- "cacheRead": .0028,
59
- "cacheWrite": 0
60
- },
61
- "compat": {
62
- "supportsUsageInStreaming": true,
63
- "maxTokensField": "max_tokens"
64
- }
65
- },
66
- {
67
- "id": "deepseek-reasoner",
68
- "name": "DeepSeek Reasoner",
69
- "reasoning": true,
70
- "input": ["text"],
71
- "contextWindow": 1e6,
72
- "maxTokens": 384e3,
73
- "cost": {
74
- "input": .14,
75
- "output": .28,
76
- "cacheRead": .0028,
77
- "cacheWrite": 0
78
- },
79
- "compat": {
80
- "supportsUsageInStreaming": true,
81
- "supportsReasoningEffort": false,
82
- "maxTokensField": "max_tokens"
83
- }
84
- }
85
- ]
86
- } },
87
- "discovery": { "deepseek": "refreshable" }
88
- }.providers.deepseek
89
- });
90
- const DEEPSEEK_BASE_URL = DEEPSEEK_MANIFEST_PROVIDER.baseUrl;
91
- const DEEPSEEK_MODEL_CATALOG = DEEPSEEK_MANIFEST_PROVIDER.models;
92
- function buildDeepSeekModelDefinition(model) {
93
- return {
94
- ...model,
95
- api: "openai-completions"
96
- };
97
- }
98
- const DEEPSEEK_V4_MODEL_IDS = /* @__PURE__ */ new Set(["deepseek-v4-flash", "deepseek-v4-pro"]);
99
- function isDeepSeekV4ModelId(modelId) {
100
- return DEEPSEEK_V4_MODEL_IDS.has(modelId.toLowerCase());
101
- }
102
- function isDeepSeekV4ModelRef(model) {
103
- return model.provider === "deepseek" && typeof model.id === "string" && isDeepSeekV4ModelId(model.id);
104
- }
105
- //#endregion
106
- export { isDeepSeekV4ModelRef as a, isDeepSeekV4ModelId as i, DEEPSEEK_MODEL_CATALOG as n, buildDeepSeekModelDefinition as r, DEEPSEEK_BASE_URL as t };
@@ -1,12 +0,0 @@
1
- {
2
- "name": "@openclaw/deepseek-provider",
3
- "version": "2026.7.2-beta.4",
4
- "lockfileVersion": 3,
5
- "requires": true,
6
- "packages": {
7
- "": {
8
- "name": "@openclaw/deepseek-provider",
9
- "version": "2026.7.2-beta.4"
10
- }
11
- }
12
- }