DSH XD Pool
XDTrees/dsh-xdpool把本机 WorkBuddy 桌面 App 登录过的所有账号自动并入 DSH 模型池:多账号轮换自动容错、实时积分,模型目录按模型标注积分倍率与限时免费 / 夜间折扣。
DSH Web 视图中的本地 LLM 推理服务控制面板:服务注册表与健康检查/停止控制、llama.cpp / SGLang / vLLM 命名参数 profile(保存前做 KV/显存校验)、GPU 探测与 tok/s 测速。
本地 LLM 推理服务的「总控台」——DSH(DeepSeek Harness)插件。
本地同时跑几个推理服务(llama.cpp / SGLang / vLLM)时,参数散落在终端历史和笔记本里:这个模型该配哪套 -c / -np?显存到底够不够?哪个框架在这张卡上能起?
装好本插件,这些答案都在一个面板里:
前提:DSH(带 web)+ pnpm;GPU 检测需要 python3(缺失时自动回退 nvidia-smi)。
cd ~/.dsh/profiles/web # 你的 DSH web profile 目录
pnpm add github:Ansonfishing/dsh-model-manager
然后在 package.json 的 dsh.profile.bundles 数组里加上 "dsh-model-manager",重启 dsh。会话视图出现「模型管理」tab,就好了。
libcuda 主源,nvidia-smi 回退);卡编号 = CUDA_VISIBLE_DEVICES 值。-c / -np 估算 KV 占用,超出目标卡容量立刻 warning。pkill;停止外部服务需显式 force + 面板两次点击二次确认;11437(DSH 自身推理端口)停止时额外提示「将中断当前会话」。clone 本仓库,浏览器直接打开 test/harness/index.html——零依赖渲染 harness,用 mock 数据渲染完整面板,?chrome=0 隐藏 harness 顶栏。
仓库不内置任何显卡映射。想让面板显示卡名和显存容量,创建 ~/.dsh/model-manager/builtin-gpus.local.json:
{
"0": { "name": "RTX 4090", "memGb": 24 },
"1": { "name": "RTX 6000 Ada", "memGb": 48 }
}
没有这个文件时面板回退为 "GPU 0 / GPU 1",显存校验自动跳过。
npm test # node --test test/*.test.mjs
node build/build-client.cjs # 从 mockup-v3.html 重新构建 lib/client.js
本地开发:clone 后在 profile 里用 pnpm add link:../path/to/dsh-model-manager。客户端改动浏览器 F5 即可;Node 侧(index.js / lib/*.js)改动需重启 dsh。
~/.dsh/model-manager/builtin-gpus.local.json 且 nvidia-smi 未探测到卡。显存校验会自动跳过(不会误报,不影响其它功能)。放一个本地 GPU 表即可显示真实卡名与容量,见上文「本地 GPU 表」。libcuda/python3,缺失时回退 nvidia-smi;两者都没有时面板顶部会给出 lastError 原文,按它排查即可。force + 两次点击二次确认;这是红线,不是 bug。托管服务(本插件 spawn 的)一次即可。11437 停止时额外提示「将中断当前会话」。flashinfer-python 与 flashinfer-cubin 的 pip 版本。| 层 | 文件 | 职责 |
|---|---|---|
| 入口 | index.js | 注册 14 个工具 + 17 个同源路由 |
| 生命周期 | lib/lifecycle.js | 注册表 CRUD、健康探测、托管启动/停止 |
| 安全 | lib/safety.js | 停止策略(fuser/kill)、保护端口 |
| 校验 | lib/validate.js | launchCommand 解析 + 规则引擎 |
| GPU | lib/gpu.js | 检测 + 本地 GPU 表加载 |
| 适配 | lib/adapters/*.js | llama / sglang / vllm 命令拼装 |
| 客户端 | lib/client.js | React 单文件组件(由 mockup 构建) |
MIT © Ansonfishing