在分发卡片和预览头部一键保存文件到本地
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add micachi/dsh-download-button该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-download-button
这是一个 DSH(DeepSeek Harness)Web GUI 插件,用来添加下载按钮。
present 工具生成的分发卡片上,以及右侧边栏文档预览的头部,都会出现按钮, HTML、PDF、图片、Office 文档、Markdown、源代码等文件都能就地保存。
- Host 侧只新增 1 个带认证的 GET /api/download.file
- Client 侧只在现有 slot 里加 1 个锚点
- 交给浏览器自带的下载管理器,大文件也不会整份占满页面内存
- 不写工作区,也不向会话追加事件
截图
分发卡片上的下载按钮
present 分发的文件卡片右下角会出现下载图标。
分发卡片上的下载按钮
预览头部上的下载按钮
打开 HTML 等预览后,头部会出现「下载」按钮。
预览头部上的下载按钮
打开 HTML 预览的状态
预览开着也能保存,从分发卡片也能保存,两边都行。
展开完整文档(README 剩余 1 节)
dsh-download-button 这是一个 DSH(DeepSeek Harness)Web GUI 插件,用来添加下载按钮。 present 工具生成的分发卡片上,以及右侧边栏文档预览的头部,都会出现按钮, HTML、PDF、图片、Office 文档、Markdown、源代码等文件都能就地保存。 - Host 侧只新增 1 个带认证的 GET /api/download.file - Client 侧只在现有 slot 里加 1 个锚点 - 交给浏览器自带的下载管理器,大文件也不会整份占满页面内存 - 不写工作区,也不向会话追加事件 截图 分发卡片上的下载按钮 present 分发的文件卡片右下角会出现下载图标。 分发卡片上的下载按钮 预览头部上的下载按钮 打开 HTML 等预览后,头部会出现「下载」按钮。 预览头部上的下载按钮 打开 HTML 预览的状态 预览开着也能保存,从分发卡片也能保存,两边都行。 HTML 预览与下载按钮 能做什么 | 位置 | 按钮 | 可保存的内容 | | 分发卡片(present) | 右下角的 ↓ 图标 | 该卡片指向的文件 | | 右侧边栏的预览 | 头部的「下载」 | 预览中的文件 | 不只是 HTML,Markdown、PDF、PNG/JPEG/SVG、Word/PowerPoint/Excel、CSV、源代码等,只要是 DSH 能预览的文件,都能保存。 安装 本仓库是 DSH 的打包(package.json 的 dsh.bundle.patch)。 Host 半边(index.js)和 Client 半边(client.js)放在同一个包里。 从本地目录安装 dsh plugin --profile web add link:/absolute/path/to/dsh-download-button 从 tarball 安装 dsh plugin --profile web add /absolute/path/to/dsh-download-button-0.1.0.tgz 从 GitHub 安装(本仓库) dsh plugin --profile web add github:micachi/dsh-download-button 私有仓库需要先通过 gh auth login 等方式准备好 GitHub 认证信息。 启用与重新加载 只添加包,打包仍处于未启用状态。打开 Web 侧边栏的 Plugins,启用 dsh-download-button。 Host 侧的路由会通过 HMR 立即生效。如果安装前就打开的页面里没出现按钮,请重新加载一次页面(浏览器侧的插件图订阅断开时,新包要重新加载才能送达)。 从智能体安装 把包的绝对路径作为 target 传给 plugin_manager 工具的 install_bundle。 返回 application: "applied" 就说明启用也完成了。 用法 1. 让智能体生成 HTML 等文件,并用 present 分发。 2. 回复下方会排出发送卡片,按卡片右下角的 ↓ 图标。 3. 文件以原文件名保存到浏览器的下载目录。 要从预览保存,点击卡片在右侧边栏打开预览,再按头部的「下载」。 保存的文件名由解析后的路径生成。日文等非 ASCII 名称通过 RFC 5987 的 filename 发送,不会乱码。 工作原理 Client Host ────── ──── 分发卡片 ── sessionId/seq/index ──▶ GET /api/download.file 预览 ── absolute path ────────▶ │ ├─ 在合成文件系统中解析 ├─ 校验普通文件与大小上限 └─ 200 + Content-Disposition: attachment - 路由通过 connection.fetch.register 注册,和已发布的 /api/file、 /api/present.open 处在同一道认证围栏内。用浏览器的会话 cookie 认证,能否读取由合成文件系统决定。 - 分发卡片读取一次已记录的 deliverables/presented 事件,把声明的路径从会话的工作区解析出来。解析方式与已发布的「原生打开」路由同一坐标。 - 预览直接解析 Client 传入的执行环境绝对路径。 - 按钮是同源的 ,不会用 JavaScript 把所有字节读进内存,由浏览器的下载管理器流式保存。 实测值(2026-11-01,DSH 0.2.1-rc.2 / Linux) 截图和实测值都取自一个自包含的演示 HTML(demo-report.html),只用于演示。 其中不含个人对话,也不含本地路径。 - GET /api/download.file?path=.../demo-report.html → 200,Content-Disposition: attachment; filename="demo-report.html", 1,695 bytes,与原文件完全一致 - 经投递卡片(sessionId + seq + index,即 demo-report.html 那张卡片) → 200,1,695 bytes 一致 - 未认证 → 401,路径不存在 → 404,目录 → 403,相对路径 → 400 - 非 ASCII 文件名 日本語 ファイル (1).html → 用 filename=UTF-8''%E6%97%A5%E6%9C%AC%E8%AA%9E%20... 正确编码 配置 | 字段 | 默认值 | 含义 | | maxBytes | 67108864(64 MiB) | 下载返回文件的大小上限。超过则返回 413。 | 可以用配置档补丁覆盖。 - id: download-button config: maxBytes: 268435456 依赖的服务 只有当配置中存在下列服务时,Host 那一半才会生效(已发布的 Web 配置档全都包含这些服务)。 connection / fs / sessionQuery / workspaceFiles / sandboxPolicy Client 那一半面向 Web 平台,加入下列已发布包所声明的 slot。 - deliverables.file.actions — @deepseek-ai/dsh-client-ui-deliverables - sidebar.right.tab.document.actions — @deepseek-ai/dsh-client-ui-sidebar-documentpreview 如果配置里没有 slot 的所有者,按钮只是不显示,插件不会失败。 限制 - 下载属于用户操作。这里刻意不提供智能体用的工具(因为那会变成往工作区外复制文件的操作)。 - 只返回合成文件系统能读到的文件。目录、被拒绝的符号链接、不存在的路径分别返回 403 / 404。 - 变更文件的差异审查标签页(deliverables.review.file.actions)暂不支持。 变更文件请先在侧边栏预览,再保存。 - 读取走 fs.readBytes,所以 maxBytes 同时也是单次下载占用的进程内存上限。 只在可信的单独使用环境里调高。 - 如果页面的插件图订阅已经结束(比如 Host 重启之后),要重新加载页面才能收到新包。 卸载 在 Plugins 页面禁用 dsh-download-button,或者执行: dsh plugin --profile web remove dsh-download-button English summary A DeepSeek Harness plugin that adds a Download button to (1) the delivery cards produced by the present tool and (2) the right-Sidebar document preview header. Both buttons are same-origin anchors to one authenticated Host route, GET /api/download.file, which answers with Content-Disposition: attachment and streams the file through the composed filesystem. Install it as a bundle with dsh plugin --profile web add <spec>, enable it on the Plugins page, and reload a page that was open before the installation. See the Japanese sections above for configuration, verified measurements, and limitations. License MIT — see LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
micachi/dsh-download-button
在分发卡片和预览头部一键保存文件到本地
相关插件 · 工具 / 效率
破甲管控台kingcharleslzy-ai/dsh-purge
dsh-purge Community · DeepSeek Harness 社区维护版:宿主兼容、状态诊断、提示词管理、更新与本机备份回滚。基于小杨 / YuJunZhiXue 的 dsh-purge。
★ 4,330已汉化DeepSeek 客户端
74.5
网文长卷lingfengQAQ/webnovel-writer
基于 Claude Code 的长篇网文辅助创作系统,解决 AI 写作中的「遗忘」和「幻觉」问题,支持 200…
★ 7,826已汉化DSH
72.2
花束设计alchaincyf/huashu-design
一句话生成网页、原型、PPT 与信息图等可交付设计
★ 28,638已汉化DSH
71.7
多智能体协作HKUDS/AutoSwarm
AutoSwarm: Unify Your Agents. Unify Your Context (Codex · Claude Code · DeepSeek Harness · Muse · Grok · WorkBuddy· nanobot · and more)
★ 2,349已汉化DSH
71.6
Vox 拼贴视频生成Alisa0808/vox-director
🎬 Vox Director拼贴动效导演
★ 2,129已汉化DSH
71.4
Agent 演化引擎Q00/ouroboros
智能体 OS:智能体自己变聪明,我们只守住底线:面试准入、分阶段评估、带预算的进化循环。MCP 服务器,14 种运行时:Claude Code、Codex CLI、Gemini CLI、OpenCode、Copilot、Kiro 等。
★ 6,311已汉化DSH
71.4
这是你的仓库?认领条目