Repository navigation
Releases: ChordXD/dsh-image-compare
Release list
v0.4.0 — 纯侧边栏工具
图片现在只从面板自己的目录浏览器进入。上一版的模型调用工具(view_images / browse_images)与它生成的对话卡片已移除。
为什么移除
对话卡片上的「右侧栏」按钮无法稳定打开右栏面板。根因是调错了一个 API:它用的是 ctx.layout.openRightbar,而那个方法的契约是报告右栏的呈现方式(Report the right panel's presentation without changing its expanded state),并不会打开任何东西。真正打开这一列的是 ctx.sidebarRight.openTab(kind)。
我改用了正确的 API,但我自己无法实测那一次点击——本会话的工具集里没有 view_images,也就造不出那张卡片。与其发布一个我验证不了的入口,不如先把它撤下,把面板做扎实。
这一版你能用的
打开右栏「图片查看器」,在面板里浏览工作区、勾选图片、点「打开」:
- 一页并排 1/2/3/4/6 张,上下或左右翻页
- 每张独立缩放(0.1x–8x)与中键拖动平移
- 整组同步:把当前这张的缩放与显示位置一键应用到全部
- 缩略图条点击跳页、拖动排序
- 面板内直接浏览工作区(本地会话列本地,SSH 会话列远程)
修复
- 首次缩放不再跳变:放大尺寸改为
适应后的尺寸 × 缩放倍率,先前的原图像素 × 倍率会让第一次放大直接跳到 1:1,与窗口大小无关。同时窗口变化后会重新测量,缩放基准不再冻结在首次布局上。 - 格子不再被内容撑高:
.dshiv-fit补上overflow:hidden,短窗口下同一页的图片不会再互相压叠。 - 放大后的图片与适应态留白一致:留白统一由 pane 承担(选中轮廓画在 pane 上),滚动条不再压在图边。
- 诊断信息改为可选:新增设置项「显示诊断信息」,默认关闭。它原先在窄栏里会换行成一叠,占满它本该解释的图片区。
- 首次点击被吞的问题:拖动标记是模块级的(拖动中 pane 重建时需要它存活),但会跨用例残留;已在测试环境重置。
- 删除了一处重复的 CSS 声明与多处已失效的注释、无调用者的解析器。
兼容性
- DSH 0.2.0-rc.2 及以上(Web 界面 / 桌面版)
- 无依赖、无构建步骤(纯 JS,
package.json里没有scripts),装上即用
安装
dsh plugin --profile web add github:ChordXD/dsh-image-compare或在 Web 界面:左侧栏 插件 → 添加插件 → 粘贴 github:ChordXD/dsh-image-compare → 重启。
后续计划
恢复模型可调用的工具,把这组图直接发布到右栏面板,省掉手动选图。届时需要一并解决"如何可靠地把用户带到面板"——不再依赖对话卡片上的按钮。
v0.3.0 — 侧边栏多图对比
在侧边栏里同时对比多张图片
DSH 内置的 read_image 一次只能把一张图放进对话窗口 —— 想对照"改前 vs 改后"、横向比五个方案的截图,只能一张张点开、来回翻。这个插件给右栏加了一个常驻的「图片查看器」面板:
侧边栏 → 图片查看器 → 勾选几张图 → 点「打开」→ 并排对比
一页放 1/2/3/4/6 张、任意放大拖动、拖动缩略图改顺序,而且整组同步 —— 把当前这张的缩放和位置一键应用到其他所有图,每张都停在"同一处内容",细节对比才真正对得齐。
图片只给你看,不进模型上下文:摆 20 张 2MB 的截图,对话里也不会多一个字。
安装
dsh plugin --profile web add github:ChordXD/dsh-image-compare或在 Web 界面的 插件 → 添加插件 里粘贴 github:ChordXD/dsh-image-compare,然后重启 DeepSeek Harness。
不需要安装任何依赖 —— 宿主半边用 profile 提供的服务,客户端只用 shell 预载的 react。
这一版有什么
- 对比:一页并排 1/2/3/4/6 张;整组同步缩放与位置;拖动缩略图任意排序
- 看图:每张独立缩放(0.1x–8x)、中键拖动平移(一比一跟手)、上下/左右翻页、缩略图条跳页
- 取图:面板内直接浏览工作区(本地/SSH 会话各自解析)、勾选入队、失败说明原因
- 不打扰:只有点「打开」才换画面;浏览与勾选不会打断正在进行的对比
环境
DeepSeek Harness 0.2.0-rc.2 及以上(Web 界面 / 桌面版)。
质量
10 项宿主测试、26 项客户端测试(jsdom + 真实 React 18)、真本 defineTool schema 复验,以及在真实 harness 里跑客户端半边的启动验证。
MIT