Introduction

In DSH’s Web GUI conversation flow, after the model calls read_image, users typically want to see the image directly, rather than just a reference or text within the tool result. dsh-read-image-view is a client-side plugin that fills this display layer: it allows the Web GUI to display the images read by read_image directly in the conversation, covering viewing scenarios such as transparent images, multiple images, and in-page zooming.

It is maintained by Yu-tao-Li and is licensed under the MIT License.

What is it

dsh-read-image-view is a client-side plugin for the DSH Web GUI, designed to make read_image results visible directly in the conversation.

  • Pure client-side plugin (browser-only).
  • Zero runtime dependencies.
  • Does not modify the DSH core.
  • Only affects the Web GUI; TUI and other interfaces remain unaffected.

Core Features

The capabilities listed below all revolve around “displaying the images read by read_image”:

  • Directly display images read by read_image in the DSH Web GUI conversation flow.
  • Provide a dedicated Read image row.
  • Results are expanded by default, using the same image card style as the message.
  • Transparent images display a PS-style gray and white checkerboard pattern.
  • Multiple images read in the same request are merged and displayed side-by-side in a row.
  • In-page zoom layer supporting zoom buttons, mouse wheel, and 1:1 original size.
  • Image bytes are retrieved via the session/attachment endpoint.
  • The plugin itself performs no file I/O and does not add new network endpoints.

Installation and Activation

The installation command is as follows, using --profile web for the Web GUI profile:

dsh plugin --profile web add github:Yu-tao-Li/dsh-read-image-view

Profile plugin sets are assembled at startup; a restart is required after installation:

dsh web

The verified runtime environment requirements are:

Node >=22

Typical Usage

After installation and restart:

  1. Every time the model calls read_image, the image is visible directly in the conversation.
  2. When multiple images are read in a single request, they are automatically arranged side-by-side in a row.
  3. Transparent images display a PS-style gray and white checkerboard pattern.
  4. The in-page zoom layer supports zoom buttons, mouse wheel, and 1:1 original size.

Use Cases and Considerations

Suitable for scenarios where you primarily work within the DSH Web GUI and need to view read_image results directly as images. It does not alter the behavior of the TUI or other interfaces.

As a DSH plugin, the plugin runs with the permissions of the current dsh process. Before installation, you should check the source code and license:

https://github.com/Yu-tao-Li/dsh-read-image-view

Use LICENSE to view the license terms, and it is recommended to read the source code before installing.

Additionally, note the following boundaries:

  • Only effective in the Web GUI; TUI / other interfaces are not affected.
  • Image bytes are retrieved only via the session/attachment endpoint.
  • session/attachment is session-authenticated and only allows attachments referenced in the session’s persistent logs; cross-session references are rejected.
  • The plugin itself performs no file I/O and does not add new network endpoints.
  • Relies on built-in shell modules react / react-dom / dsh-client-ui-primitives, image.* language keys, and the useSession snapshot hook.
  • If the upstream adjusts slot contracts, module loading tables, or session snapshot structures, synchronization is required.

Conclusion

The value of dsh-read-image-view is focused: it ensures that read_image results in the DSH Web GUI are no longer limited to tool text but are viewed directly as images. Repository address:

https://github.com/Yu-tao-Li/dsh-read-image-view