前言¶
在 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