← 返回列表
未验证
自动挑最空闲显卡,跑命令与后台训练任务
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档
DeepSeek Harness 的 GPU 感知执行层:gpu_status / gpu_exec / gpu_run_bg 工具、自动卡选择、每步 GPU 上下文
综合分
28.3
GitHub 分
28.3
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zytsyj/dsh-gpu该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-jobs@deepseek-ai/dsh-llm@deepseek-ai/dsh-shell@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-gpu 面向 DeepSeek Harness(dsh)的 GPU 感知执行层。树外插件;无需对 harness 打补丁。 Agent 可获得三个工具——gpu_status、gpu_exec、gpu_run_bg——外加可选的每步 GPU 上下文行。显卡会自动选择(最空闲优先),并在命令环境中设置 CUDA_VISIBLE_DEVICES;如果你在意,可以显式指定某张卡。 8 GPU(s), free: [0,1,2,3,4,5,6,7] GPU0 Tesla V100-SXM2-32GB: 4264/32768MiB 0%util 40C ... [gpus 1 — GPU 1 (auto: freest 1)] exit 0 工作原理 - gpu_status——一次查询,覆盖所有设备:已用/总显存、SM 利用率、温度,以及空闲/忙碌判定。当显存使用率达到或超过 80% 或利用率达到或超过 50% 时,设备即视为忙碌(两者均可配置)。 - gpu_exec——在选定显卡上执行一次性命令:CUDA_VISIBLE_DEVICES= 会通过挂载的 ctx.shell 执行器环境传入。可自动选择或通过 gpuIndex 指定;可为多 GPU 命令选择 count 张卡。 - gpu_run_bg——长时间运行的 GPU 任务(训练、推理服务、基准测试)会在 ctx.jobs 中注册为 gpu 作业:立即返回作业 id,用 job_output 读取,用 job_kill 停止。 - 每步上下文(可选,默认开启)——向符合条件的步骤注入一行 GPU 快照(time-context 模式),限速为每分钟一次采样。 所有执行都经由挂载的 shell 执行器。无论是本地主机,还是任何远程执行环境(例如 SSH 提供方插件)——dsh-gpu 不关心 GPU 在哪里;它通过 bash 工具所用的同一接缝进行查询和启动。 安装 dsh-gpu 是一个树外包插件。使用官方插件命令在 profile 中安装并激活它: dsh plugin --profile add dsh-gpu 该包自带的 cordis.patch.yml 会自动注册插件。若要覆盖其配置,请在 profile 的 cordis.patch.yml 中添加一个具有相同 id 的条目: - insert: - id: gpu name: dsh-gpu config: stepContext: true 加载顺序注意事项:请将其放在你的执行环境插件(例如 SSH 提供方)之后,这样它查询的 shell 接缝才是你期望的那个。 配置 - id: gpu name: dsh-gpu config: stepContext: true # per-step GPU snapshot line (default true) refreshIntervalMs: 60000 # min spacing between injected snapshots queryTimeoutMs: 10000 # nvidia-smi timeout busyMemoryPct: 80 # >= this % memory used => busy busyUtilPct: 50 # >= this % SM util => busy 注意事项与坑 - nvidia-smi 会忽略 CUDA_VISIBLE_DEVICES——它始终报告物理索引。gpu_exec 的选择对 CUDA 程序仍然按预期工作;只是不要在 gpu_exec 内部用 nvidia-smi 的输出来验证绑定。 - 选择是建议性的,而非预留:两个并发的 agent 仍可能选中同一张卡。如需独占占用,请在同一步中通过 gpu_status 读取并固定 gpuIndex。 - gpu_run_bg 需要在组合中包含 jobs 服务(@deepseek-ai/dsh-jobs + @deepseek-ai/dsh-tool-jobs),与后台 bash 具有相同的依赖。 - 没有 NVIDIA GPU 的主机:gpu_status 会报告干净的 no-gpu 结果,而不是失败。 开发 pnpm install pnpm typecheck # tsc --noEmit pnpm test # vitest unit and plugin lifecycle tests pnpm build # tsdown -> lib/ pnpm check:package # publint + Are the Types Wrong node tests/live-v100.mjs # optional live probe (edit SSH target first) 测试夹具记录自一台真实的 8× Tesla V100-SXM2-32GB 主机(包括一张被占用的卡)——未对 nvidia-smi 输出格式进行任何模拟。 许可证 MIT
扫码进群