@alisio/plugin-deepseek 0.1.0-alpha.8 → 0.1.1

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/README.md CHANGED
@@ -1,4 +1,53 @@
1
1
  # @alisio/plugin-deepseek
2
2
 
3
- Built-in DeepSeek provider for Alisio. It supports model discovery plus the documented Chat
4
- Completions and Responses APIs. Credentials are supplied by Alisio and are never persisted here.
3
+ The dedicated DeepSeek model provider for [Alisio](https://github.com/GustavoGutierrez/alisio).
4
+ Select it in `/connect`, discover models from the DeepSeek catalog, and talk to the Chat
5
+ Completions or Responses API.
6
+
7
+ ## What it is
8
+
9
+ A `model-provider` plugin that registers the `deepseek` provider with the Alisio host. Credentials
10
+ are managed by Alisio and are never persisted by this plugin: keys live in the global credentials
11
+ store or an environment variable.
12
+
13
+ ## Installation
14
+
15
+ ```bash
16
+ alisio install npm:@alisio/plugin-deepseek # global, per-user
17
+ alisio plugins list # confirm it is installed
18
+ ```
19
+
20
+ For an embedded host, load the package (or its `dist/index.js`) through your plugin host instead.
21
+
22
+ ## Using it: `/connect`
23
+
24
+ 1. Run `alisio`, then `/connect` and choose **DeepSeek**.
25
+ 2. Fields: **API key** (secret, required), **API key environment variable** (default
26
+ `DEEPSEEK_API_KEY`), **API mode** (`chat` or `responses`), **base URL** (default
27
+ `https://api.deepseek.com`; change only for a DeepSeek-compatible proxy).
28
+ 3. Pick a model from the discovered catalog — for example `deepseek/deepseek-chat`.
29
+
30
+ The key is read from the stored credential first, then from `process.env[apiKeyEnv]` — usually:
31
+
32
+ ```sh
33
+ export DEEPSEEK_API_KEY=... # never put the key in config files, profiles or READMEs
34
+ ```
35
+
36
+ ## Features
37
+
38
+ - Model discovery from the DeepSeek catalog (`GET /models`) with honest context windows.
39
+ - Chat Completions and Responses modes (default `chat`); bearer auth, `max_tokens` output budget.
40
+ - Provider-side usage reporting while streaming (`streamUsage: true`).
41
+ - Credentials never leave the Alisio credentials store or the named environment variable.
42
+
43
+ While registered, the provider also appears in `/model` and `alisio doctor`.
44
+
45
+ ## Requirements
46
+
47
+ Node.js **>= 22.16** and an Alisio host with `@alisio/sdk` `>=0.1.0-alpha.10`.
48
+
49
+ ## License
50
+
51
+ MIT. Maintained by Gustavo Gutiérrez Mercado. Source:
52
+ <https://github.com/GustavoGutierrez/alisio-plugins/tree/main/packages/plugin-deepseek> ·
53
+ npm: <https://www.npmjs.com/package/@alisio/plugin-deepseek>.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Plugin } from "@alisio/sdk";
2
2
  export declare function createDeepSeekPlugin(): Plugin;
3
- export type { DeepSeekConfig } from "./provider.ts";
4
- export { DeepSeekProvider } from "./provider.ts";
3
+ export type { DeepSeekConfig } from "./provider.js";
4
+ export { DeepSeekProvider } from "./provider.js";
5
5
  declare const _default: Plugin;
6
6
  export default _default;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAA8B,MAAM,aAAa,CAAC;AAapF,wBAAgB,oBAAoB,IAAI,MAAM,CA+E7C;AAED,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { definePlugin } from "@alisio/sdk";
2
2
  import { DeepSeekProvider } from "./provider.js";
3
- import { loadVersion } from "./version.js";
3
+ import { VERSION } from "./version.js";
4
4
  const DEFAULT_BASE_URL = "https://api.deepseek.com";
5
5
  const DEFAULT_API_KEY_ENV = "DEEPSEEK_API_KEY";
6
6
  const profileString = (request, key, fallback) => typeof request.profile[key] === "string" && String(request.profile[key]).trim()
@@ -14,7 +14,7 @@ export function createDeepSeekPlugin() {
14
14
  name: "DeepSeek",
15
15
  description: "Dedicated DeepSeek Chat Completions and Responses provider",
16
16
  categories: ["model-provider"],
17
- version: loadVersion(import.meta.url),
17
+ version: VERSION,
18
18
  apiVersion: 1,
19
19
  setup(api) {
20
20
  api.providers.register({
@@ -87,3 +87,4 @@ export function createDeepSeekPlugin() {
87
87
  }
88
88
  export { DeepSeekProvider } from "./provider.js";
89
89
  export default createDeepSeekPlugin();
90
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -21,3 +21,4 @@ export declare class DeepSeekProvider implements ModelProvider {
21
21
  stream(request: Parameters<ModelProvider["stream"]>[0]): AsyncIterable<ProviderEvent>;
22
22
  private responses;
23
23
  }
24
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,aAAa,EACb,aAAa,EAGd,MAAM,aAAa,CAAC;AACrB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAa5B,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,WAAW,CAAC;IAC9B,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,cAAc,EAAE,YAAY,GAAG,uBAAuB,GAAG,MAAM,CAAC;IAChE,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAGD,qBAAa,gBAAiB,YAAW,aAAa;;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAGvB,YAAY,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,EAkBlD;IACD,0EAA0E;IACpE,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAiD1D;IACM,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAwH3F;YACc,SAAS;CAgIzB"}
package/dist/provider.js CHANGED
@@ -114,12 +114,20 @@ export class DeepSeekProvider {
114
114
  const limit = this.#config.tokenParameter === "omit"
115
115
  ? {}
116
116
  : { [this.#config.tokenParameter]: request.maxOutputTokens };
117
+ // `reasoning_effort` is provider-declared (DeepSeek's catalog `effort.supported_levels`); the
118
+ // SDK type is a fixed union, so the value is carried through the params type of `create`.
119
+ const reasoningEffort = request.reasoningEffort
120
+ ? {
121
+ reasoning_effort: request.reasoningEffort,
122
+ }
123
+ : {};
117
124
  const stream = await this.#client.chat.completions.create({
118
125
  model: request.model || this.model,
119
126
  messages,
120
127
  stream: true,
121
128
  ...limit,
122
129
  ...(this.#config.streamUsage ? { stream_options: { include_usage: true } } : {}),
130
+ ...reasoningEffort,
123
131
  ...(request.tools.length || request.nativeTools?.length
124
132
  ? {
125
133
  tools: [
@@ -185,7 +193,7 @@ export class DeepSeekProvider {
185
193
  calls: completed,
186
194
  ...(finish === "length" ? { truncated: true } : {}),
187
195
  },
188
- usage,
196
+ ...(usage ? { usage } : {}),
189
197
  };
190
198
  }
191
199
  async *responses(request) {
@@ -222,6 +230,13 @@ export class DeepSeekProvider {
222
230
  store: false,
223
231
  include: ["reasoning.encrypted_content"],
224
232
  max_output_tokens: request.maxOutputTokens,
233
+ ...(request.reasoningEffort
234
+ ? {
235
+ reasoning: {
236
+ effort: request.reasoningEffort,
237
+ },
238
+ }
239
+ : {}),
225
240
  tools: [
226
241
  ...request.tools.map((t) => ({
227
242
  type: "function",
@@ -263,15 +278,17 @@ export class DeepSeekProvider {
263
278
  yield {
264
279
  type: "completed",
265
280
  message: { role: "assistant", text, calls, providerData: r.output, truncated: true },
266
- usage: r.usage
281
+ ...(r.usage
267
282
  ? {
268
- input: r.usage.input_tokens,
269
- output: r.usage.output_tokens,
270
- ...(typeof r.usage.input_tokens_details?.cached_tokens === "number"
271
- ? { cachedInput: r.usage.input_tokens_details.cached_tokens }
272
- : {}),
283
+ usage: {
284
+ input: r.usage.input_tokens,
285
+ output: r.usage.output_tokens,
286
+ ...(typeof r.usage.input_tokens_details?.cached_tokens === "number"
287
+ ? { cachedInput: r.usage.input_tokens_details.cached_tokens }
288
+ : {}),
289
+ },
273
290
  }
274
- : undefined,
291
+ : {}),
275
292
  };
276
293
  }
277
294
  if (event.type === "response.completed") {
@@ -289,15 +306,17 @@ export class DeepSeekProvider {
289
306
  yield {
290
307
  type: "completed",
291
308
  message: { role: "assistant", text, calls, providerData: r.output },
292
- usage: r.usage
309
+ ...(r.usage
293
310
  ? {
294
- input: r.usage.input_tokens,
295
- output: r.usage.output_tokens,
296
- ...(typeof r.usage.input_tokens_details?.cached_tokens === "number"
297
- ? { cachedInput: r.usage.input_tokens_details.cached_tokens }
298
- : {}),
311
+ usage: {
312
+ input: r.usage.input_tokens,
313
+ output: r.usage.output_tokens,
314
+ ...(typeof r.usage.input_tokens_details?.cached_tokens === "number"
315
+ ? { cachedInput: r.usage.input_tokens_details.cached_tokens }
316
+ : {}),
317
+ },
299
318
  }
300
- : undefined,
319
+ : {}),
301
320
  };
302
321
  }
303
322
  }
@@ -305,3 +324,4 @@ export class DeepSeekProvider {
305
324
  throw new Error("Responses stream ended before completion");
306
325
  }
307
326
  }
327
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,8 +1,2 @@
1
- /**
2
- * Reads this plugin package's version at runtime so plugin metadata, user-agent defaults and CLI
3
- * reports stay in sync with the published package without a build-time constant to update.
4
- * The manifest is resolved relative to the module (`src/version.ts` → `../package.json` in the
5
- * source tree; `dist/version.js` → `../package.json` of the installed package). Standalone
6
- * binaries inject the version at build time via ALISIO_PACKAGE_VERSION (scripts/binary-build.ts).
7
- */
8
- export declare function loadVersion(fromHere: string): string;
1
+ export declare const VERSION = "0.1.1";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/version.js CHANGED
@@ -1,28 +1,3 @@
1
- import { readFileSync } from "node:fs";
2
- import { dirname, join } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- /**
5
- * Fallback used when neither the build-time injection nor the package manifest is readable
6
- * (e.g. an unpackaged embed). Keep it a development marker, never a publish literal, so it
7
- * cannot silently desync from the published package.
8
- */
9
- const FALLBACK = "dev";
10
- /**
11
- * Reads this plugin package's version at runtime so plugin metadata, user-agent defaults and CLI
12
- * reports stay in sync with the published package without a build-time constant to update.
13
- * The manifest is resolved relative to the module (`src/version.ts` → `../package.json` in the
14
- * source tree; `dist/version.js` → `../package.json` of the installed package). Standalone
15
- * binaries inject the version at build time via ALISIO_PACKAGE_VERSION (scripts/binary-build.ts).
16
- */
17
- export function loadVersion(fromHere) {
18
- if (process.env.ALISIO_PACKAGE_VERSION)
19
- return process.env.ALISIO_PACKAGE_VERSION;
20
- try {
21
- const manifest = join(dirname(fileURLToPath(fromHere)), "..", "package.json");
22
- const parsed = JSON.parse(readFileSync(manifest, "utf8"));
23
- return typeof parsed.version === "string" && parsed.version ? parsed.version : FALLBACK;
24
- }
25
- catch {
26
- return FALLBACK;
27
- }
28
- }
1
+ // Updated by scripts/sync-versions.mjs.
2
+ export const VERSION = "0.1.1";
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,39 +1,51 @@
1
1
  {
2
2
  "name": "@alisio/plugin-deepseek",
3
- "version": "0.1.0-alpha.8",
4
- "description": "Built-in DeepSeek model provider for Alisio.",
3
+ "version": "0.1.1",
4
+ "description": "Dedicated DeepSeek model provider for Alisio: Chat Completions and Responses with metadata-rich catalog discovery and context windows.",
5
+ "keywords": [
6
+ "alisio-plugin",
7
+ "deepseek",
8
+ "model-provider"
9
+ ],
5
10
  "license": "MIT",
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/GustavoGutierrez/alisio-plugins.git",
14
+ "directory": "packages/plugin-deepseek"
15
+ },
16
+ "homepage": "https://github.com/GustavoGutierrez/alisio-plugins/tree/main/packages/plugin-deepseek#readme",
17
+ "bugs": {
18
+ "url": "https://github.com/GustavoGutierrez/alisio-plugins/issues"
19
+ },
6
20
  "type": "module",
21
+ "engines": {
22
+ "node": ">=22.16"
23
+ },
7
24
  "exports": {
8
25
  ".": {
9
26
  "types": "./dist/index.d.ts",
10
27
  "import": "./dist/index.js"
11
28
  }
12
29
  },
13
- "types": "./dist/index.d.ts",
14
30
  "files": [
15
31
  "dist",
16
32
  "README.md",
17
33
  "LICENSE"
18
34
  ],
19
- "sideEffects": false,
20
- "engines": {
21
- "node": ">=22.16"
22
- },
23
35
  "dependencies": {
24
36
  "openai": "7.23.0"
25
37
  },
26
38
  "peerDependencies": {
27
- "@alisio/sdk": "^0.1.0-alpha.6"
39
+ "@alisio/sdk": ">=0.1.0-alpha.10 <0.2.0"
28
40
  },
29
41
  "devDependencies": {
30
- "@alisio/sdk": "0.1.0-alpha.6"
31
- },
32
- "publishConfig": {
33
- "access": "public",
34
- "registry": "https://registry.npmjs.com/"
42
+ "@alisio/sdk": "0.1.0-alpha.11",
43
+ "typescript": "7.0.2",
44
+ "vitest": "5.0.1"
35
45
  },
36
46
  "scripts": {
37
- "build": "tsc -p tsconfig.build.json"
47
+ "build": "tsc -p tsconfig.json",
48
+ "typecheck": "tsc -p tsconfig.json --noEmit",
49
+ "test": "vitest run"
38
50
  }
39
51
  }