实时查看 llama.cpp 与 Ollama 端点负载状态
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add janpauldahlke/dsh-slot-health该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 实时显示端点健康状态
- 查看槽位忙闲与延迟
- 识别已加载模型
README
由 DeepSeek 最新模型翻译生成dsh-slot-health
DeepSeek Harness web UI 里的本地 LLM 端点实时健康面板。
一个右侧栏标签页,每秒采样一次,引擎按指纹命名——所以繁忙的 llama.cpp slot 或常驻的 Ollama 模型,读起来像仪表盘一样清楚,而不是一堆原始数据。
在同一台机器上对着真实后端构建并验证:llama.cpp 跑在 :8080(Qwen3.8 27B),Ollama 跑在 :11434(包括双 GPU 的 OLLAMA_SCHED_SPREAD 配 35B MoE)。
另见: dsh-gpu-monitor-nvml —— 同一个 DSH web 右侧栏的 NVIDIA GPU 利用率 / VRAM / 功耗面板(同一个实验室,同一种双面插件形态)。
环境要求
- DeepSeek Harness web 配置档(dsh web)。
- 一个本地 OpenAI 兼容 / 原生端点,用来监控:
- llama.cpp llama-server(完整支持),或
- Ollama(如实上报 up 状态 + MODELS 卡片),或
- 任何其他能连上的东西(指纹识别为 unknown / stub)。
在 cordis.patch.yml 里配置 origin(默认 http://127.0.0.1:8080)。
展开完整文档(README 剩余 1 节)
dsh-slot-health
DeepSeek Harness web UI 里的本地 LLM 端点实时健康面板。
一个右侧栏标签页,每秒采样一次,引擎按指纹命名——所以繁忙的 llama.cpp slot 或常驻的 Ollama 模型,读起来像仪表盘一样清楚,而不是一堆原始数据。
在同一台机器上对着真实后端构建并验证:llama.cpp 跑在 :8080(Qwen3.8 27B),Ollama 跑在 :11434(包括双 GPU 的 OLLAMA_SCHED_SPREAD 配 35B MoE)。
另见: dsh-gpu-monitor-nvml —— 同一个 DSH web 右侧栏的 NVIDIA GPU 利用率 / VRAM / 功耗面板(同一个实验室,同一种双面插件形态)。
环境要求
- DeepSeek Harness web 配置档(dsh web)。
- 一个本地 OpenAI 兼容 / 原生端点,用来监控:
- llama.cpp llama-server(完整支持),或
- Ollama(如实上报 up 状态 + MODELS 卡片),或
- 任何其他能连上的东西(指纹识别为 unknown / stub)。
在 cordis.patch.yml 里配置 origin(默认 http://127.0.0.1:8080)。
监控 Ollama 时把它指向 :11434。
截图
浅色主题,与 DSH 默认一致。
| llama.cpp(繁忙,已展开) | Ollama(已加载,MODELS 展开) |
| llama.cpp busy pane | Ollama pane |
| llama.cpp(卡片已折叠) | Ollama MODELS 已折叠 |
| llama.cpp collapsed | Ollama MODELS collapsed |
| Dock 徽标 · llama | Dock 徽标 · ollama |
| llama dock chip | ollama dock chip |
你会看到什么
llama.cpp
Slot Health llama.cpp 127.0.0.1:8080 · busy 2s · dec 59 latency 2 ms · updated 0 s ago
SLOT 0 · busy ctx 8% · busy 2s · dec 59 · prompt 1% prompt 130 / 9,787 (1%) ████░░░░░░ decoded 59 busy 2.0 s ttft 954 ms context 9,846 / 128,000 (8%) · 118,154 free
SERVER · 2m42s window 58.3 / 4.2 tok/s · acc 38% prompt_tok/s · decode_tok/s · deferred · active · ctx peak acceptance + length lifetime figures from /metrics
- 繁忙状态只看 is_processing —— 绝不看残留的 n_prompt_tokens(空闲时那些值仍然很高)。
- TTFT + 繁忙时长锁存在主机侧计算(/slots 返回的数据里没有时间戳)。
- 卡死启发式判定:prompt 已完全处理,decodes 为零,busy ≥ 300 s(DSH streamIdleTimeoutMs)—— 用红色标出,而不是默默「永远繁忙」。
- SERVER 卡片来自 Prometheus /metrics(prompt/decode 速率、deferred、active、context 峰值、生命周期 acceptance/length)。数值使用采样信封 —— 裸的 lifetime .value 绝不会被误当成百分比。
Ollama
Slot Health ollama 0.22.1 127.0.0.1:11434 · loaded · model…
latency <1 ms · updated 0 s ago
MODELS · 1 loaded / 12 in library batiai/qwen3.6-35b:iq3 qwen35moe · 34.7B · 17.5 GB · VRAM 17.5 GB · keeps in 52 m …
- 真实状态 —— 不是 llama 词表里的说法:
- up-no-model —— 可连通,/api/ps → {"models":[]}(在线,没加载任何模型;不是错误)。
- up-loaded —— 至少驻留 1 个模型。驻留 ≠ 忙碌 —— keep-alive 到期后就会驱逐;dock 上的小标签显示 ollama · loaded,永远不会显示 busy。
- MODELS 卡片:驻留详情 + 来自 /api/tags 的库数量。
指纹(从不靠猜)
| 后端 | 判定依据 |
| llama-cpp | /health → {"status":"ok"},且 /slots → 裸 JSON 数组 |
| ollama | /api/version → 带字符串 version 的对象 |
| vllm | /metrics 文本里含 vllm: 序列(占位 —— 暂无专属章节) |
| unknown | 可连通,但以上都不匹配 |
引擎名会出现在面板标题和 dock 小标签上(llama · busy、ollama · loaded)。
架构
这是一个双面插件包:一个 npm 包,两套运行时。
- 宿主面(lib/index.js,ESM)—— 注册插件,持有 1 秒采样循环(SAMPLE_INTERVAL_MS = 1000),探测配置的源站,并在与页面同源的 GET /api/dsh-slot-health 上提供 JSON 快照。
- 客户端面(lib/client.js,CJS 闭包工厂)—— web 客户端通过
window.__ModuleLoader__.load({ id, factory }) 加载。自链式 1 Hz
fetch(no-store,可中止),渲染 Slot Health 右侧栏标签页和页脚 dock 小标签。
- 粘合 —— cordis.patch.yml 插入一行 Loader;浏览器那一半由 package.json 里的 dsh.client 声明发现。
客户端约束,均已遵守:运行时只能 require 冻结的 PLATFORM_MODULES (react、cordis、client store、ui slots/primitives/dockkit);其余全部由 esbuild 内联。展示层只用内联样式 —— 打包产物里没有 CSS 文件。插件对源站是只读的(不 load/unload/kill)。
dsh-slot-health/
├── package.json # dual-face exports: "." (host) and "./client" (browser)
├── build.mjs # esbuild, two configs (host ESM + client CJS closure factory)
├── cordis.patch.yml # Loader row + origin
├── media/ # README screenshots
├── src/
│ ├── host/
│ │ ├── index.ts # plugin registration + sampling loop
│ │ ├── route.ts # GET /api/dsh-slot-health
│ │ ├── collect.ts # probes + fingerprint dispatch
│ │ ├── fingerprint.ts
│ │ ├── latch.ts # busy-age / TTFT latches
│ │ ├── metrics.ts # /metrics parse → SERVER card
│ │ └── ollama.ts # /api/ps + /api/tags
│ ├── client/
│ │ ├── index.tsx # slot + dock injection
│ │ ├── SlotBody.tsx # pane: SLOT / SERVER / MODELS cards
│ │ ├── SlotTitle.tsx # tab chip
│ │ └── SlotDockChip.tsx
│ └── shared/
│ └── types.ts # HealthSnapshot / SlotSample / Backend
└── lib/ # prebuilt output (committed for install-without-toolchain)
安装
需要 DeepSeek Harness,带 web 配置档,以及一个要监视的本地端点。
从 npm 安装(推荐)
dsh plugin --profile web add dsh-slot-health
重启 dsh web(或依赖 live patch reload),然后强制刷新浏览器
从 GitHub 安装
dsh plugin --profile web add github:janpauldahlke/dsh-slot-health
lib/ 已提交到仓库,所以安装不需要本地 TypeScript/esbuild 工具链。
把已安装的 cordis.patch.yml(或你的配置档覆盖文件)里的 origin 指向你要用的端点:
config:
origin: http://127.0.0.1:8080 # llama.cpp
origin: http://127.0.0.1:11434 # Ollama
从 git checkout 安装(开发者)
git clone https://github.com/janpauldahlke/dsh-slot-health.git
cd dsh-slot-health
npm install # prepare builds lib/ if toolchain present
node build.mjs # optional: force rebuild → lib/index.js + lib/client.js
wire into your web profile (absolute path; link: dep + bundle entry)
dsh plugin --profile web add "$PWD"
这会更新 ~/.dsh/profiles/web/package.json,大致变成:
"dependencies": {
"dsh-slot-health": "link:/abs/path/to/dsh-slot-health"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-slot-health"
]
}
}
重启 dsh web,强制刷新。右侧栏的 Slot Health 标签页和底栏 dock chip 应该会出现。
开发循环
edit src/ → rebuild (profile already link:s this tree)
node build.mjs
host half often hot-reloads with patchReload: live; client half: hard-refresh
如果配置档解析不了包名:
ln -sfn "$PWD" "$HOME/.dsh/profiles/web/node_modules/dsh-slot-health"
不要只链接到 harness monorepo 的 node_modules —— Cordis 是从配置档解析的。
验证
dsh --profile web --dump-config | grep dsh-slot-health
curl -s http://127.0.0.1:3080/api/dsh-slot-health | head # adjust port
expect JSON: state, backend, slots[] and/or ollama, optional metrics
卸载:
dsh plugin --profile web remove dsh-slot-health
这是怎么构建的
在真实硬件上做闭环迭代:研究 DSH 树外插件契约,搭出双面包,针对 llama.cpp 的 /health /slots /metrics 写只读采样器,加上 Ollama 指纹 + MODELS,打磨卡片、tooltip、dock chip,每一轮都在专用验收端口上重新检查 —— 全程不碰神圣端口(:3080 主 dsh、:8080 llama-server、:11434 ollama)。和 dsh-gpu-monitor-nvml 在同一实验环境里配套构建。
作者
这是人类 ↔ 本地模型配对的产物,不是「AI 自己做的」,也不是「人类只做了审阅」。
- Jan (hagbardCeline) —— 软件工程师。定下目标和诚实规则(按形态做指纹,Ollama ≠ llama 词汇,绝不谎报 busy),在真实端点上推动接受/拒绝循环,砍掉错误路径,并拍板最终的「发布这个」。
- Qwen3.8 27B Q6 HauHau(合著者)—— 在这个循环下写了大部分实现:宿主采样器、客户端 UI、构建胶水。由 llama.cpp 在双 NVIDIA GPU(RTX 4080 SUPER + RTX A4000)上提供服务。Ollama 冒烟测试用了 batiai/qwen3.6-35b:iq3 和 OLLAMA_SCHED_SPREAD。
- 硬件 —— Ryzen 7 7800X3D,61 GiB RAM,双 16 GiB NVIDIA GPU。
有意思的地方在于这种递归:智能体帮忙为它自己运行所在的端点构建健康面板,全程有人类在循环里。
License: MIT · Contributing预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
janpauldahlke/dsh-slot-health
实时查看 llama.cpp 与 Ollama 端点负载状态
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,399未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,384已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13950 个插件含 PR 收录与…
★ 360已汉化DSH
71.9
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。