在本机 NVIDIA GPU 上跑 Python 计算并跟踪任务
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Void-LifeStream/dsh-cuda该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 30 处,展示前 19 条)
- 写入本地文件lib/entry.js:45
return mkdir(join(dir, 'gpu-runs'), { recursive: true }) - 写入本地文件lib/entry.js:46
.then(() => appendFile(file, `${new Date().toISOString()} ${line}\n`, 'utf8')) - 读取本地文件lib/entry.js:101
content: stripFrontmatter(await readFile(locator, 'utf8')), - 读取本地文件lib/engine.js:41
if (existsSync(candidate)) found.push(candidate); - 读取本地文件lib/engine.js:53
for (const guess of guesses) if (existsSync(guess)) found.push(guess); - 读取本地文件lib/engine.js:66
const parsed = JSON.parse(readFileSync(join(dshHome(), 'cuda.json'), 'utf8')); - 读取本地文件lib/engine.js:257
if (!existsSync(this.pythonPath)) { - 读取本地文件lib/engine.js:266
if (existsSync(candidate)) return candidate; - 读取本地文件lib/engine.js:282
if (!existsSync(path)) { - 写入本地文件lib/engine.js:376
await mkdir(dir, { recursive: true }); - 写入本地文件lib/engine.js:384
await writeFile(scriptPath, await readFile(source, 'utf8'), 'utf8'); - 写入本地文件lib/engine.js:386
await writeFile(scriptPath, String(code), 'utf8'); - 写入本地文件lib/engine.js:389
await writeFile(runnerPath, RUNNER_SOURCE, 'utf8'); - 写入本地文件lib/engine.js:390
await writeFile(join(dir, 'stdout.log'), '', 'utf8'); - 写入本地文件lib/engine.js:391
await writeFile(join(dir, 'stderr.log'), '', 'utf8'); - 执行外部命令来自配置/变量lib/engine.js:445
const child = spawn(job.record.python, [job.runnerPath, job.scriptPath, join(job.dir, 'result.json'), ...(job.record.args ?? [])], { - 执行外部命令来自配置/变量lib/engine.js:520
const child = spawn(job.record.python, [job.runnerPath, job.scriptPath, join(job.dir, 'result.json'), ...(job.record.args ?? [])], { - 执行外部命令固定命令lib/engine.js:541
spawn('taskkill.exe', ['/PID', String(pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' }); - 执行外部命令来自配置/变量lib/engine.js:746
const child = spawn(exe, args, {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
在本地 CUDA GPU 上跑 Python,由 DeepSeek Harness 驱动:设备状态、前台与后台任务、持久日志,每次运行还给出实测峰值显存。
README
由 DeepSeek 最新模型翻译生成dsh-cuda
让 DSH 里的 agent 直接用本机 NVIDIA CUDA GPU 跑 Python 计算:数值模拟、矩阵运算、蒙特卡洛、参数扫描、训练小模型,以及任何本该并行却挤在 CPU 上的活。
2026-10-15 落地。含三个工具 + 一份技能(skills/cuda-compute/SKILL.md)。
不挑卡:任何 CUDA-capable 的 NVIDIA GPU 都能用(型号 / 显存 / 算力由 cuda_status 实时报告,不写死在文档里)。文档里出现的 RTX 4090 数字是作者机器的实测样本,不是要求。
它给你什么
| 名称 | 作用 |
| cuda_status | 显存 / 利用率 / 占着显存的进程 / 本机所有带 CUDA 的 Python / 最近任务 |
| cuda_run | 提交 Python 代码或 .py 文件在 GPU 上跑(前台或后台) |
| cuda_job | 跟踪一个任务:logs / wait / kill / info |
| 技能 cuda-compute | 本机 CUDA 地形、写法要点、踩过的坑 —— 模型按需加载 |
展开完整文档(README 剩余 1 节)
dsh-cuda 让 DSH 里的 agent 直接用本机 NVIDIA CUDA GPU 跑 Python 计算:数值模拟、矩阵运算、蒙特卡洛、参数扫描、训练小模型,以及任何本该并行却挤在 CPU 上的活。 2026-10-15 落地。含三个工具 + 一份技能(skills/cuda-compute/SKILL.md)。 不挑卡:任何 CUDA-capable 的 NVIDIA GPU 都能用(型号 / 显存 / 算力由 cuda_status 实时报告,不写死在文档里)。文档里出现的 RTX 4090 数字是作者机器的实测样本,不是要求。 它给你什么 | 名称 | 作用 | | cuda_status | 显存 / 利用率 / 占着显存的进程 / 本机所有带 CUDA 的 Python / 最近任务 | | cuda_run | 提交 Python 代码或 .py 文件在 GPU 上跑(前台或后台) | | cuda_job | 跟踪一个任务:logs / wait / kill / info | | 技能 cuda-compute | 本机 CUDA 地形、写法要点、踩过的坑 —— 模型按需加载 | 每次运行都有独立目录(~/.dsh/gpu-runs/<时间戳-随机>),里面是脚本副本、stdout.log、 stderr.log、job.json 和 result.json;result.json 由包装器写入,含实测峰值显存、耗时、退出码 —— 所以工具返回的显存数字是量出来的,不是估的。脚本可以读环境变量 DSH_CUDA_JOB_DIR 把产物写进这个目录,工具会自动列出来。 设计上值得知道的五件事 1. 前台超时不杀任务,而是转为后台。 跑了几小时的仿真不该因为调用方停止等待就被销毁。 返回里会带 status: running 和一句 note,接着用 cuda_job 跟就行。显式取消才会真的杀。 2. 后台任务是 detached 的,DSH 重启不会带走它们。代价是"遗留任务"要靠 cuda_status 才发现 ——这是有意的:长算力不该被 UI 生命周期牵着走。 3. 后台任务的状态由 result.json 兜底判定。 没有父进程替它记录退出码,所以 PID 消失后读事实表:有就是 done/failed,没有才是 lost。 4. 技能通过 borrowed provider 注册(与 dsh-univer-office 同款):catalog 只存摘要, 每次加载重读文件,所以改技能正文不需要重启、也不需要缓存失效。 技能注册是软依赖 —— 就算部署里没有 ctx.skills,三个工具照常工作。 5. 引擎不 import 任何 DSH 包(lib/engine.js),三套自测都能用普通 Node 直接跑, 不需要重启 DSH(共 108 项): $node = "$env:USERPROFILE\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\node\bin\node.exe" & $node "E:\DeepSeek Harness\Infrastructure\dsh-cuda\test\selftest.mjs" # 引擎 35 项(真机 GPU) & $node "E:\DeepSeek Harness\Infrastructure\dsh-cuda\test\harness.mjs" # 插件 45 项(mock ctx 驱动 apply) & $node "E:\DeepSeek Harness\Infrastructure\dsh-cuda\test\lossless.mjs" # 返回值合规 28 项 ⚠️ lossless.mjs 不是凑数的:DSH 要求工具返回值是无损 JSON(visitJsonValue 拒 undefined / NaN / -0 / 类实例 / 数组空洞 / 循环引用),而首轮真机调用正是死在一个 gpuError: undefined 上 —— mock 测试测不出这条,所以它被单独复刻成测试。改任何工具的返回值之后都要跑它。 安装 包放在工作区(不要建在 $DSH_HOME 下,也不要手改 profile 的 package.json / cordis.patch.yml ——那是 DSH 自带技能 cordis-plugin-development 明确劝阻的做法): plugin_manager action: install_bundle target: E:\DeepSeek Harness\Infrastructure\dsh-cuda install_bundle 会替你写 profile 的依赖与 bundle 清单并跑 pnpm。host 插件需要重启 DSH 才加载。 配置(可选) 在 profile 的 cordis.patch.yml 里覆盖(或经 GUI 的插件详情页): - id: dsh-cuda config: pythonPath: 'F:\ComfyUI\ComfyUI-aki-v3.2\python\python.exe' # 留空 = 自动挑第一个可用候选 pythonCandidates: [] # 追加候选解释器 runsDir: '' # 默认 ~/.dsh/gpu-runs defaultTimeoutMs: 300000 # 前台预算(超了转后台) maxTimeoutMs: 1800000 # 前台预算上限 maxOutputChars: 12000 # 每次回给模型的输出上限 作者机器的实测样本(2026-10-15) 下面是样本,不是要求 —— 你的机器请以 cuda_status 的输出为准。 - RTX 4090 / 24564 MiB / sm_89,驱动 617.42;fp32 matmul 实测约 58 TFLOPS - 可用解释器:ComfyUI 的 python 3.13.11 + torch 2.13.0+cu130(另有 numba / triton / scipy / sklearn), SD WebUI 的 python 3.11.9 + torch 2.7.0+cu128(另有 jax / pandas) - 没有 nvcc、没有 CUDA Toolkit、没有 cupy —— 写 CUDA C++ 才需要 toolkit; ⚠️ numba.cuda 在本机用不了(libNVVM cannot be found,libNVVM 随 Toolkit 分发,且 numba 0.61+ 已把 CUDA 拆到独立的 numba-cuda 包)—— 写自定义 kernel 用 triton(3.5.1,自带 LLVM/ptxas,实测 map/zip/guard/2D/broadcast/blocks/dot/softmax 八种写法全通,模板见 cuda-probe\gpu-puzzles\triton_puzzles.py;那套 srush/GPU-Puzzles 的官方 grader 因为依赖 numba 在本机跑不了,这份就是把题目翻译成 triton 版的产物) - DSH 捆绑的 Python 只有 numpy/pandas,没有 torch 许可 MIT。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Void-LifeStream/dsh-cuda
在本机 NVIDIA GPU 上跑 Python 计算并跟踪任务
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,798已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,327已汉化DSH
71.5
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,021已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 150,724已汉化DSH
71.1