dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek Harness 任务控制:卡死的下载与工具调用一键急停与强制终止、下载进度、卡死识别、pwsh 运行状态检测,以及追加条件/暂停/恢复(恢复指令隐形注入,不打扰聊天)。
DeepSeek Harness 插件:pip / GitHub 下载卡到怀疑人生?网络超时停不下来?一键急停 + 下载进度检测 + 卡死识别 + 隐形追加条件。
在国内网络环境下,从 pip / GitHub 下载大文件(torch、ffmpeg、插件包…)卡顿、超时是家常便饭。DSH 原生的「停止」和任务暂停会被排在卡住的下载命令后面无法生效——任务既下不完、也停不掉。这个插件补上了缺口:
按钮 · 作用 🔴 急停 · 一键强制终止当前任务(杀进程 + 停止会话),下载/安装卡住时随时可停,带防误触确认(勾选"了解丢失进度"才能点确认) 拍一下deepseek(检测) · 一键检查任务状态:出错 / 疑似卡死(工具调用超 10 分钟未返回)/ 运行中 / 健康 追加条件 · 任务运行中追加补充条件(先中止 → 弹窗输入 → 带条件隐形重跑)
pip install torch 等 2.5GB 大包)、GitHub(大文件下载)、curl 下载卡住/超时时,原生的停止按钮和暂停都被排在卡住的工具返回值后面,毫无反应;正在下载 ffmpeg-release-essentials.zip,进度 42%);session.cancel 对此无能为力)。lib/ 已包含构建产物(lib/index.js 宿主半 + lib/client.js 客户端 bundle)。将插件包放入 DSH 的 profile node_modules:~/.dsh/profiles/node_modules/dsh-task-control/,或~/.dsh/profiles/web/cordis.patch.yml 中插入插件条目:- insert:
- id: task-control
name: 'dsh-task-control'宿主半挂载/dsh-task-control/resume、/dsh-task-control/kill、/dsh-task-control/download-status三条路由(loopback Host 校验),浏览器端同源 fetch 调用;客户端 bundle 按window.__ModuleLoader__契约加载。
设置 → 通用设置 → 任务控制(6 项):
急停)拍一下deepseek)追加条件)任务正常,无异常)任务出错:{error},{error} 会替换为错误信息)任务正在运行中,暂未出错)本插件属于高能力插件(会执行命令、读写文件、发起网络请求),请知悉后再安装。完整披露见 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 # 打断测试 / 功能验证清单session.cancel 语义与跨重启恢复机制的分析)MIT