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

dsh-image-tiler

Shows oversized images to the model at a readably high resolution by tiling them before admission. 适合需要向模型发送超大或高分辨率图片,且希望保持图像细节不被过度压缩的用户。

Package
dsh-image-tiler
Compatibility
Unverified
Harness peer range
>=0.2.0-rc.1 <0.3.0-0
Cordis peer range
~4.0.4
Version
0.1.6
License
MIT
Last updated
Oct 10, 2026

Install

$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.