dsh-chat-image-lightbox
Full-screen lightbox for chat images: click any image to open the full-resolution original with zoom (wheel, buttons, shortcuts), drag panning, prev/next paging, filename caption and download, plus keyboard-arrow and touch-swipe navigation. One "image display control" popover next to the composer co
Install
dsh plugin --profile web add dsh-chat-image-lightbox
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
DSH Chat Image Lightbox 🖼
### 🛡 v1.8.9 — 工具行折叠 ≠ 已发送:铁律升级为「必须复述 + 计数自检」 / Collapsed tool row ≠ delivered
实测事故(2026-10-21):插件 20 张图(10 种格式)全部交付成功,但模型把图全留在 display_image 的工具结果里,
正文只写了一张格式对照表 → 用户回「一张没看见啊」。原因是 1.7.8~1.8.8 的铁律只写了「不得只依赖工具行」,
可以被「正文写了字但没写图」绕过。
1.8.9 起铁律升级为 6 条硬约束 + 1 条收尾自检:必须把工具返回的  原样复述进正文、
表格/结论/清单都不算图、发前数一遍正文里  与 [Troubleshooting ⑥](#sending-an-image-fails-with-sessionagent-busy-errdlopenfailed-fixed-in-175)。
If sending an image fails with those errors (plain text works fine), it is a known issue in 1.7.4 and earlier, fixed in 1.7.5. Upgrade and restart DSH. Cause: the old version pinnedsharpto0.34.4, conflicting with the kernel's^0.35.3over the same-namedlibvips-42.dll.
对话里的图,值得被认真看。
Images in chat deserve a proper look.
[English](#english) | [中文](#中文)
📦 npm 包名 / npm package name:dsh-chat-image-lightbox(无 scope / unscoped)
旧包名 @loyalchiiina/dsh-chat-image-lightbox 已被取代,历史版本已标记弃用。
The legacy scoped name @loyalchiiina/dsh-chat-image-lightbox is superseded; its older versions are deprecated.
dsh plugin --profile desktop add dsh-chat-image-lightbox
当前版本 / Current version:1.8.9
适用内核 / Requires:本包声明engines.dsh: ">=0.1.7-0 <0.3.0"与peerDependencies["@deepseek-ai/dsh"]: ">=0.1.7-0 <0.3.0"(带世代上界,因为 peer 是运行时门禁,不匹配会被宿主直接禁用);本版实测验证于 DSH NEXT 2.0.19-next,客户端组件@deepseek-ai/dsh-client-ui-tool实测0.2.1-rc.2。
This package declaresengines.dsh: ">=0.1.7-0 <0.3.0"andpeerDependencies["@deepseek-ai/dsh"]: ">=0.1.7-0 <0.3.0"(bounded by generation, because peers are a runtime gate: a mismatch makes the host disable the plugin outright); this release was verified end to end on DSH NEXT 2.0.19-next, with@deepseek-ai/dsh-client-ui-toolmeasured at0.2.1-rc.2.
⚠️ 升级到 1.7.3 前请注意 / Before upgrading to 1.7.3
1.7.2 起 移除了「跳图」功能(该功能在多次迭代中不够稳定,已整体删除,界面上不再出现 ⌖ 按钮)。
Since 1.7.2 the jump-to-image feature was removed — it proved unreliable across iterations and has been deleted outright; no ⌖ button appears anymore.
效果预览 · Screenshots
灯箱查看 · Full-screen lightbox
点开正文里任意一张图即全屏灯箱:原图按屏幕高度自适应,右下角标注当前是第几张(如「图4」)。
右侧竖排工具栏自下而上依次是:✕ 关闭、⬇ 下载、‹ › 上一张 / 下一张、复制、在文件夹中显示、
缩略图网格、隐藏图片、− + 1×(缩小 / 放大 / 复位比例)、↑ ← ↺ → ↓(上移 / 左旋 / 复位 / 右旋 / 下移),
底部显示当前缩放百分比。
切换图片 · Paging between images in the same message
同一条消息里的多张图可以连续翻页(截图里是 30 张的第 21 张)。红色箭头指的是右侧的 ‹ › 两颗按钮,
也可以用键盘方向键翻页;翻页后计数(如「21 / 30」)与缩放比例同步刷新。
缩略图分列 · Thumbnail grid with adjustable columns
3 列 · 3 columns
4 列 · 4 columns
5 列 · 5 columns
一键把整个会话的图片收成网格;面板里的「缩略图显示列数」可设 1–12 列,输入即生效并保存为默认值。
每格高度统一、object-fit: contain 居中,所以竖图横图混排也不会参差不齐;网格之后的正文从最左侧开始,不会被挤到中间。
隐藏 / 展开 · Hide / restore
一键隐藏所有图片,并把它占的空间完全收掉(不会留下空白带);再点一下原样恢复。
One click hides every image and closes up the space it occupied (no blank band left); another click restores everything.
功能总览 · At a glance(中英对照 / Bilingual)
灯箱查看 · Lightbox viewer
中文 · English
点击任意对话图片进入全屏灯箱 · Click any chat image for a full-screen lightbox
滚轮缩放、拖拽平移 · Wheel zoom, drag to pan
工具栏缩放按钮 ⊕ ⊖ 与 1× 复位 · Toolbar ⊕ / ⊖ zoom buttons with 1× reset
方向键平移视角(按住连续移动) · D-pad moves the view (press-and-hold repeats)
左右翻页:按钮 / 键盘 / 触屏滑动 · Prev/next via toolbar, keyboard or swipe
下载原图(自动识别扩展名) · Download original (extension auto-detected)
复制图片文件绝对路径 · Copy the image's absolute local path
在文件夹中显示(资源管理器定位) · Reveal in folder (file manager locates the file)
会话级图片控制 · Conversation-wide controls
工具行里的 「对话图显控制」 按钮打开面板,面板内含三项:
The "对话图显控制" button in the composer row opens a panel with three controls:
中文 · English
缩略图:一键把整个会话的图片收成网格 · Thumbnail: collapse every image in the conversation into a grid
缩略图显示列数:1–12 可调,改过即存为默认值 · Columns per row: 1–12, and your value is saved as the default
隐藏:一键隐藏 / 再点恢复,不留空白 · Hide: hide / restore all images, leaving no blank space
列数说明:默认 3 列。设置后会记住,下次启动仍用该值;改回其他值即覆盖默认。
Columns: 3 by default. The value is remembered across restarts; changing it again simply replaces the stored default.
格式与清晰度 · Formats & fidelity
中文 · English
TIFF/TIF、HEIC 自动转换显示 · TIFF/TIF, HEIC auto-transcode for display
TIFF/PNG/BMP 无损原像素(逐像素零误差) · TIFF/PNG/BMP lossless, native pixels (bit-exact)
2 亿像素大图流畅显示 · 200-megapixel images display smoothly
11 种格式实测支持(JPG/PNG/WebP/GIF/AVIF/SVG/BMP…) · 11 formats verified (JPG/PNG/WebP/GIF/AVIF/SVG/BMP…)
网图被防盗链拦截时自动转存本地显示 · Hotlink-protected remote images are auto-saved locally
宿主侧工具 · Host-side tool (display_image)
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::8,最后更新 2026-10-24