dsh-plugin-local-infer 0.1.1 → 0.1.2

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.
Files changed (38) hide show
  1. package/README.md +4 -1
  2. package/docs/zh/README.md +4 -1
  3. package/dsh/client.js +627 -133
  4. package/package.json +11 -10
  5. package/packages/core/lib/adapter.d.ts +75 -4
  6. package/packages/core/lib/index.d.ts +2 -1
  7. package/packages/core/lib/index.js +1 -0
  8. package/packages/core/lib/launch-command.d.ts +13 -0
  9. package/packages/core/lib/launch-command.js +64 -0
  10. package/packages/core/lib/models.d.ts +2 -1
  11. package/packages/core/lib/models.js +10 -1
  12. package/packages/core/lib/status.d.ts +9 -1
  13. package/packages/core/lib/status.js +6 -1
  14. package/packages/providers/lib/acquire.d.ts +125 -0
  15. package/packages/providers/lib/acquire.js +325 -0
  16. package/packages/providers/lib/adapters.d.ts +42 -5
  17. package/packages/providers/lib/adapters.js +385 -57
  18. package/packages/providers/lib/deps.d.ts +4 -2
  19. package/packages/providers/lib/deps.js +16 -2
  20. package/packages/providers/lib/engines.d.ts +4 -3
  21. package/packages/providers/lib/engines.js +11 -3
  22. package/packages/providers/lib/guidelines.js +16 -0
  23. package/packages/providers/lib/index.d.ts +9 -3
  24. package/packages/providers/lib/index.js +8 -4
  25. package/packages/providers/lib/infernix.d.ts +170 -0
  26. package/packages/providers/lib/infernix.js +671 -0
  27. package/packages/providers/lib/model-defaults.d.ts +5 -3
  28. package/packages/providers/lib/model-defaults.js +27 -3
  29. package/packages/providers/lib/ninfer.d.ts +7 -0
  30. package/packages/providers/lib/ninfer.js +9 -2
  31. package/packages/providers/lib/platform.d.ts +31 -0
  32. package/packages/providers/lib/platform.js +58 -0
  33. package/packages/service/lib/index.d.ts +61 -18
  34. package/packages/service/lib/index.js +278 -42
  35. package/packages/service/lib/types.d.ts +44 -2
  36. package/packages/ui/lib/route.d.ts +83 -12
  37. package/packages/ui/lib/route.js +495 -55
  38. package/packages/ui/package.json +1 -1
package/README.md CHANGED
@@ -13,6 +13,7 @@ A DeepSeek Harness plugin that manages local inference engines:
13
13
  - llama.cpp
14
14
  - NInfer
15
15
  - Hyper-Qwen (vLLM)
16
+ - Infernix
16
17
  - Strata
17
18
  - ...with more coming soon.
18
19
 
@@ -38,7 +39,8 @@ The **Engine settings** card mounts on the Plugins page (older hosts: the Settin
38
39
  - **Watch the VRAM Est. meter.** It prices weights, KV cache, overhead, and workspace against your card as you adjust values, and shows the verdict (`fits` / `tight` / `over`) and the largest context that fits.
39
40
  - **Read the warnings.** Red banners and inline field warnings fire when a parameter value, or the presence of a parameter, is unsafe for your detected hardware.
40
41
  - **Satisfy the system dependencies.** The panel lists each missing host dependency (docker, CUDA toolkit, ffmpeg, hf CLI, ...) with its purpose, a copy/paste install string for your OS, and an optional one-click **Run** (sudo). The **Get** button stays disabled until every dependency reports satisfied.
41
- - **Launch / Stop.** `Launch` clones or pulls the engine, downloads the model, starts it, and polls its health endpoint. `Stop` shuts it down.
42
+ - **Get.** With the dependencies satisfied, `Get` syncs the engine's source: it clones the engine's git repo (or the **Engine Fork** you provided) into the **Engine Directory** override, defaulting to the model directory under the engine name. An existing checkout with local changes aborts with an alert in **Logs**; a clean one fetches the listed fork (added as its own remote) and rebases onto the upstream branch. It then runs the system dependencies and the engine's build steps. Every line streams into the **Logs** section as it lands. `Launch` stays disabled while a Get runs and re-enables when the build finishes, errors, or falls silent for 2 minutes.
43
+ - **Launch / Stop.** `Launch` deploys the engine (builds the checkout, or pulls the image in docker mode), downloads the model, starts it, and polls its health endpoint. `Stop` shuts it down.
42
44
  - **Register / Remove.** `Register` publishes the confirmed-working engine to DSH as a model (optionally as the agent default model) through the settings service, so the change is revision-tracked and undoable. `Remove` pulls the entry back.
43
45
 
44
46
  All values persist to `~/.dsh/local-infer/config.json`; the browser never sees a value it did not store.
@@ -64,6 +66,7 @@ All values persist to `~/.dsh/local-infer/config.json`; the browser never sees a
64
66
  | Hyper-Qwen (vLLM) | Yes (compose) | No | `.env`-driven docker-compose profiles. |
65
67
  | vLLM | No | No | Work-in-progress. |
66
68
  | llama.cpp | Yes | Yes | Specified, not verified until the binary is available. |
69
+ | Infernix | No | Yes (cmake + CUDA) | C++/CUDA fork of NInfer tuned for Qwen models on a single RTX 50-series GPU. Local build only. |
67
70
  | Strata | Yes | No | Placeholder engine; its parameter surface is empty until the flag set lands. |
68
71
 
69
72
  Runtime requirements: Node `^22.19.0 || >=24.0.0`, pnpm 12.11.2 (pinned by `mise.toml`), and the `@deepseek-ai/cordis >= 4.0.1` peer dependency.
package/docs/zh/README.md CHANGED
@@ -13,6 +13,7 @@
13
13
  - llama.cpp
14
14
  - NInfer
15
15
  - Hyper-Qwen (vLLM)
16
+ - Infernix
16
17
  - Strata
17
18
  - ...更多即将推出。
18
19
 
@@ -38,7 +39,8 @@ Web UI:点击 **插件** → **添加插件** → 粘贴 `https://github.com/c
38
39
  - **观察 VRAM 估算仪表。** 当你调整值时,它根据你的显卡对权重、KV 缓存、开销和工作区进行估算,并显示判定结果(`fits` / `tight` / `over`)以及能容纳的最大上下文。
39
40
  - **阅读警告。** 当某个参数值,或某个参数的存在,对你的检测到的硬件不安全时,红色横幅和内联字段警告会触发。
40
41
  - **满足系统依赖项。** 面板列出每个缺失的主机依赖项(docker、CUDA toolkit、ffmpeg、hf CLI、...),并附有其用途、针对你操作系统的复制粘贴安装字符串,以及可选的一键 **运行**(sudo)。**获取** 按钮在所有依赖项报告满足之前保持禁用状态。
41
- - **启动 / 停止。** `启动` 克隆或拉取引擎、下载模型、启动它,并轮询其健康端点。`停止` 将其关闭。
42
+ - **获取。** 依赖项满足后,`获取` 会同步引擎源码:将引擎的 git 仓库(或你提供的 **引擎 Fork**)克隆到 **引擎目录** 覆盖项中;未覆盖时默认落在模型目录下以引擎命名的子目录。存在本地改动的已有检出会在 **日志** 中发出警告并中止;干净的检出会拉取所列的 fork(作为独立远程添加)并向上游分支 rebase。随后它会运行系统依赖项和引擎的构建步骤,每一行输出都会实时流入 **日志** 区。Get 运行期间 `启动` 保持禁用,并在构建完成、出错或 2 分钟无输出时重新启用。
43
+ - **启动 / 停止。** `启动` 部署引擎(构建检出,或在 docker 模式下拉取镜像)、下载模型、启动它,并轮询其健康端点。`停止` 将其关闭。
42
44
  - **注册 / 移除。** `注册` 通过设置服务将确认工作正常的引擎作为模型发布到 DSH(可选地作为代理默认模型),因此该变更可被修订跟踪并可撤销。`移除` 将该条目拉回。
43
45
 
44
46
  所有值都持久化到 `~/.dsh/local-infer/config.json`;浏览器永远不会看到它未存储的值。
@@ -64,6 +66,7 @@ Web UI:点击 **插件** → **添加插件** → 粘贴 `https://github.com/c
64
66
  | Hyper-Qwen (vLLM) | 是 (compose) | 否 | 由 `.env` 驱动的 docker-compose 配置。 |
65
67
  | vLLM | 否 | 否 | 进行中。 |
66
68
  | llama.cpp | 是 | 是 | 已指定,在二进制可用之前未验证。 |
69
+ | Infernix | 否 | 是 (cmake + CUDA) | NInfer 的 C++/CUDA 分支,针对单张 RTX 50 系 GPU 的 Qwen 模型调优;仅本地构建。 |
67
70
  | Strata | 是 | 否 | 占位符引擎;在其标志集落地之前,其参数表面为空。 |
68
71
 
69
72
  运行时要求:Node `^22.19.0 || >=24.0.0`、pnpm 12.11.2(由 `mise.toml` 固定),以及 `@deepseek-ai/cordis >= 4.0.1` 同级依赖。