工作区文件下载 kivensteven8-eng/dsh-file-download
DeepSeek 客户端把会话工作区文件变成浏览器可直接下载的链接
27.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/20 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/kivensteven8-eng/dsh-file-download.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 工作区文件转下载链接
- 浏览器直接下载
- 局域网设备访问
DSH 插件:把会话工作区文件变成浏览器直接下载的 HTTP 通道 —— 为 iPad 等局域网/域名设备设计。
README
由 DeepSeek 最新模型翻译生成dsh-file-download
面向 DeepSeek Harness(DSH)的文件下载插件:把会话工作区里的文件变成*浏览器直接下载的 HTTP 通道 —— 为 iPad Safari / iPhone 等局域网与域名访问设备设计,让“生成文件保存到本地”不再依赖服务器桌面环境。
背景:DSH 的 host.openPath 属于特权方法,永远只允许回环(loopback)调用;无桌面 Linux 服务器上即使放开也没有应用能“打开”文件。正确姿势就是 HTTP 下载。
两种用法:独立零依赖服务(不装插件也能用)与 cordis 插件(随 profile 启动)。参考实现见 dsh-pentest 的仓库形态。
安装
方式一 · DSH 插件(推荐)
从 GitHub 直接安装(仓库根目录即可被 pnpm 解析)
dsh plugin --profile web add github:/dsh-file-download
或本地路径安装
dsh plugin --profile web add ./path/to/repo
安装后重启 profile 生效:
- 列表页 http(s):///…/dsh-file-download/
- 下载 同前缀 + /file?
展开完整文档(README 剩余 1 节)
dsh-file-download
面向 DeepSeek Harness(DSH)的文件下载插件:把会话工作区里的文件变成*浏览器直接下载的 HTTP 通道 —— 为 iPad Safari / iPhone 等局域网与域名访问设备设计,让“生成文件保存到本地”不再依赖服务器桌面环境。
背景:DSH 的 host.openPath 属于特权方法,永远只允许回环(loopback)调用;无桌面 Linux 服务器上即使放开也没有应用能“打开”文件。正确姿势就是 HTTP 下载。
两种用法:独立零依赖服务(不装插件也能用)与 cordis 插件(随 profile 启动)。参考实现见 dsh-pentest 的仓库形态。
安装
方式一 · DSH 插件(推荐)
从 GitHub 直接安装(仓库根目录即可被 pnpm 解析)
dsh plugin --profile web add github:/dsh-file-download
或本地路径安装
dsh plugin --profile web add ./path/to/repo
安装后重启 profile 生效:
- 列表页 http(s):///…/dsh-file-download/
- 下载 同前缀 + /file?path=
- 前缀可用 cordis.patch.yml 里 config.mountPath 调整
卸载:dsh plugin --profile web remove dsh-file-download
⚠️ 插件随 profile 重启加载 —— 会中断当前会话,建议空余时操作。
方式二 · 独立服务(不动 DSH)
node service.mjs # 默认 0.0.0.0:8766,根目录取 DSH_DL_ROOT 或 cwd
环境变量:
| 变量 | 默认 | 说明 |
| DSH_DL_PORT | 8766 | 监听端口 |
| DSH_DL_HOST | 0.0.0.0 | 绑定地址 |
| DSH_DL_ROOT | cwd | 允许下载的工作区根 |
| DSH_DL_MOUNT | 空 | 反代保留前缀时填写,如 /dl |
| DSH_DL_TOKEN | 空 | 设置后所有请求必须带 ?token= |
| DSH_DL_EXTRA_HOSTS | 空 | 额外放行的 Host 授权,逗号分隔 |
反代场景(Caddy 示例)
在 forward_auth 之前挂载,由服务的 ?token= 自行保护 handle /dl { reverse_proxy 127.0.0.1:8766 }
配套的 watch-caddy.mjs 是一个自愈看门狗:若外部进程会周期性从磁盘重载 Caddy、把运行时添加的路由冲掉,它可以每 15 秒巡检并自动补回。
安全模型
设计哲学与 DSH 自身的围栏一致(针对无鉴权面的轻量防护,不是认证系统):
1. 只读 —— 仅 GET/HEAD;
2. 严格限定工作区 —— realpath 包含校验,穿越(../)、绝对路径、符号链接外逃全拒;任意层级的隐藏条目(. 开头)一律 403;
3. DNS 重绑定围栏 —— Host 必须是回环、本机网卡 IP 字面量、主机名或白名单授权域;跨站标记(Sec-Fetch-Site: cross-site / 异源 Origin)拒绝;
4. 体积上限(默认 500 MB)+ Content-Disposition: attachment + nosniff + no-store,杜绝被当页面渲染。
中文文件名按 RFC 5987 filename 编码,iPad 上还原正常。
公网暴露请务必置于带认证的反向代理之后。
发布
推送 v 标签即触发 GitHub Actions:npm pack 打包并在 Release 附上 dsh-file-download.tar.gz。
MIT © 2026预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kivensteven8-eng/dsh-file-download
把会话工作区文件变成浏览器可直接下载的链接
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,074已汉化DSH
71.2
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。