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. 适合需要向模型发送超大或高分辨率图片,且希望保持图像细节不被过度压缩的用户。
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Ssrs-Pro-Max/dsh-image-tilerREADME
Read the full README ↗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:
| key | default | effect on tiling |
|---|---|---|
maxImagesPerMessage | 20 | The 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. |
normalizedImageMaxPixels | 4194304 | The 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. |
maxImageBytes | 20971520 | The 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.