前言¶
在 DeepSeek Harness(DSH)里接本地模型,常见麻烦不在「能不能跑」,而在跑起来之后:启动器退了、推理进程还在占显存和端口;LM Studio、Ollama 各开一窗;配置散落在多处;ROCm 表面 /health 正常、实际在 CPU 上跑;NPU 与 GPU 往往只能二选一。社区插件 燧心 · Hearthcore(仓库 YarXVI/dsh-npu)把面板、模型槽位、框架与对外端口收进一个 DSH 插件:随 DSH 点火与熄火,退出时通过 Job Object 清理子进程;对外仍是一个 OpenAI 兼容端口,并注册 npu-local provider 供 DSH 模型选择器使用。下文介绍其定位、能力与上手步骤。
这是什么¶
燧心(包名 dsh-npu,版本 1.0.0)由维护者 YarXVI 发布,许可证 MIT,分类为模型推理。它是 DSH 的本机推理插件:在 AMD Ryzen AI 上通过 FastFlowLM(FLM) 使用 XDNA2 NPU,在 GPU 上通过 llama.cpp(Vulkan / ROCm / CUDA,运行时由插件下载到 runtimes/),并引入第五框架 amd-hybrid,在同一条 DSH 生命周期里让 NPU 与 GPU 按路由、竞速、级联或增强方式协同。README 写明:无云、无遥测、无第三方窗口、无链式启动器;联网推理除非用户另行配置其他 provider,与本插件无关。
核心功能¶
进程与生命周期¶
插件用 NpuSupervisor 以 spawn 启动各模型进程,在 Windows 上创建即加入 Job Object(kill-on-close):DSH 退出或被终止时,内核连带结束整棵子进程树。槽位可设 idleSec 空闲自动熄火;面板也可立即「熄火」。不存在外部 exe 链式拉模型、不注册系统服务、不写自启。
单端口 OpenAI 兼容 API¶
默认绑定 127.0.0.1,前端端口配置项为 frontPort(示例默认 52630;被占用时插件会改用系统分配端口并在面板显示)。支持:
POST /v1/chat/completions、POST /v1/completions、POST /v1/embeddings、GET /v1/models- 流式
stream:true(SSE);cascade在升级 GPU 前不吐字,race仅非流式
第五框架 amd-hybrid¶
| 模式 | 行为 | 适合 |
|---|---|---|
route |
翻译/embedding → NPU,代码/长文 → GPU,失败自动换引擎 | 日常单请求 |
race |
两引擎同发,先给出完整答案者胜(仅非流式) | 尾延迟敏感 |
cascade |
NPU 先答首段;拒答/截断/退化 → GPU 重答 | 省 GPU 占用 |
augment |
GPU 主答,NPU 并行做检索/翻译/摘要增强 | 长上下文 |
README 记载本机实测(同一 prompt、max_tokens=64、temperature=0):route 平均 464 ms,race 345 ms,cascade 1658 ms,augment 1310 ms;原始数据在仓库 bench/bench-result.json。
配置 schema v2¶
单文件默认路径 ~/.dsh/dsh-npu.json,可用 configFile 或环境变量 DSH_NPU_DATA 改位置。v1 会自动迁移并在同目录留 dsh-npu.json.v1-<时间戳>.bak。槽位 backend 可为 flm、llamacpp-vulkan、-rocm、-cuda 等;apiToken 保存后立即生效,无需重启插件进程。
面板与自检¶
侧栏入口:插件 → 燧心 · 本地推理(三页签)。面板 API 挂在 DSH 同源 /plugins/dsh-npu/panel(旧路径 /npu/* 仍为别名),提供 state、config、health、models、hybrid/status、runtime/download 等路由;「自检」对应 health.items[] 共 10 项探测。
安装与启用¶
依赖:Node ≥ 20;使用 NPU 需自行安装 FastFlowLM。GPU 侧不需要 Ollama。
官方 README 给出三种安装方式:
# 方式一:插件市场
# DSH → 插件 → 发现 → 添加索引源:https://yarxvi.github.io/dsh-npu/market/index.json → 安装「燧心 · 本地推理」
# 方式二:git(锁定提交,可复现)
dsh plugin add git+https://github.com/YarXVI/dsh-npu.git#<commit>
# 方式三:本地开发(link)
dsh plugin add link:./plugins/dsh-npu
插件以当前 DSH 进程权限运行;安装前应在 GitHub 阅读源码与 MIT 许可证,确认符合你的环境与安全要求。
典型用法(约 5 分钟)¶
- 打开 插件 → 燧心 · 本地推理。
- 设置 → 运行环境:填写
flm.exe绝对路径,或使用「自动查找」(有界扫盘,不扫全盘)。 - 模型 → 后端:点「安装 Vulkan 运行时」(约 35 MB),或仅使用 NPU。
- 概览 → 一键点火:启动代理、注册 provider、把模型暴露给 DSH 模型选择器。
- 在 DSH 里选择
npu-local下的模型对话;在 设置 → 混合推理 切换route/race/cascade/augment。
README 推荐的默认槽位组合示例:NPU 对话 qwen3.5:0.8b、翻译 hy-mt2-flash:1.8b、embedding embed-gemma:300m(挂在 chat 槽 embed:true)、GPU 主答 Qwen2.5-1.5B-Instruct-Q4_K_M.gguf(Vulkan)。换机器时可将配置里的 dataRoot 指到外置盘或旧目录,模型文件不必搬家。
适用场景与注意¶
适合:已在 DSH 生态内开发智能体或本地对话,机器带 AMD Ryzen AI NPU 和/或可跑 llama.cpp 的 GPU,希望一个入口、一份 dsh-npu.json、一个 OpenAI 端口,且强调「DSH 关则推理进程不留」的用户。
注意:
- 面板显示「未找到 flm.exe」时,FLM 便携版通常不在 PATH,需填绝对路径。
- ROCm 后端若很慢,README 提示可能静默回退 CPU;应在面板后端行查看
--list-devices探测结果。 - 混合推理需要 NPU 槽位与 GPU 槽位(llama.cpp 运行时 + gguf)均就绪;自检会指出缺失项。
- 社区目录页(如 skillhub.cn)为独立索引,与 DeepSeek / 幻方无官方从属关系;星标与版本以你安装时的仓库为准。
结尾¶
燧心把 AMD NPU(FLM)与 GPU(llama.cpp)收进 DSH 插件生命周期:按需点火、空闲或退出时熄火、对外一个 OpenAI 兼容端口,并用 amd-hybrid 在四种模式下协同双引擎。进一步了解可查看社区目录页与 GitHub 仓库:
- 目录页:https://www.skillhub.cn/plugins/YarXVI/dsh-npu
- GitHub:https://github.com/YarXVI/dsh-npu