DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

File Intake — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
F

dsh-file-intake

File Intake

DSH Web 任意文件接入:粘贴/拖入(含整个文件夹)/按钮把非图片文件作为输入框上方卡片添加,发送时自动附 @路径;图片保留原生附件管线。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:mogudesu/dsh-file-intake#953fef2b9f5a61127e1993e8819c7564e289ba06
README兼容性版本

兼容性与来源证明

File Intake 以 dsh-file-intake 发布,当前版本为 0.3.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/29

版本

0.3.0stable
2026/8/29

相关插件

正在加载相关插件…

最新版
0.3.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
CC-BY-NC-4.0
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/8/29
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 productivity-workflow 分类下经过校验的插件。

Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Web All@linxin666/dsh-web-allDSH Web UI 全家桶聚合插件:一键安装全部功能插件(task-board / git-graph / pet / remote-web-ui / web-ui-settings / skin-center / community-plugins / compat shim)。compat 桥接层已并入本包(src/client),无需独立 compat npm 包。Rewind Plugindsh-rewind-plugin同窗口内对话回退并恢复工作区文件Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理

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)