Introduction¶
In the DeepSeek Harness (DSH) ecosystem, Agents typically handle context as text. If you need to display local images or files in a conversation, you usually have to manually copy URLs. dsh-media-serve solves this problem. It works as a host plugin that exposes files under the DSH GUI web server, allowing Agents to render images directly in the conversation without opening extra ports or processes.
Core Features¶
This plugin exposes workspace files through the /media route. Its core capabilities include:
- Automatic discovery: Supports cross-machine and cross-workspace access. It reads the DSH workspace registry(
workspace.json)and automatically finds the path of the currently active workspace, so no fixed path needs to be configured manually. - Security restrictions: Allows GET/HEAD requests only. It strictly validates request paths, rejecting
.., empty segments, and NUL characters to prevent directory traversal attacks. Only extensions on the whitelist (png/jpg/jpeg/gif/webp/avif/svg/mp4/webm/txt/md/json/html) are allowed; other requests return 404. - Zero-overhead integration: It uses the web server built into the DSH GUI to serve files, so no extra HTTP process is required, and it remains effective after restart.
Installation and Enablement¶
After installation, you must restart dsh (web profile) or refresh the GUI for the changes to take effect.
1、Add the plugin using the official installation command:
dsh plugin --profile web add github:qfwycn/dsh-media-serve
2、Restart the DSH web profile or refresh the frontend interface.
Typical Usage¶
After installation and restart, the Agent will automatically recognize this capability. You only need to ask in the conversation to display a file, and the Agent will automatically use the /media route to render the image.
Example conversation:
* User: “Show me this screenshot”
* Agent: Automatically generates a Markdown code block that renders the image.
Markdown reference example:

Notes¶
- Display only, no recognition: This plugin only provides file display. It does not give the large language model Vision capabilities, and it does not perform OCR or image content recognition. The text model cannot “see” image content, so do not rely on it to understand or judge images.
- LAN visibility: If the DSH web service binds to
0.0.0.0, the/mediaroute is visible to other devices on the local network. - Path validation: The plugin uses relative path validation to ensure file access is strictly confined within the discovered workspace root directory.
Summary¶
dsh-media-serve is a lightweight file display plugin designed for the DSH environment. It can be installed easily to meet the need for Agents to display local files in conversations, making it suitable for developers who frequently need to view screenshots, documents, or media assets.