诊断本地 AI 栈卡顿原因并给出修复建议
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add LuminariSoftwares/stack-guardian该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 21 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/13) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令
查看扫描证据(共 1 处,展示前 1 条)
- 执行外部命令来自配置/变量dsh/index.js:109
execFile(opts.cli, opts.args, { timeout: opts.budgetMs + 1000, windowsHide: true }, (err, stdout) => {
扫描于 2026/11/1(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 诊断本地AI栈卡顿
- 定位模型未加载
- 识别显存占用
一条命令查清本地 AI 栈为什么慢或崩:Ollama 模型没加载、显存被别的进程占着、tailnet 节点离线或走中继。分级结论、带类型的修复方案,MCP 服务器。
README
由 DeepSeek 最新模型翻译生成stack-guardian
家庭 AI 技术栈的健康医生。它采集节点快照(Ollama 端点、已加载模型、NVIDIA GPU、tailnet 对等节点),拿一小撮 Python 规则去跑,记住最近几次运行结果,最后给出带置信度等级的发现:只采样一次,最高只能到 LIKELY;同一个发现连续出现两次,就是 VERIFIED。每条发现可以带一个带类型的修复动作,由你手动执行,绝不自动跑。
状态:0.1.0,首个版本。 只用标准库,Python 3.11+。
安装
pip install stack-guardian
装完你会得到三个命令:stack-guardian(命令行)、stack-guardian-serve 和 stack-guardian-mcp。
先离线试一把:示例快照能让每条内置规则都触发一次。
展开完整文档(README 剩余 1 节)
stack-guardian
家庭 AI 技术栈的健康医生。它采集节点快照(Ollama 端点、已加载模型、NVIDIA GPU、tailnet 对等节点),拿一小撮 Python 规则去跑,记住最近几次运行结果,最后给出带置信度等级的发现:只采样一次,最高只能到 LIKELY;同一个发现连续出现两次,就是 VERIFIED。每条发现可以带一个带类型的修复动作,由你手动执行,绝不自动跑。
状态:0.1.0,首个版本。 只用标准库,Python 3.11+。
安装
pip install stack-guardian
装完你会得到三个命令:stack-guardian(命令行)、stack-guardian-serve 和 stack-guardian-mcp。
先离线试一把:示例快照能让每条内置规则都触发一次。
curl -LO https://raw.githubusercontent.com/LuminariSoftwares/stack-guardian/main/examples/snapshot.json
curl -LO https://raw.githubusercontent.com/LuminariSoftwares/stack-guardian/main/examples/ctx.json
stack-guardian doctor --snapshot snapshot.json --ctx ctx.json
也可以从克隆的仓库跑(想写规则或跑测试就用这种方式):
git clone https://github.com/LuminariSoftwares/stack-guardian.git
cd stack-guardian
python -m venv .venv
.venv\Scripts\activate # Windows; macOS/Linux: source .venv/bin/activate
pip install -e .
stack-guardian doctor --snapshot examples/snapshot.json --ctx examples/ctx.json
给编码智能体用
- MCP 服务器(任何 MCP 客户端都能接):stack-guardian-mcp 通过 stdio 讲 MCP,带三个只读工具:stack_health、stack_snapshot 和 explain。在 Claude Code 里:
claude mcp add stack-guardian -e STACK_GUARDIAN_NODES=/path/to/nodes.json -- stack-guardian-mcp
其他客户端:命令填 stack-guardian-mcp,参数填 ["--nodes", "/path/to/nodes.json"]。stack_health 会对照已保存的运行历史打分,但不会往历史里写;同一份快照 10 秒内复用(--ttl SECONDS)。
- DSH 插件(npm install dsh-stack-guardian,源码在 dsh/,需要 Node 20+):当医生报出 WARN 或 FAIL 时,在 DeepSeek Harness 会话开头加一行提示,其他情况什么都不加。它跑的是 stack-guardian doctor --json --quiet,所以要在 harness 环境里把 STACK_GUARDIAN_NODES 指向你的节点文件。
它能做什么
1. doctor - 跑检查
用一个 JSON 文件描述你的节点(见 examples/nodes.json),然后实时检查:
stack-guardian doctor --nodes examples/nodes.json --ctx examples/ctx.json
--snapshot 和 --nodes 都不给时,doctor 会读 $STACK_GUARDIAN_NODES 指向的节点文件。
选项:--checks-dir DIR(你自己的规则,默认是随附的 checks.d)、--ctx FILE(规则设置,比如每个节点应持有的模型)、--state FILE(默认 $STACK_GUARDIAN_STATE 或 ~/.stack-guardian/state.json)、--json、--quiet(一切正常时不输出任何内容)。
退出码:0 全部 OK/INFO,1 出现 WARN,2 出现 FAIL,3 用法错误,4 doctor 自身崩溃。
随附规则:node.unreachable、ollama.unreachable、model.not_loaded、vram.unattributed、gpu.unavailable、tailnet.unavailable、tailnet.peer_offline、tailnet.relayed。每条规则对每个受影响的节点产生一条 finding。规则抛异常会变成 check.crashed WARN——有 bug 的规则绝不会误报整个 stack 出问题。
2. doctor --fix ID - 运行 finding 的类型化修复
规则可以给 finding 附加 fix={"action": ..., "args": {...}}。动作恰好有三种,绝不允许裸 shell 字符串:
| action | 做什么 | 需要 |
| unload_model | 向 Ollama 的 /api/generate POST keep_alive: 0 | node、url、model |
| restart_lane | 运行你为该 lane 声明的 argv 列表 | 在 --config 中声明的 lane |
| set_env | 把 NAME=value 写入 <state folder>/env,并为进程设置它 | name、value |
stack-guardian doctor --checks-dir examples/checks.d --snapshot examples/snapshot.json --fix ollama.stuck --config examples/lanes.json
这是试运行:只打印计划,不做任何改动。加上 --apply 才会真正执行。执行修复时,先把快照保存到 <state folder>/snapshots/,然后运行,再向 <state folder>/fixes.jsonl 追加一行 JSON(用 --audit FILE 可改路径)。set_env 的值绝不写入审计日志,只写它的长度。ID 是 finding 代码,多个节点抛出同一代码时用 code@node。带 --fix 时,退出码是修复本身的:0 计划成功或执行成功,1 被拒绝或失败,3 用法错误。
3. 其他命令
- stack-guardian snapshot --nodes FILE 打印规则读取的原始快照。
- stack-guardian-serve --nodes FILE [--port 8788] 在 GET /snapshot 提供最新快照(只读,默认绑定 loopback,除非你传 --host H --allow-remote),这样一台机器就能向另一台询问健康状况。
无认证:只绑定 localhost 或 tailnet IP。
- stack-guardian-mcp --nodes FILE [--ctx FILE] [--state FILE] [--ttl SECONDS]:见 For coding agents。
编写规则
from stack_guardian import finding as F
def ollama_up(snapshot, ctx):
if not snapshot["nodes"]["gpu-box"].get("reachable"):
return F.make_finding("ollama.unreachable", "missing", "FAIL", "gpu-box", "Ollama does not answer")
return None
CHECKS = [("ollama.up", ollama_up)]
把文件放进某个文件夹,让 --checks-dir 指向它。带修复的完整示例见 examples/checks.d/20_ollama_fix.py。规则也可以返回 finding 列表,每个节点一条。
示例
| file | what it is |
| examples/nodes.json | 三个节点:一个本地节点带 GPU,两个远程节点走 tailnet |
| examples/ctx.json | 规则设置:gpu-box-2 该持有哪个模型 |
| examples/snapshot.json | 一份离线快照,每条内置规则都会触发一次,用来试 doctor 和 --fix |
| examples/lanes.json | restart_lane 允许跑的 lane |
| examples/checks.d/20_ollama_fix.py | 自定义规则,它的发现结果自带修复方案 |
Test
pip install pytest
python -m pytest -q
CI 在 Ubuntu、Windows 和 macOS 上跑这套测试,Python 版本为 3.11,另外还会对每个纳入版本控制的文件做一次隐私扫描。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
LuminariSoftwares/stack-guardian
诊断本地 AI 栈卡顿原因并给出修复建议
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9