Bundle
dsh-image-viewer
Zoom, pan, download, gallery, and region-note image viewer for DeepSeek Harness
- Source
- WSL043
- stars
- 1 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
> [!NOTE]
> 这是一个可选、可独立卸载的 DSH 插件。它增强 DSH 已显示图片的查看、下载与区域标注,不接管会话、附件或模型流程;图片生成插件也可以按需把它作为共享查看器使用。
<div align="center">
# DSH Image Viewer · 图片查看器
面向 DeepSeek Harness 的简洁、与模型和供应商无关的图片查看器。它只增强 DSH 已经显示的图片,不替换会话、附件或模型流程。
插件包名:`dsh-image-viewer`。支持图片缩放、原图下载、图库浏览与区域标注。[Awesome DSH 收录](https://github.com/awesome-dsh-plugin/awesome-dsh-plugin/blob/main/data/plugins/WSL043__dsh-image-viewer.yml) · [会话管理插件](https://github.com/WSL043/dsh-chat-manager)
[](https://github.com/WSL043/dsh-image-viewer/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/dsh-image-viewer)
[](https://www.npmjs.com/package/dsh-image-viewer)
[](#安装)
[](LICENSE)
[](https://github.com/WSL043/dsh-image-viewer/stargazers)
[安装](#安装) · [隐私](#隐私) · [English](README.en.md)
</div>
> 正式版 0.1.0 已发布到 npm。遇到无法识别的新图片结构时会保留 DSH 原生行为,不会猜测接管。
稳定版与当前 Alpha 都在隔离环境验收真实附件的多图切换、缩放、拖动、下载、区域备注及关闭后焦点恢复。发布前必须通过;定时工作流每六小时检查官方新版本,失败保留浏览器和启动记录,不自动宣称兼容或发布。
<p align="center">
<img src="https://raw.githubusercontent.com/WSL043/dsh-image-viewer/main/docs/assets/image-viewer-zh.png" width="900" alt="DSH 图片查看器展示插画、适应窗口、原始大小、下载和图片编号附近的区域备注">
</p>
## 功能
- 以鼠标位置为中心的滚轮缩放、拖动查看、触控双指缩放和双击原始大小。
- 适应窗口、原始大小、原图下载、键盘切换和多图浏览。
- 下一版 0.1.1:下载时显示可用的进度,支持取消和重试;切换图片或关闭查看器会取消正在进行的下载。
- 显示图片名称、尺寸与真实像素缩放比例;超宽大图也能切换到 100%,调整窗口后保持图片可见。
- 图片加载中和加载失败都有明确提示,失败可重试;切换图片会重置拖拽状态,区域备注不会串到另一张未命名图片。
- 一次点击标记一个区域,备注直接显示在图片编号附近并自动获得输入焦点;Enter 保存并收起,Shift+Enter 换行。
- 使用 DSH 设计令牌适配亮色、暗色、响应式布局、焦点约束和减少动态效果设置。
- 提供可选的 `nativeImageViewer` 客户端服务,图片生成插件可以按需增加自己的后续操作。
未安装本插件或插件无法识别更新后的图片界面时,DSH 仍保持原有查看能力。其他插件可以在检测到服务时使用高级查看,但仍应保留自己的基础回退。
## 安装
从 npm 安装正式版:
```sh
dsh plugin --profile web add dsh-image-viewer@0.1.0
```
保存正在进行的工作后手动重启 DSH。本插件不需要供应商凭据或图片生成账户权限。
## 更新
使用目标版本对应的固定 `dsh plugin ... add` 命令更新。
## 卸载
```sh
dsh plugin --profile web remove dsh-image-viewer
```
卸载后恢复 DSH 内置图片灯箱,不会删除会话、附件、生成图片、供应商插件或凭据。
## 自定义下载接入
调用 `nativeImageViewer.open()` 时,图片条目的 `download.onInvoke` 会收到 `{ item, src, signal, onProgress }`。将 `signal` 传给下载请求,并通过 `onProgress({ loaded, total })` 上报字节数。文件总大小未知时省略 `total`,查看器显示准备状态和取消按钮。
旧的下载回调仍可使用;要实际停止自定义传输,回调需要响应 `signal`。查看器会忽略已取消操作的迟到进度和结果。下载权限及原图完整性校验仍由提供图片的插件负责。
## 隐私
图片数据保留在当前浏览器配置中。插件只读取 DSH 已经渲染的图片 URL,不上传图片、不调用模型,也不读取供应商凭据。当前 DSH 页面会话内重新打开同一张图片时,区域备注仍会保留;除非其他插件响应用户的明确操作,否则不会写入会话存储。
## 反馈
请通过[问题反馈表单](https://github.com/WSL043/dsh-image-viewer/issues/new?template=bug-report.yml)提供准确的插件版本、DSH 版本、操作系统、图片所在位置(消息或输入框)以及失败的操作。不要提交私人图片、凭据或完整会话日志。敏感安全问题请通过 [GitHub Security Advisories](https://github.com/WSL043/dsh-image-viewer/security/advisories/new) 私下报告。
## 许可证
[English](README.en.md) · [反馈问题](https://github.com/WSL043/dsh-image-viewer/issues/new?template=bug-report.yml) · [功能建议](https://github.com/WSL043/dsh-image-viewer/issues/new?template=feature-request.yml) · [MIT](LICENSE)
Install
dsh plugin --profile web add github:WSL043/dsh-image-viewer
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-image-viewer from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.