In the development scenario of DeepSeek Harness (DSH), large model outputs often include local image paths. Without additional processing, these paths are displayed only as plain text and cannot be previewed directly. The dsh-inline-images plugin parses message streams and renders local images and video files into the conversation body, solving this pain point.
Plugin Introduction¶
This is a client-side plugin maintained by Asher-2000. It scans local image paths in assistant reply text and converts them into accessible URLs, allowing images or video links to be rendered directly in the message body. This plugin is based on the repaired and enhanced version 3403473060/dsh-inline-images, and it fixes several compatibility issues that the original had on DSH 0.1.x.
Core Features¶
- Inline rendering in message body: Recognizes drive-letter paths, UNC paths, POSIX paths, and the
syntax, and rewrites files that actually exist into renderable URLs. - Image + video support: Supported image formats include png, jpg, jpeg, webp, gif, svg, avif, bmp, and ico. Supported video formats include mp4, webm, and mov.
- Automatic URL correction: Existing inline image/video URLs in the message (with expired tokens) are automatically replaced with valid tokens for the current process during streaming output, so they remain accessible after a page refresh.
- Dual-channel rewriting for streaming and persistence: Rewrites both
text-delta(ensuring saved messages are also corrected) andblock-end(ensuring real-time streaming display). - Click-to-enlarge lightbox: Clicking an image in the message body opens it in a fullscreen lightbox. Click the background or press Esc to close it.
- Adjustable size: The default size is 480×320. It can be adjusted through settings or by changing the default value (range 64–2400 px).
- Quiet fallback: Non-existent, example, or placeholder paths are silently skipped, with no impact on the conversational experience.
Installation and Enabling¶
Installing this plugin requires first downloading the source code and then running the installation command.
dsh plugin --profile web add ./dsh-inline-images
Typical Usage¶
The plugin supports Markdown syntax. Enter  in a message to trigger rendering. Local images such as screenshots and generated images can be displayed directly in the message body, while video files are presented as clickable playback links.
If accessing DSH Web through a reverse proxy or custom domain, modify the https://<your-address> prefix in src/index.ts to the actual address and rebuild the plugin.
Notes¶
- Dependency injection fix: Using this plugin requires completing dependency injection for
webServer,fs, andattachments; otherwise, routes may fail to register or errors may occur. - Permissions and provenance: The plugin performs file reading operations with the current DSH process permissions. Please inspect the source code and license (MIT) before installing it.
- Protocol compatibility: The earlier modified version hardcoded local addresses. The current version uses full absolute URLs, is compatible with reverse proxy deployments such as Nginx, and fixes the issue where MarkdownText rejected URLs without a protocol.
Summary¶
The plugin ensures consistency between streaming display and persistence after a page refresh through a dual-channel rewriting mechanism, and provides interactive features such as click-to-enlarge and video playback.
More details and source code: GitHub | Plugin directory