🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

任务急停 ningmengxr/dsh-task-control

DeepSeek Harnessv0.4.5
ningmengxr10 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 插件:pip/GitHub 下载卡死一键急停 + 下载进度检测 + 卡死识别 +…

32.2/100
综合分
3
GitHub 星标
870
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-task-control
npm 源 · dsh-task-control 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · market
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功(非静态推断);本次验证针对插件 v0.4.7,当前版本为 v0.4.5
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 10 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-task-control @ 0.4.5
✓Node 引擎要求 >=20.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 20:37:47

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 25 处,展示前 21 条)
  • 执行外部命令来自配置/变量
    lib/index.js:40
    result = spawnSync(
  • 读取本地文件
    lib/index.js:113
    const pkg = JSON.parse(readFileSync(join(PKG_DIR, "package.json"), "utf8"));
  • 发起网络请求
    lib/index.js:121
    const res = await fetch(NPM_LATEST_URL, { signal: AbortSignal.timeout(8e3) });
  • 写入本地文件
    lib/index.js:143
    mkdirSync(dst, { recursive: true });
  • 读取本地文件
    lib/index.js:144
    for (const name2 of readdirSync(src)) {
  • 读取本地文件
    lib/index.js:147
    if (lstatSync(s).isDirectory()) copyDir(s, d);
  • 写入本地文件
    lib/index.js:148
    else copyFileSync(s, d);
  • 读取本地文件
    lib/index.js:157
    isLink = lstatSync(PKG_DIR).isSymbolicLink();
  • 发起网络请求
    lib/index.js:173
    const dlRes = await fetch(latest.tarball, { signal: AbortSignal.timeout(3e4) });
  • 写入本地文件
    lib/index.js:180
    mkdirSync(tmp, { recursive: true });
  • 写入本地文件
    lib/index.js:181
    writeFileSync(join(tmp, "pkg.tgz"), tgz);
  • 执行外部命令来自配置/变量
    lib/index.js:183
    const tar = spawnSync(tarExe, ["-xzf", join(tmp, "pkg.tgz"), "-C", tmp], { timeout: 2e4 });
  • 删除本地文件递归
    lib/index.js:186
    rmSync(tmp, { recursive: true, force: true });
  • 读取本地文件
    lib/index.js:190
    if (!existsSync(join(pkgSrc, "package.json"))) {
  • 删除本地文件递归
    lib/index.js:192
    rmSync(tmp, { recursive: true, force: true });
  • 删除本地文件递归
    lib/index.js:196
    rmSync(backupDir, { recursive: true, force: true });
  • 写入本地文件
    lib/index.js:197
    mkdirSync(backupDir, { recursive: true });
  • 读取本地文件
    lib/index.js:198
    for (const name2 of readdirSync(PKG_DIR)) {
  • 写入本地文件
    lib/index.js:201
    else copyFileSync(join(PKG_DIR, name2), join(backupDir, name2));
  • 删除本地文件递归
    lib/index.js:204
    rmSync(join(PKG_DIR, name2), { recursive: true, force: true });
  • 删除本地文件递归
    lib/index.js:208
    rmSync(tmp, { recursive: true, force: true });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 一键急停下载卡死
  • 下载进度检测
  • 卡死识别
展开完整介绍(118 字)↓

DeepSeek Harness 插件:pip/GitHub 下载卡死一键急停 + 下载进度检测 + 卡死识别 + 隐形追加条件。Emergency stop for stuck pip/GitHub downloads in DSH.

v0.4.72026-10-24
· dsh-task-control v0.4.7 DeepSeek Harness 任务控制插件:卡死检测与强制终止、下载进度监控、一键急停、追加条件/暂停/恢复、pwsh 运行状态检测。 · v0.4.7 更新(DSH 0.2.1 验收补测) · 在完全隔离的一次性 DSH Profile 中,于 DSH 0.2.1-rc.2 补跑完整五步验收:install → start → 功能验收 → uninstall → rollback,全部通过(证据:docs/acceptance-0.2.1.md)。 · dsh.compatibility.dshOperations["0.2.1-rc.2"] 的 uninstall / rollback 由 unknown 更新为 passed(此前只验证过 install / start)。 · 已知边界(与 0.1.6 一致):link: 协议安装的插件在 remove 后,node_modules 中的符号链接会残留(功能无影响 —— bundle 层移除即不加载,实测路由 405→404)。 · 开发机真实 ~/.dsh 全程未被触碰,运行中的 3080 实例全程保持运行。 · 各版本操作证据 | DSH 版本 | install | start | uninstall | rollback | |---|---|---|---|---| | 0.1.1-rc.2 | passed | passed | unknown | unknown | | 0.1.6-alpha.1 | passed | passed | passed | passed | | 0.2.1-rc.2 | passed | passed | passed | passed | 未实测的项一律保持 unknown,不做虚假声明。 · 安装 dsh plugin --profile web add dsh-task-control 或下载 dsh-task-control-v0.4.7.zip 解压到 ~/.dsh/profiles/node_modules/ 并在 profile 的 cordis.patch.yml 注册。 重启 DSH 后:输入框旁出现三个按钮(急停 / 拍一下deepseek / 追加条件),设置项在 设置 → 通用设置 → 任务控制。 · 其他 GitHub: Gitee: npm:npm install dsh-task-control
v0.4.62026-10-24
· dsh-task-control v0.4.6 DeepSeek Harness 任务控制插件:卡死检测与强制终止、下载进度监控、一键急停、追加条件/暂停/恢复、pwsh 运行状态检测。 · v0.4.6 更新(DSH 0.2.1 适配) · 修复 0.2.x 上「追加条件」失败:DSH 0.2 的会话格式 v4 要求 producer-owned source kind,通用 kind: 'plugin' 会被拒绝(format v4 message requires a producer-owned source kind)。插件来源消息改为 kind: 'plugin:dsh-task-control'(保留 plugin 字段,使 0.1.x 退化为通用显示而非报错)。 · 兼容范围放开:dsh.compatibility.dsh:>=0.1.0-rc.8 =0.1.0-rc.8 ) 3. 在 profile 的 cordis.patch.yml 注册(或用 dsh plugin add 自动写入 bundles): · insert: - id: task-control name: 'dsh-task-control' 4. 重启 DSH;三个按钮出现在输入框旁,设置项在 设置 → 通用设置 npm:npm install dsh-task-control(0.4.6) · 其他 GitHub: Gitee: npm:npm install dsh-task-control
v0.4.52026-09-27
· dsh-task-control v0.4.5 DeepSeek Harness 任务控制插件:卡死检测与强制终止、下载进度监控、一键急停、追加条件/暂停/恢复、pwsh 运行状态检测。 · v0.4.5 更新(生态元数据规范化 · DSH STORE 契约) · 补齐 manifest 字段:repository / homepage / bugs / engines.node,并声明 dsh.compatibility(DSH 兼容范围、逐版本状态 dshReleases、操作证据 dshOperations)。 · 新增 LICENSE(MIT,与 manifest 的 license 一致)与 SECURITY.md(权限、数据流、失败边界完整披露)。 · dsh.permissions 显式声明:files / network / commands = true,credentials = false(插件不读取、不存储、不外传任何凭据)。 · README 新增「🔐 权限与已知风险」章节,并修正设置位置描述(插件页 → 通用设置)。 本插件属于高能力插件(命令执行 / 文件读写 / 网络访问),因此按 DSH STORE 契约属于 user-reviewed(用户确认式安装)类别,而非自动 source-verified。权限与边界已在 README / SECURITY.md 中完整披露。 · 安装 1. 下载 dsh-task-control-v0.4.5.zip 解压 2. 把 dsh-task-control 文件夹放到 ~/.dsh/profiles/node_modules/ 下 3. 在 ~/.dsh/profiles//cordis.patch.yml 注册: · insert: - id: task-control name: 'dsh-task-control' 4. 重启 DSH,输入框旁出现三个按钮;设置项在 设置 → 通用设置 npm 方式:npm install dsh-task-control · 其他 GitHub: Gitee: npm:npm install dsh-task-control
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-task-control —— 下载卡死急停 + 任务健康检测 DeepSeek Harness 插件:pip / GitHub 下载卡到怀疑人生?网络超时停不下来?一键急停 + 下载进度检测 + 卡死识别 + 隐形追加条件。 在国内网络环境下,从 pip / GitHub 下载大文件(torch、ffmpeg、插件包…)卡顿、超时是家常便饭。DSH 原生的「停止」和任务暂停会被排在卡住的下载命令后面无法生效——任务既下不完、也停不掉。这个插件补上了缺口: | 按钮 | 作用 | | 🔴 急停 | 一键强制终止当前任务(杀进程 + 停止会话),下载/安装卡住时随时可停,带防误触确认(勾选“了解丢失进度”才能点确认) | | 拍一下deepseek(检测) | 一键检查任务状态:出错 / 疑似卡死(工具调用超 10 分钟未返回)/ 运行中 / 健康 | | 追加条件 | 任务运行中追加补充条件(先中止 → 弹窗输入 → 带条件隐形重跑) | ✨ 核心亮点 1. 下载卡死「急停」—— 为国内网络环境而生 - pip(pip install torch 等 2.5GB 大包)、GitHub(大文件下载)、curl 下载卡住/超时时,原生的停止按钮和暂停都被排在卡住的工具返回值后面,毫无反应;
展开完整文档(README 剩余 1 节)
dsh-task-control —— 下载卡死急停 + 任务健康检测

DeepSeek Harness 插件:pip / GitHub 下载卡到怀疑人生?网络超时停不下来?一键急停 + 下载进度检测 + 卡死识别 + 隐形追加条件。

在国内网络环境下,从 pip / GitHub 下载大文件(torch、ffmpeg、插件包…)卡顿、超时是家常便饭。DSH 原生的「停止」和任务暂停会被排在卡住的下载命令后面无法生效——任务既下不完、也停不掉。这个插件补上了缺口:

| 按钮 | 作用 |
| 🔴 急停 | 一键强制终止当前任务(杀进程 + 停止会话),下载/安装卡住时随时可停,带防误触确认(勾选“了解丢失进度”才能点确认) |
| 拍一下deepseek(检测) | 一键检查任务状态:出错 / 疑似卡死(工具调用超 10 分钟未返回)/ 运行中 / 健康 |
| 追加条件 | 任务运行中追加补充条件(先中止 → 弹窗输入 → 带条件隐形重跑) |

✨ 核心亮点

1. 下载卡死「急停」—— 为国内网络环境而生
- pip(pip install torch 等 2.5GB 大包)、GitHub(大文件下载)、curl 下载卡住/超时时,原生的停止按钮和暂停都被排在卡住的工具返回值后面,毫无反应;
- 点「急停」→ 宿主直接按命令特征找到并杀掉卡住的下载进程 → 任务立即停止,换源重来;
- 防误触:先弹警告“急停会导致下载任务丢失,重新启动后需要全部重新下载”,勾选后才能点确认。

2. 下载中检测—— 不再“疑似卡死”误报
- 检测到正在执行下载/安装命令时,无论是否超时都先查实际状态:
- curl 类(有输出文件)→ 显示真实进度百分比(如 正在下载 ffmpeg-release-essentials.zip,进度 42%);
- pip 类(无输出文件)→ 明确提示“正在下载,无法计算进度,请耐心等待”,绝不显示误导性的假进度;
- 下载进程已退出 → 提示“下载出现异常中断” + 可强制终止。

3. 卡死识别 + 强制终止
- 非下载类工具调用超过 10 分钟未返回 → 提示“疑似卡死:工具 X 已运行 N分N秒”;
- 检测弹窗内可直接强制终止(杀进程,session.cancel 对此无能为力)。

4. 隐形追加条件(无用户气泡)
- 「追加条件」的恢复/条件消息经宿主通道以插件来源消息注入会话:模型照常执行,但聊天界面只显示一条低调的上下文提示行——没有“继续”、没有“补充条件…”气泡,体验干净利落。

安装

1. lib/ 已包含构建产物(lib/index.js 宿主半 + lib/client.js 客户端 bundle)。将插件包放入 DSH 的 profile node_modules:
- 直接拷贝到 ~/.dsh/profiles/node_modules/dsh-task-control/,或
- 建立 junction 链接到本目录(本地开发常用)。
2. 在 ~/.dsh/profiles/web/cordis.patch.yml 中插入插件条目:

- insert:
- id: task-control
name: 'dsh-task-control'

3. 重启 DSH web,硬刷新(Ctrl+Shift+R)页面。

宿主半挂载 /dsh-task-control/resume、/dsh-task-control/kill、/dsh-task-control/download-status 三条路由(loopback Host 校验),浏览器端同源 fetch 调用;客户端 bundle 按 window.__ModuleLoader__ 契约加载。

自定义文案

设置 → 通用设置 → 任务控制(6 项):

- 急停按钮文案(默认 急停)
- 检测按钮文案(默认 拍一下deepseek)
- 追加条件按钮文案(默认 追加条件)
- 检测·无异常输出(默认 任务正常,无异常)
- 检测·出错输出(默认 任务出错:{error},{error} 会替换为错误信息)
- 检测·运行中输出(默认 任务正在运行中,暂未出错)

🔐 权限与已知风险 / Permissions & risks

本插件属于高能力插件(会执行命令、读写文件、发起网络请求),请知悉后再安装。完整披露见 SECURITY.md。

| 权限 | 用在哪里 | 边界 |
| 命令执行 | 急停/强制终止:按命令行特征结束卡死的下载/安装进程(Windows taskkill,POSIX kill) | 只针对运行中且命令行匹配的调用;匹配不到时仅发送会话取消(等于内置“停止”),不盲目杀进程 |
| 文件读写 | ① 只读下载输出文件的大小/时间以显示真实进度;② 自动更新时替换插件自身的 lib/;③ 文案设置存浏览器 localStorage | 只读业务文件;写入仅限插件自身目录与浏览器本地 |
| 网络访问 | ① 宿主路由 /dsh-task-control/*(仅 loopback);② 自动更新查询 npm registry | 不做公网暴露;无遥测、无数据上报 |
| 凭据 | 不使用 | 不读取/不存储/不外传任何 token、密码、Cookie 或密钥 |

已知风险与失败边界

- 急停会终止当前任务:未完成的下载/安装需要重新开始(按钮带二次确认防误触)。
- 需要宿主 webServer / agents 服务:不可用时自动降级为“可见消息”恢复,不影响 DSH 本体。
- 自动更新会替换插件自身 lib/(下次启动生效);开发模式(junction/symlink 安装)自动跳过。

构建

node build.mjs

生成 lib/index.js(宿主半,ESM、零外部依赖)与 lib/client.js(客户端 bundle,__ModuleLoader__ 契约、外部模块走 require())。

目录结构

├── src/
│ ├── index.ts # 宿主半:resume / kill(急停杀进程)/ download-status(下载进度)路由 │ └── client/ │ ├── index.ts # 客户端插件入口(插槽注册) │ ├── buttons.tsx # 急停 / 检测 / 追加条件按钮 + 弹窗(含急停防误触确认) │ ├── SettingsCard.tsx # 设置卡 │ └── settings.ts # 文案设置存储(localStorage) ├── lib/ # 构建产物(index.js / client.js) ├── build.mjs # esbuild 构建脚本 ├── cordis.patch.yml # 安装 patch(按包名解析) ├── cordis.dev.patch.yml # 本地开发覆盖层(直接加载 src/index.ts) ├── DESIGN.md # 设计文档 └── 功能验证测试清单.txt # 打断测试 / 功能验证清单

References / 相关资源

- 官方反馈帖(问题缘起):task stuck in download/install cannot be stopped — session.cancel queued behind tool return value(GitHub Discussions #3400,含官方开发者对 session.cancel 语义与跨重启恢复机制的分析)
- DSH Harness Handbook(社区资深成员维护):Stop a DeepSeek Harness tool that will not cancel —— 基于上述反馈整理的手册专题:cancel accepted ≠ tool stopped,含证据时间线、实时遏制流程、重启语义与十二个修复门

License

MIT
预览分享卡片长什么样 ↓ningmengxr/dsh-task-control
分享 · DeepSeek Harness Hub
ningmengxr/dsh-task-control

DeepSeek Harness 插件:pip/GitHub 下载卡死一键急停 + 下载进度检测 + 卡死识别 +…

这是你的仓库?认领条目

回到顶部