🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

附件上传预览 wanglijie34/dsh-upload-plus

DeepSeek Harness
wanglijie3480 天前有提交已提供中文文档扫描:含敏感能力

拖拽或选择文件上传,并即时预览内容

26.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/29 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add wanglijie34/dsh-upload-plus
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 80 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 8 处,展示前 8 条)
  • 写入本地文件
    src/index.ts:113
    mkdirSync(uploadRoot(), { recursive: true })
  • 写入本地文件
    src/index.ts:155
    mkdirSync(join(target, '..'), { recursive: true })
  • 写入本地文件
    src/index.ts:156
    writeFileSync(target, data)
  • 读取本地文件
    src/index.ts:181
    stat = statSync(path)
  • 读取本地文件
    src/index.ts:197
    sendJson(res, 200, { kind: 'text', name, size, content: readFileSync(path, 'utf8') })
  • 读取本地文件
    src/index.ts:206
    const data = readFileSync(path)
  • 读取本地文件
    src/index.ts:254
    stat = statSync(path)
  • 读取本地文件
    src/index.ts:273
    createReadStream(path).pipe(res)
扫描于 2026/11/3(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-input-trigger@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-cordis-client-runner@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 拖拽或选择文件上传
  • 即时预览文件内容

README

由 DeepSeek 最新模型翻译生成
dsh-upload-plus DeepSeek Harness (DSH) 的 Web 插件:输入框文件上传 + 预览。支持附件上传、整页拖拽、可移除附件卡片和右侧文件预览面板。 在 conversation.input.left 槽位注册附件按钮,在 conversation.input.dock 槽位注册附件卡片行与预览面板。 功能特性 - 📎 输入框左侧附件按钮(conversation.input.left),菜单选择文件 - 🖱️ 整页拖拽上传:任意类型文件拖入窗口即可上传(capture 阶段监听,不干扰页面内其他拖拽) - 🗂️ 附件卡片行(conversation.input.dock):文件名 + 大小,可单独移除;宽度与输入框对齐(--dsh-composer-card-max-width) - 👁️ 右侧预览面板: - 文本类(txt / md / json / tsx / py 等 40+ 扩展名,≤256 KiB) - Markdown 渲染为 HTML - 图片(png / jpg / gif / webp / bmp / svg,≤5 MiB,dataURL 内联) - PDF / 音频 / 视频(走 /raw 流式接口,浏览器原生播放,无 base64 膨胀) - 其他文件显示元数据(名称 / 大小 / 类型说明)
展开完整文档(README 剩余 1 节)
dsh-upload-plus

DeepSeek Harness (DSH) 的 Web 插件:输入框文件上传 + 预览。支持附件上传、整页拖拽、可移除附件卡片和右侧文件预览面板。

在 conversation.input.left 槽位注册附件按钮,在 conversation.input.dock 槽位注册附件卡片行与预览面板。

功能特性

- 📎 输入框左侧附件按钮(conversation.input.left),菜单选择文件
- 🖱️ 整页拖拽上传:任意类型文件拖入窗口即可上传(capture 阶段监听,不干扰页面内其他拖拽)
- 🗂️ 附件卡片行(conversation.input.dock):文件名 + 大小,可单独移除;宽度与输入框对齐(--dsh-composer-card-max-width)
- 👁️ 右侧预览面板:
- 文本类(txt / md / json / tsx / py 等 40+ 扩展名,≤256 KiB)
- Markdown 渲染为 HTML
- 图片(png / jpg / gif / webp / bmp / svg,≤5 MiB,dataURL 内联)
- PDF / 音频 / 视频(走 /raw 流式接口,浏览器原生播放,无 base64 膨胀)
- 其他文件显示元数据(名称 / 大小 / 类型说明)
- 💾 上传文件持久化到 $DSH_HOME/uploads(UUID 容器目录,文件名消毒防穿越)
- ⚖️ 单文件上限 50 MiB

架构

| 端 | 职责 |
| Host(node) | 三个路由:上传 / 预览 / 原始流式 |
| Client(browser) | 附件按钮、拖拽、卡片行、预览面板 |

路由

| 路由 | 方法 | 说明 |
| /dsh-upload/files | POST | { name, size, data(base64) } → 持久化到 $DSH_HOME/uploads//,返回 { path, name, size } |
| /dsh-mypg-upload/preview | GET | ?path= → { kind: text\|image\|pdf\|audio\|video\|meta, ... } |
| /dsh-mypg-upload/raw | GET | ?path= → 流式返回 PDF / 音视频,带正确 Content-Type |

安装(web profile)

1. 将插件链接到 profile 的 node_modules(junction,Windows):

New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-upload-plus" -Target "(本仓库路径)"

2. 在 profile 组合文件 cordis.patch.yml 追加:

- insert:
- id: dsh-upload-plus
name: dsh-upload-plus

3. 重启 DSH 桌面应用 / 刷新 Web 界面(客户端 bundle 仅在重启时重新加载)。

使用

1. 点击输入框左侧 📎 按钮选择文件,或直接把文件拖进窗口
2. 文件出现在输入框上方的附件卡片行,可点击 ✕ 移除
3. 点击卡片打开右侧预览面板(文本 / 图片 / PDF / 音视频 / 元数据)
4. 发送消息时附件文件路径随消息一起使用

构建

在 deepseek-harness 仓库内(本插件依赖其 workspace 构建链):

pnpm run build # tsc -b && tsdown,产出 lib/client.js 与 lib/index.js

目录结构

src/
├── index.ts # Host:上传 / 预览 / 原始流式路由(raw node:fs,不依赖 @deepseek-ai 包) └── client/index.ts # Client:附件按钮、拖拽、卡片行、预览面板 package.json tsconfig.json tsdown.config.ts

说明

- 本插件在 deepseek-harness 仓库内开发,package.json 使用 workspace:^ 的 peer 依赖、tsdown.config.ts 引用仓库内的 clientBundle 工具;脱离该仓库独立使用时需相应调整。
- 上传文件存放在本机 $DSH_HOME/uploads,不会上传到任何远程服务器。

License

MIT
预览分享卡片长什么样 ↓wanglijie34/dsh-upload-plus
分享 · DeepSeek Harness Hub
wanglijie34/dsh-upload-plus

拖拽或选择文件上传,并即时预览内容

这是你的仓库?认领条目

回到顶部