DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

File Intake — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
F

dsh-file-intake

File Intake

DSH Web arbitrary file input: paste, drag and drop (including entire folders), or use the button to add non-image files as cards above the input; @paths are automatically appended when sending, while images retain the native attachment pipeline.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:mogudesu/dsh-file-intake#953fef2b9f5a61127e1993e8819c7564e289ba06
READMECompatibilityVersions

Compatibility and provenance

File Intake is published as dsh-file-intake and currently resolves to version 0.3.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
8/29/2026

Versions

0.3.0stable
8/29/2026

Related plugins

Loading related plugins…

Latest
0.3.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
CC-BY-NC-4.0
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
8/29/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in productivity-workflow.

Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio and its curated slide templates as a native DeepSeek Harness conversation view.Mnemondsh-mnemonComposable three-tier memory control plane for DeepSeek Harness: persistent runtime context, searchable project documents, pluggable long-term memory, guarded strategies, WebUI, and headless tools.Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航 · A Codex-style sidebar, workspace session tree, global search, and turn navigation for DSH WebRewind Plugindsh-rewind-pluginIn-window conversation rewind with workspace file restore · 同窗口内对话回退并可还原工作区文件

README

dsh-file-intake

DeepSeek Harness Web 插件:让输入框支持任意文件(文档 / 压缩包 / PDF / 音视频……), 同时完整保留原生图片附件管线。

由 爱吃冬菇的蘑菇(Mogu) 开发维护。

行为

操作结果
拖入/粘贴纯图片完全不干预 → 原生附件管线(缩略图、视觉桥接)照旧
拖入/粘贴含非图片(含混合批次)拦截 → 上传到会话工作区 .dsh/uploads/<日期>/ → 输入框上方出现文件卡片(图标 + 文件名 + 大小 + ✕ 移除),输入框保持干净
拖入整个文件夹递归收录全部文件,保留目录结构落在 .dsh/uploads/<日期>/<文件夹>/…,每个文件一张卡片
点击工具行 📎 按钮系统文件选择器多选,走同一流程;按钮带待发送数量徽标

点击 发送 的瞬间,插件把所有卡片的 @相对路径 自动追加进消息(用户全程看不到路径文本), 模型收到形如 @.dsh/uploads/2026-02-03/report.zip 的引用,可直接用 read 等工具读取(压缩包可配合 local-file-handler 技能解包)。

细节:

  • 空输入框加入首个文件时,草稿里会放一个不可见的零宽占位符(U+200B), 让原生的"空草稿"判定通过、发送按钮保持可用;输入框看起来仍是空的。 发送瞬间占位符被清洗掉,消息里不会残留。
  • 移除卡片只是把它从待发送列表去掉;已上传的文件仍保留在工作区 .dsh/uploads/。
  • 左键点击卡片:用系统默认程序打开该文件(压缩包/文档/音视频…); 右键点击卡片:在资源管理器中定位并选中该文件。
  • 卡片行的宽度/边距复用原生 dock 几何变量(side-clearance / dock-inset / card-max-width),与下方输入卡片左右边缘对齐。
  • 若 submit 包装不可用(异常兜底),自动退回 v0.1 行为:@路径 直接写入草稿。

边界

  • 单文件 ≤ 64MB(base64 经 typert JSON 通道,传输上限 160MB 内留足余量)
  • 文件夹拖入:递归深度 ≤ 12 层,单次最多收录 400 个文件(超出截断并提示); 目录名逐段净化,.. 等穿越段直接丢弃,宿主端二次校验
  • 需要会话已选择工作区(文件落在工作区内,会话间隔离)
  • 重名自动加 -2/-3 后缀,不覆盖
  • 文件名净化:去路径成分、危险字符剔除、空白折叠为下划线
  • 斜杠命令提交不携带文件卡片(与图片附件的命令白名单语义一致)

结构

lib/index.js   宿主半区:Typert 远程服务 fileIntake.upload(zod 校验 + fs 落盘)
lib/client.js  浏览器半区:window 捕获级 paste/drop 拦截 + 📎 按钮
               + conversation.input.dock 卡片行 + submit 注入 @路径
cordis.patch.yml  组合行(dsh plugin add 自动追加 bundle)

安装 / 卸载

# 1. 克隆本仓库
git clone https://github.com/mogudesu/dsh-file-intake.git

# 2. 安装(自动追加到 profile bundles,路径换成你的克隆位置)
dsh plugin --profile web add "link:<克隆路径>\dsh-file-intake"
# 重启 dsh web 生效

# 卸载
dsh plugin --profile web remove dsh-file-intake -w

更新记录

0.3.0

  • 文件夹拖入:通过 webkitGetAsEntry 递归遍历拖入的文件夹(含混合批次), 保留目录结构上传到 .dsh/uploads/<日期>/<文件夹>/…;每个文件一张卡片, 左键打开 / 右键定位照常可用。宿主 upload RPC 新增可选 dir 参数, 逐段净化目录名并限制深度 ≤16 段,杜绝路径穿越。
  • 防护上限:递归深度 ≤12、单次 ≤400 个文件,超出截断并提示。
  • entry API 不可用的浏览器自动退回扁平文件拖入。

0.2.2

  • 修复:加入文件后输入框不再出现「请查看附件:」提示词。改为写入不可见的 零宽占位符(U+200B)撑住"空草稿"判定,发送按钮保持可用;submit 包装在发送 瞬间清洗占位符并注入 @路径,消息与输入框都不留痕迹。

0.2.1

  • 对齐修复:卡片行此前是全宽行,与居中的输入卡片明显错位;现在复用原生 goal-bar 的 dock 几何(--dsh-composer-side-clearance / --dsh-composer-dock-inset / --dsh-composer-card-max-width + margin: 0 auto),左右边缘与输入卡片对齐。
  • 打开文件:左键点击卡片用系统默认程序打开;右键在资源管理器中定位选中。 新增宿主 RPC fileIntake.open/reveal,路径解析带三重护栏 (拒绝绝对路径 / 工作区包含校验 / stat 确认存在)。

0.2.0

  • 新交互:非图片文件不再往输入框写 @路径 文本,而是像原生图片附件一样 显示为输入框上方的文件卡片行(图标 / 文件名 / 大小 / ✕ 移除,📎 按钮带数量徽标)。
  • 注入式发送:包装会话 inputActions.submit,点击发送瞬间把卡片的 @相对路径 追加到消息末尾并清空队列;输入框全程保持干净。
  • 空草稿加入首个文件时预填「请查看附件:」,避免发送按钮因空草稿禁用。
  • 包装失败时自动回退 v0.1 的直接写草稿行为;拖入提示层文案同步更新。

0.1.1

  • 修复:拖入压缩包等非图片文件后,原生“图片拖动到此处即可添加”遮罩 永不消失的问题(接管 drop 时 stopPropagation 挡掉了原生遮罩的复位监听, 现在补发一个合成 dragend 让它立即隐藏)。
  • 优化:拖拽悬停期间,若批次含非图片文件,显示本插件自己的提示层 (“松开鼠标,添加任意文件”,盖过原生的图片提示);纯图片拖拽仍显示原生遮罩。

作者

爱吃冬菇的蘑菇(Mogu)

  • Bilibili 主页:https://space.bilibili.com/45311091

如果这个插件对你有帮助,欢迎去 Bilibili 关注作者,或给本仓库点一个 ⭐ Star。

开源协议

本项目采用 CC BY-NC 4.0(署名—非商业性使用 4.0 国际) 协议发布。

你可以条件
✅ 复制、分发本插件必须注明作者(爱吃冬菇的蘑菇)与本仓库链接
✅ 修改、二次开发仅限非商业用途,且同样注明作者
❌ 商业使用未经作者授权,不得用于商用产品、付费服务或商业分发

商业授权 / 合作请通过 Bilibili 主页 联系作者。

Copyright (c) 2026 爱吃冬菇的蘑菇(Mogu)