前言¶
DeepSeek Harness (DSH) 的核心设计理念之一是「一切皆插件」。在构建视觉能力时,如果直接将大图输入给视觉模型,模型通常会将整张图整体缩放到约 800×800 的等效像素,导致局部细节丢失。
meng-114/dsh-image-tiler 插件正是为了解决这一问题而生。它将大图像分割成带坐标标注的切片,并保留一张全局概览图。这样既能保留视觉模型所需的细节,又能通过概览图快速定位目标区域。
核心功能¶
该插件提供了一套完整的工作流,主要包含两个工具和一系列辅助功能。
切图工具:tile_image¶
调用 tile_image 即可完成切片。工具会根据配置参数将原图分割,并生成对应的输出文件。
参数包括:
* file_path:输入图片路径。
* tile_size:切片边长,默认 800 像素。
* overlap:切片重叠区域,默认 40 像素。
* output_dir:输出目录,默认 tiles。
* format:输出格式(如 png、jpeg、webp)。
* label:标签。
* overview_size:概览图边长。
* max_tiles:最大切片数,默认 64。
读图工具:read_tiles¶
read_tiles 负责读取切片,支持多种读取策略:
* 区域选片:支持 center、left、right、top、bottom、full,或显式指定坐标(如 r1c2)。
* 语义定位:通过 target 参数直接描述目标(如 “the login button”),插件会调用视觉模型在概览图上定位目标框,并返回覆盖该区域的切片。
* 工作台勾选:无参数调用时,插件会读取用户在可视化工作台中勾选的切片。
可视化工作台与拖入即切片¶
- 可视化切片工作台:模型调用
tile_image后,工具卡片会变为交互界面。你可以拖动滑块预览网格,点击“切片”生成缩略图网格,并手动勾选需要读取的切片。 - 拖入即切片:支持将图片直接拖入 DSH Web 界面。插件会自动将图片存入工作区的
.dsh-imgtiler/目录并完成切片。
安装与兼容性¶
安装命令如下:
dsh plugin add @mengli114/dsh-image-tiler
该插件对 DSH 版本有要求,仅支持 DSH 0.1.7 线(>=0.1.7-rc.1)以上的版本。旧版本不支持设置卡片功能。
典型用法¶
1. 切分图像¶
先调用 tile_image 对大图进行切片:
tile_image({
file_path: "large.png",
tile_size: 800,
overlap: 40,
format: "png"
})
2. 读取切片¶
- 按坐标读取:
read_tiles({
// 读取第 1 行第 2 列及周围区域
region: "r1c2"
})
- 语义定位读取:
read_tiles({
target: "the login button"
})
模型会自动在概览图上定位“登录按钮”,并返回覆盖该区域的切片。
注意事项¶
- 路径安全:插件严格限制输入与输出路径,均必须在当前会话的工作区(
session.header.cwd)内。不要使用绝对路径或超出工作区的路径。 - 输入格式:支持 PNG、JPEG、GIF、WebP、AVIF、HEIF、TIFF。注意:GIF 文件仅按首帧处理。
- 切片数量:单次调用最多支持 600 张切片(工具默认 64 张,可通过
max_tiles参数上调)。 - 优先级规则:
- 当
target与显式tiles参数同时给出时,显式tiles优先。 - 当
target与工作台勾选同时存在时,target优先。
- 当
总结¶
meng-114/dsh-image-tiler 是一个功能完备的图像处理工具,通过切片和概览图机制,帮助视觉模型在保留细节的同时降低 token 消耗。配合可视化工作台和语义定位功能,它能够显著提升复杂图像任务的准确性和效率。