前言¶
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 消耗。配合可視化工作臺和語義定位功能,它能夠顯著提升複雜圖像任務的準確性和效率。