把 aria2 下载进度搬进侧边栏,实时看速度与剩余时间
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add BeiWay1145/dsh-sidebar-downloads该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 48 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-sidebar-downloads(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/30 15:17:31
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 16 处,展示前 16 条)
- 发起网络请求lib/index.js:31
const res = await fetch(aria2RpcUrl(), { - 读取本地文件lib/index.js:92
entries = readdirSync(TASKS_DIR); - 读取本地文件lib/index.js:101
const obj = parseRecord(readFileSync(join(TASKS_DIR, name), "utf8")); - 读取本地文件lib/index.js:167
return statSync(path).size; - 读取本地文件lib/index.js:213
outPath = JSON.parse(readFileSync(file, "utf8")).outPath ?? ""; - 执行外部命令固定命令lib/index.js:218
execFile("explorer.exe", ["/select," + outPath], { windowsHide: true }, () => { - 删除本地文件lib/index.js:226
unlinkSync(file); - 发起网络请求lib/client.js:32
const res = await fetch(API_PREFIX + path); - 发起网络请求src/client/api.ts:56
const res = await fetch(API_PREFIX + path) - 发起网络请求src/index.ts:159
const res = await fetch(aria2RpcUrl(), { - 读取本地文件src/index.ts:277
entries = readdirSync(TASKS_DIR); - 读取本地文件src/index.ts:289
const obj = parseRecord(readFileSync(join(TASKS_DIR, name), 'utf8')); - 读取本地文件src/index.ts:377
return statSync(path).size; - 读取本地文件src/index.ts:435
outPath = JSON.parse(readFileSync(file, 'utf8')).outPath ?? ''; - 执行外部命令固定命令src/index.ts:445
execFile('explorer.exe', ['/select,' + outPath], { windowsHide: true }, () => {}); - 删除本地文件src/index.ts:454
unlinkSync(file);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧边栏显示下载进度
- 实时查看下载速度
- 显示剩余时间
DeepSeek Harness 插件:把下载进度从悬浮窗搬进 dsh-better-sidebar 页面,作为它的附属插件。
README
由 DeepSeek 最新模型翻译生成dsh-sidebar-downloads
把 aria2 下载进度显示在侧边栏的 dsh-better-sidebar 附属插件。
本插件是 aria2 下载通道的侧边栏视图:读取 aria2-dl.js 写的任务账本(~/.dsh/downloads/tasks/.json),并对带 gid 的记录查询 aria2 RPC 补正,不重复实现下载器,只把真实状态渲染成一个侧边栏页面。
配套 dsh-download-guard 强制所有下载走 aria2 —— 两者合起来是完整闭环:守卫负责「只能走这条路」,本插件负责「能看见这条路」。
为什么
下载进度曾经由右下角悬浮窗展示:会盖住会话内容、要手动拖拽躲避、且和 DSH 自身的侧边栏体系割裂。本插件注册一个正式的 better-sidebar 页面——和「资源管理器 / 终端 / Git」并列,开合、拆并、皮肤跟随全部由底座统一管理。
展开完整文档(README 剩余 1 节)
dsh-sidebar-downloads 把 aria2 下载进度显示在侧边栏的 dsh-better-sidebar 附属插件。 本插件是 aria2 下载通道的侧边栏视图:读取 aria2-dl.js 写的任务账本(~/.dsh/downloads/tasks/.json),并对带 gid 的记录查询 aria2 RPC 补正,不重复实现下载器,只把真实状态渲染成一个侧边栏页面。 配套 dsh-download-guard 强制所有下载走 aria2 —— 两者合起来是完整闭环:守卫负责「只能走这条路」,本插件负责「能看见这条路」。 为什么 下载进度曾经由右下角悬浮窗展示:会盖住会话内容、要手动拖拽躲避、且和 DSH 自身的侧边栏体系割裂。本插件注册一个正式的 better-sidebar 页面——和「资源管理器 / 终端 / Git」并列,开合、拆并、皮肤跟随全部由底座统一管理。 功能 | 实时进度 | 进度条 + 百分比,按状态着色(进行中 / 完成 / 失败 / 已取消) | | 速度与剩余时间 | MB/s 与 ETA,仅在任务进行中显示 | | 未知大小的下载 | 服务器不返回 Content-Length 时显示脉冲条,而不是伪造一个百分比 | | 历史记录 | 完成 / 失败的任务保留在列表里,可切换「只看进行中」 | | 字节数取真实磁盘值 | 无宽度信息的任务以磁盘实际大小为准,进程被杀掉也不会显示错数字 | | aria2 实时补正 | 带 gid 的任务直接查 aria2 RPC,--no-wait 入队的陈旧记录也能显示真实进度与速度 | | 暂停状态 | 手动暂停的任务显示「已暂停 · 百分比」并以琥珀色区分,计入「N 个已暂停」而非「进行中」;不显示完成时间,也不提供「在文件夹中显示」(文件尚未完整) | | 在文件夹中显示 | 一键在资源管理器中定位已下载文件 | | 操作反馈常驻可见 | 失败/提示锚定在面板底部浮层,不会被列表滚动带走;点击即可关闭 | | 记录失效自动清理 | 记录已被删除时(例如清理过账本),点击会移除该行并说明原因,而不是静默失败 | | 账本缺失明确提示 | 下载记录目录不存在时显示「文件丢失」与具体路径,而不是伪装成「暂无任务」 | | 移除记录 | 只删除账本记录,已下载的文件保留 | | 详情展开 | 点击任意任务行展开:输出路径、来源 URL、耗时、错误信息 | 安装 前置:已安装 dsh-better-sidebar(≥ 0.19.0)。 cd ~/.dsh && dsh plugin --profile <your-profile> add dsh-better-sidebar && dsh plugin --profile <your-profile> add "dsh-sidebar-downloads@github:BeiWay1145/dsh-sidebar-downloads" 安装后重启 DSH,然后点侧边栏的 + 菜单,选择「下载」。 构建产物已随仓库提交,无需在本地编译。 数据来源 本插件读取 ~/.dsh/downloads/tasks/<taskId>.json 任务账本(每个下载任务一个 JSON 文件),不抓取网络、不写文件。 唯一的生产者:aria2-dl.js 账本现在只有 一个 写入方——aria2-dl.cjs(随 dsh-download-guard 包分发)。每次入队都会写一条带 gid 字段的记录。配合守卫拦掉一切绕过 aria2 的命令后,这个账本即全部的下载活动。 配置 RPC endpoint 面板与 aria2-dl.cjs 使用同一套环境变量与默认值,两边必须指向同一个引擎: | 变量 | 默认 | 说明 | | ARIA2_RPC_URL | — | 完整 URL;设置后优先于下面两项 | | ARIA2_RPC_HOST | 127.0.0.1 | 引擎主机 | | ARIA2_RPC_PORT | 16800 | 引擎端口 | | ARIA2_RPC_TIMEOUT_MS | 1500 | 状态查询超时 | 默认 16800 对 Motrix Next 开箱即用。若你的 aria2 用其他端口(例如常见的 6800),改这个变量即可——早期版本把端口写死,导致下载正常但面板停在 0%,且没有任何提示。 引擎不可达时,面板会显示一条常驻提示(含尝试的地址与要改的变量名),而不是让进度静静停住。 为什么还要查 aria2 RPC aria2-dl.js 以 --no-wait 方式入队时,只在入队瞬间写一次记录(status: starting、计数器全 0)就返回,之后不再更新——而下载其实还在跑。直接读该文件会让面板永远停在 0%,甚至显示「已下载 3.62 GB / 总量 0.00 GB」这种自相矛盾的结果。 因此本插件对带 gid 的记录会直接查询 aria2 RPC(127.0.0.1:16800,Motrix Next 内置引擎),以引擎的实际状态为准。引擎未运行时自动降级为「照账本显示」,不会报错。 架构 src/index.ts host 半:读任务账本 → HTTP 路由(/tasks、/reveal、/forget) src/client/index.tsx client 半:注册一个 better-sidebar tab src/client/DownloadsPanel.tsx tab 内容:轮询、渲染、交互 src/client/panel.module.css 样式:全部走 --dsw-alias- 令牌,跟随皮肤 src/client/api.ts typed fetch 封装 scripts/build.mjs 构建:esbuild + lightningcss host 半 只声明 inject: ['webServer'],用 node 内置模块读写文件,不依赖 ctx.fs / ctx.subprocess;查询 aria2 RPC 用的是 node 内置 fetch,无额外依赖。 client 半 只做注册(ctx.betterSidebar.registerTab),不自行布局,卸载后零残留。 路由 | 方法 | 路径 | 说明 | | GET | /api/sidebar-downloads/tasks | 全部任务(进行中优先,最多最近若干条) | | GET | /api/sidebar-downloads/reveal?taskId= | 在资源管理器中定位输出文件 | | GET | /api/sidebar-downloads/forget?taskId= | 删除一条账本记录(不删文件) | taskId 会校验,拒绝任何含路径分隔符或 .. 的输入,无法越出任务目录。 开发 npm install npm run build # 产出 lib/index.js 与 lib/client.js npm run typecheck npm test # host 半 + client 半冒烟测试 + panel DOM 集成测试 lib/ 下的产物是提交进仓库的——这是本生态的约定,让用户从 git 安装时无需构建步骤。 许可 MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
BeiWay1145/dsh-sidebar-downloads
把 aria2 下载进度搬进侧边栏,实时看速度与剩余时间
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目