Ssrs-Pro-Max/dsh-image-tiler ↗★ 0

dsh-image-tiler

对超大图片进行切片以高分辨率传给模型 适合需要向模型发送超大或高分辨率图片,且希望保持图像细节不被过度压缩的用户。

套件
dsh-image-tiler
相容性
待驗證
Harness 依賴範圍
>=0.2.0-rc.1 <0.3.0-0
Cordis 依賴範圍
~4.0.4
版本
0.1.6
授權
MIT
最近更新
2026年10月10日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Ssrs-Pro-Max/dsh-image-tiler

Configuration

The plugin adds no settings of its own. It is the store, so the only block it reads is the one the official attachment-local row already accepts:

- id: attachment-local
  disabled: true          # the plugin serves `attachments` in its place

- insert:
    - id: image-tiler
      name: dsh-image-tiler

Every key of the official attachment-local row still applies, unchanged: dshHome, maxImageBytes, maxImagesPerMessage, maxMessageImageBytes, maxImagePixels, maxImageDimension, normalizedImageMaxPixels, normalizedImageMaxDimension, normalizedImageMaxBytes, imageCompressionConcurrency.

Two of them decide what the tiler can do:

keydefaulteffect on tiling
maxImagesPerMessage20The tiling budget, shared evenly by the images in one message. A single 8000x8000 upload is spent as 20 tiles of 2000x1600 (20.4x the detail of the single downscaled image); three uploads in one message get 6 tiles each (about 15.5x) so no image is left behind at the provider's print. Lowering it makes each piece larger and less readable, because a piece bigger than normalizedImageMaxPixels is downscaled after the crop.
normalizedImageMaxPixels4194304The ceiling on one published image. The planner is told this number and keeps every piece under it, so no piece is downscaled after being cut.
maxImageBytes20971520The ceiling on one stored image. A tile bigger than this would make the store refuse the whole message, so the tiler measures every tile and sends the source whole if one of them is over. In practice a piece lands far below it: PNG is lossless, so even photographic tiles stay in single-digit megabytes.

The row also has to be reachable: if the profile already raises the global image ceiling for huge uploads, keep those values. The plugin does not change them, and a source the store refuses never reaches the tiler.