DSH Web 输入框工具栏图片按钮:点击调用系统文件选择器直接多选取图,进入与拖拽/粘贴相同的草稿图片栏,并内联校验宿主的图片格式、单条张数与单张大小限制。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-attach-picker
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:qwerty-k-de/dsh-attach-picker
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
给 DeepSeek Harness Web 输入框工具栏加一个图片按钮:点击打开系统文件选择器挑一张或多张图片,不用拖拽也不用粘贴。选中的图片会进入和拖拽/粘贴相同的「草稿图片」栏,随消息一起发送,和普通附件完全一致。
功能
- 输入框工具栏一键图片按钮(挂在
conversation.input.left槽) - 原生系统文件选择器,支持多选,自动过滤宿主支持的图片格式
- 遵守宿主的
imageLimits限制:图片格式、单条消息最大张数、单张大小上限,超限会有内联错误提示(如「一条消息最多 N 张图片」「单张图片不能超过 X MB」) - 与拖拽/粘贴走同一条草稿附件管线:
conversation.createDrafts(sessionId, files)→inputActions.addAttachments(ids),其它地方无需任何特殊处理 - 同时兼容 DSH 0.2 与 0.1 两代输入框 API:在渲染时探测宿主提供的能力,哪一代在跑就走哪一代
- 纯浏览器侧实现,零依赖,体积小
安装
npm 安装(推荐,免构建授权):
dsh plugin --profile web add dsh-attach-picker
GitHub 安装:
dsh plugin --profile web add github:qwerty-k-de/dsh-attach-picker
重启 dsh web(或刷新页面,热更新时即时生效)。
使用
- 在 DSH Web 里打开一个会话。
- 点击输入框工具栏的图片按钮——系统文件选择器弹出。
- 选择一张或多张图片,它们会出现在草稿图片栏。
- 发送消息,图片与普通附件一样被发送。
请求进行中时按钮会自动禁用。
原理
- 通过
package.json的dsh.client(platform: "web",exports["./client"])注册为客户端插件。 - 注入到输入框槽
conversation.input.left,order: -50。 - 选中文件后:先从宿主投影
imageLimits(mediaTypes、maxImagesPerMessage、maxImageBytes)读取限制,本地先做一次格式/张数/单张大小校验;通过后交给宿主自己的录入管线:- DSH 0.2(
dsh0.2.x,公开契约):conversation.createDrafts(sessionId, files)生成草稿描述符,再用inputActions.addAttachments(ids)入栏;addAttachments返回false(adjudicating/submitting 阶段)时用conversation.releaseDraftAttachments(drafts)回收,避免泄漏; - 兜底:父级 composer 条目注入的
addFiles(files, directories)(宿主内部通道,仅在该对动词缺失时使用); - DSH 0.1:回退到
conversation.createDraftImages(files)+inputActions.addImages(...)。
- DSH 0.2(
- 最外层元素带
data-dsh-attach-picker="<版本>:<管线>"标记,便于在 DOM 里确认当前生效的是哪条路径。 - Node 侧(
lib/index.js)有意留空——全部逻辑在浏览器端。
截图
市场(如 dsh-market)以 App Store 风格展示截图。请在本仓库声明:
// screenshots.json
["assets/screenshot-1.png", "assets/screenshot-2.png"]
(1–8 张;路径相对该文件、不得跳出本仓库。不声明时市场会退回到从本 README 提取图片。)
要求
- DSH Web(
dsh web)需带标准 conversation / slots 客户端服务。 - 0.1.x 与 0.2.x 均可用;0.1.1 起开始适配 0.2 的附件 API。
- 无运行时依赖。
更新日志
见 CHANGELOG.md。
许可
MIT
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8978
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8978
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 5292
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
ccch1mneyyy/dsh-TUI★ 4819
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 4290
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1478
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。