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_imagein the DSH Web GUI conversation flow. - Provide a dedicated
Read imagerow. - 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/attachmentendpoint. - 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:
- Every time the model calls
read_image, the image is visible directly in the conversation. - When multiple images are read in a single request, they are automatically arranged side-by-side in a row.
- Transparent images display a PS-style gray and white checkerboard pattern.
- 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/attachmentendpoint. session/attachmentis 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 theuseSessionsnapshot 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