精选
为什么选中它
待人工精选——以下事实来自源码仓库。
它能做什么
DSH web plugin: 下载进度面板(AI 产物)
适合谁
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
风险提示
- 未发现明显风险信号;安装前仍建议查看源码。
DSH web plugin: 下载进度面板(AI 产物)
待人工精选——以下事实来自源码仓库。
DSH web plugin: 下载进度面板(AI 产物)
想用 DSH 获得这项能力的用户;装前建议先看源码和文档。
dsh plugin --profile web add github:Fro2en12/dsh-download-progress 作者没有声明支持的平台。
download_url 工具。curl 后台执行,HEAD 预取 Content-Length 得到真实百分比;可在面板单独取消 | | shell 下载追踪 | 💻 | 自动解析 pwsh/bash 工具命令中的 curl -o / Invoke-WebRequest -OutFile / wget -O,提取目标路径与 URL(含 HEAD 总大小)。小于 64 KB 的响应静默忽略 | | SSH 传输追踪 | ⇩ / ⇧ | 自动追踪 ssh_download(字节/速度实时增长)与 ssh_upload(不定进度 + 源文件大小) | | 黑箱下载监控 | 📥 | 每 1.5s 扫描 workspaceRegistry 中全部工作区的顶层:任何增长 ≥64 KB 的文件或新目录(git clone、BITS、变量路径下载等)都会被捕捉,最多并发追踪 3 个 | | 拖拽面板 | — | 胶囊按钮与面板均可拖动(视口内自动夹取)、↺ 一键复位;拖动与点击严格分离,不会误触 | 模型工具: - download_url — 后台下载 URL 到工作区(dest 省略时按 URL 文件名存到工作区根目录,目标目录需已存在) - download_status — 查询所有任务实时进度 ## 安装 ### 方式一:DSH 插件市场(推荐) GUI 内打开插件市场,搜索 dsh-download-progress,一键安装。 ### 方式二:dsh plugin add sh dsh plugin --profile web add https://github.com/Fro2en12/dsh-download-progress ### 方式三:手动挂载 sh git clone https://github.com/Fro2en12/dsh-download-progress # 编辑 profiles/web/cordis.patch.yml,在 plugins 后追加: # - insert: # - id: dsh-download-progress # name: 'dsh-download-progress' 安装后重启 dsh web,右下角出现 ⬇ 下载 胶囊按钮即成功。 ## 使用说明 - 手动下载:点击胶囊展开面板,粘贴 http(s) 链接,可选填保存路径(绝对路径,或相对工作区根目录),回车或点「下载」; - 自动追踪:无需任何操作——agent 的 ssh_download/ssh_upload、pwsh/bash 里的 curl/iwr/wget、以及工作区中任何增长中的文件都会自动出现在列表; - 取消:仅面板发起的 URL 下载可取消;SSH/shell 传输请中断对应工具调用; - 清理:✕ 移除单条记录,清除 清空全部已完成/失败记录;完成记录 10 分钟后自动回收(上限 40 条)。 ## 架构 lib/index.js Host 半部分(ESM,注入 webServer/timer) ├─ /api/download-progress/* 面板 RPC(state/download/cancel/dismiss/clear-finished) ├─ 工具注册 download_url / download_status(ctx.tools.register) ├─ tools/execute|result 追踪 ssh_* 与 pwsh/bash 下载 ├─ 轮询引擎(400ms) 文件大小采样 → 字节/速度/百分比/ETA + 静止判定 └─ 工作区扫描(1500ms) 黑箱文件增长监控 lib/client.js Client 半部分(AMD bundle,注入 slots) ├─ shell.overlay 注册 右下角浮窗(可拖拽) └─ fetch 轮询 500ms(面板展开)/ 2000ms(收起)刷新状态 ### 关键机制与阈值 | 机制 | 说明 | |---|---| | 百分比 | 下载前 HEAD 请求解析 Content-Length;无总大小的任务显示字节+速度与流动进度条 | | 速度 | 相邻采样差分,0.6·旧 + 0.4·瞬时 平滑 | | 完成判定(shell) | 工具结束后文件大小连续稳定约 4s(10 个采样)才判完成;30s 兜底。防止后台任务/网络抖动被提前误判 | | 完成判定(黑箱) | 连续 3 次扫描无增长 | | 最小展示阈值 | shell 下载 <64 KB 静默不显示;黑箱增长 ≥64 KB 才上榜 | | 并发上限 | 黑箱任务最多 3 个;总记录上限 40 条,完成 10 分钟后回收 | | 生命周期 | 所有监听/轮询/路由/工具注册随插件 Fiber 卸载;停止插件会终止仍在运行的 curl 进程树 | ## 已知限制 - 下载引擎依赖 curl(Windows 10+ 自带;Linux/macOS 一般内置);目标目录必须已存在; - 无 Content-Length 的服务器(分块传输)只显示字节/速度,无百分比; - 命令中的变量路径($env:...、拼接变量)无法解析时由黑箱监控兜底,不提供百分比; - 上传任务无法观测远端写入量,仅显示不定进度; - 黑箱监控只扫描工作区顶层与新建目录(深度遍历按需进行,每个目录最多统计 500 个文件),嵌套在既有深层目录中的下载可能不被捕捉。 ## 开发 无需构建:lib/index.js(ESM)与 lib/client.js(AMD bundle)即发布形态。 sh node --check lib/index.js # host 语法检查 ## License MIT不看 Star,人工一条条挑的。
把 DSH 的 settings.yaml 做成可视化看板:所有已注册的 settings namespace——包括官方界面从未覆盖的第三方插件配置——都渲染成可编辑表单。项目还早,但方向很对:告别手改 YAML。
给 DSH 的 DIY 轨迹可视化:把 agent 的计划与执行画成图,不用翻原始日志也能看清它在干嘛。项目还早,但补上了「一眼看懂 agent 在做什么」这个真实缺口。
从 Claude Code / Codex 把活派给 DSH:在宿主内拉起带分级预设的 DSH agent 会话,看原生子代理进度,还能借它的多模态桥给纯文本的 DSH 补上视觉和生图。编排型插件,把 DSH 变成其他编码 agent 的后端。