DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Save Button — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-save-button

Save Button

直接从 Web GUI 交付卡下载由 `present` 提供的文件——无需 SFTP,无需额外工具。

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-save-button@0.1.5
README兼容性版本

兼容性与来源证明

Save Button 以 dsh-save-button 发布,当前版本为 0.1.5。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.5stable
2026/10/10
0.1.4stable
2026/9/28
0.1.2stable
2026/9/27

相关插件

正在加载相关插件…

最新版
0.1.5
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
115.2 kB
文件数
11
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/10/10
查看源码 ↗
README Badge

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

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

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

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

README

dsh-save-button

English | 中文

Adds a Download button next to Open on DSH Web GUI delivery cards: files the model delivered with present (a zipped build, a report, a dataset, images…) go straight to your machine through the browser — no SFTP/SCP detour.

┌──────────────────────────────────────────────────────────────────┐
│  📄  HexHowitzer-windows-x86_64.zip                    ┌────────┐ │
│      Preview in sidebar                                │ Open ▾ │ │  ← official card
│                                                        └────────┘ │
└──────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐
│  📄  HexHowitzer-windows-x86_64.zip           ┌────────┐ ┌──────┐ │
│      Preview in sidebar                        │ Open ▾ │ │ ⬇ Download │  ← with this plugin
│                                                └────────┘ └──────┘ │
└──────────────────────────────────────────────────────────────────┘

Most useful when DSH runs remotely or inside a container (cloud host, GPU box, WSL, intranet server): the file lives on the Host, the browser is in your hands, and the only thing missing is a button.

Features

  • One-click download from the delivery card: every file declared by present gets a Download button. It responds with Content-Disposition: attachment, so the browser's own download manager streams it to disk — a 100 MB zip never has to fit in page memory.
  • Official card abilities preserved: clicking the card or Open previews the file in the sidebar; the ▾ menu still offers the official Open in default app and Open containing folder / Show in Finder / Show in File Explorer, disabled with an explanation when the Host has no desktop.
  • In-place status feedback: Preparing download… / Download started / Download failed. Click to retry. Open and reveal report their own status the same way.
  • No interference with official rendering: the "Files changed" chips and the multi-file collapse (All N files / Collapse) keep working, and a Turn without a delivery is left entirely to the official renderer.
  • Zero dependencies, zero build: a plain ESM host half plus a hand-written browser bundle — no postinstall, no compile step.
  • Bilingual UI: follows the GUI language (English / 中文).
  • Works on DSH 0.1.5-rc.*, 0.1.7-rc.* and 0.2.0-rc.*: see Supported DSH versions.

Install

Install from npm into your web profile:

dsh plugin --profile web add dsh-save-button

A git checkout works too — the package has no build step, so lib/ ships as-is:

dsh plugin --profile web add github:hanbernate/dsh-save-button

For local development, link this checkout instead so edits take effect through Loader recomposition:

dsh plugin --profile web add /path/to/dsh-save-button

If dsh is not on your PATH, use the CLI you started the Web GUI with, for example:

node ~/.dsh/profiles/node_modules/@deepseek-ai/dsh/lib/bin.js \
  plugin --profile web add dsh-save-button

This appends dsh-save-button to the profile's dsh.profile.bundles and lets the Loader insert the entry declared in this package's cordis.patch.yml. A link: install keeps the Host half live through Loader recomposition; an npm or git install serves the published code.

To take effect:

  • Reload the browser page after installing (the browser half is a bundle loaded with the page, so a reload is what fetches it again).
  • If the button still does not appear after a reload, restart the Web GUI: dsh web (or however you start it).

To verify: have the agent present any file (for instance ls a zip you just built) and a Download button shows up on the right of the card.

Usage

The button sits to the right of the official Open button, one per delivered file:

ActionBehavior
Downloadfirst sends HEAD /api/download.button?sessionId=…&seq=…&index=… to probe availability, then hands the file to the browser's download manager with <a download>; the file name comes from the Host's Content-Disposition
Opensame as official: previews the file in the sidebar
▾ menuofficial actions: open in default app / open containing folder (Finder / File Explorer); disabled when the Host has no desktop
On failurethe reason is shown in place (e.g. "file is no longer in this session") and the same button retries
More than 4 filesthe official collapse is preserved: All N files / Collapse

Downloads are addressed only by the (sessionId, seq, index) triple — there is no path parameter — so the only files that can be downloaded are the ones this session declared with present. Resolution, containment and type checks, and chunked reads all happen in the Host half. See doc/architecture.md (Chinese).

Supported DSH versions

DSH RCturnTail contractIntegrationStatus
0.1.0-rc.2 … 0.1.2-rc.1— (no present / workspaceFiles)not applicablenot supported
0.1.5-rc.1 / rc.2 / rc.3chainclaims the whole turn row with priority: -1 and draws the card itselfsupported (rc.3 verified 11/11)
0.1.7-rc.1 / rc.2listofficial card untouched; injects a Download button into deliverables.file.actionssupported (rc.2 verified 12/12)
0.2.0-rc.1 / rc.2listsame as 0.1.7: official card untouched; injects a Download button into deliverables.file.actionssupported (rc.2 verified 12/12)

At init time the plugin picks its adapter from what the runtime actually declares — a client plugin cannot read the DSH version — so one installation works on every supported line. The contract list, test layers, itemized verification records and the tag-switching handbook are in doc/compatibility.md (Chinese).

Uninstall

dsh plugin --profile web remove dsh-save-button

Then reload the page. Once the plugin is gone the official delivery card is back exactly as before — this plugin never modifies any official file.

Troubleshooting

SymptomWhat to do
No Download button on the cardreload the page first; then check that dsh-save-button is listed in dsh.profile.bundles in ~/.dsh/profiles/web/package.json; if it still does not show up, restart dsh web
Button appears, click reports "Download failed. Click to retry."open the browser devtools and look at the /api/download.button?... response: 401/403 = authentication, 404 = that declaration is not in the Session (different session, or the event was pruned), 422 = not a regular file / outside the workspace
Open reports "Open failed"expected when the Host has no desktop (a headless server); use Download or the sidebar preview instead
exports["./client"] must be a stringthe exports field in package.json got broken; run npm test for the guard
Edited lib/client.js but nothing changedreload the page (the Host serves the bundle by revision, and it is not refetched until the page reloads)

Docs

The detailed docs under doc/ are currently written in Chinese:

DocumentContents
doc/architecture.mdhow a download works end to end, the two halves, the adapter + capability-probe selector, the icon capability table, security boundary, design decision records
doc/compatibility.mdsupport matrix, official contract list (C1–C10), history of the two breaking points, test layers and cases, real-machine verification records (V1–V23), tag-switching handbook
doc/development.mddirectory layout, running tests, how edits take effect, steps for adding an adapter, pre-release checklist, development pitfalls

License

MIT, see LICENSE.

相关插件

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

Deepseek Ipptdeepseek-ipptiPolloWork PPT Studio 及其精选幻灯片模板,作为原生 DeepSeek Harness 对话视图。Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness Web 提供 Codex 风格侧栏、工作区会话树、全局搜索和轮次导航Remotedsh-remoteDeepSeek Harness 的远程工作助手:连接 SSH(密码/密钥/代理/键盘交互/代理跳转),选择远程工作区,使用 22 个 rw_* 工具操作该工作区(包括 rw_edit/rw_stat/rw_mkdir/rw_remove/rw_move/rw_forward),具备冲突感知的镜像 syAi Novel Writer@ethanyoq/dsh-ai-novel-writer面向 DeepSeek Harness 的本地优先小说项目插件