DSH (DeepSeek Harness) is a plugin-based development platform. When building Agent workflows that include visual output, Markdown text loses visual information, making it difficult for users to distinguish variants and prone to losing semantic nuance during feedback. The dsh-showme-html plugin solves this problem by allowing Agents to render HTML pages in the workspace as chat cards and return the user’s on-page reactions to the Agent as structured text.
Core Capabilities¶
This plugin includes the following core features:
- Tool
show_html: The Agent invokes this tool to display an HTML page. The parameters arepath(path),title(title), andnote(note). The page body is stored as a file, making it easy to iterate and archive. - Mirror read routing: Provides a
GET /api/showme/raw/<sessionId>/<工作区相对路径>endpoint. Relative references in the page (such as<img>and style files) work normally, and the same address is equivalent to “opening the original file in the browser.” - In-conversation cards: Display actions such as title, path, refresh, fullscreen, and open in browser. Invisible historical cards do not retain an active iframe.
- In-screen fullscreen: Implemented through a framework-level overlay. Press Esc to exit, and the scroll position is preserved.
- Two feedback paths: The page can use
postMessageto fill the conversation input box with the user’s reaction in one click, or append it to a feedback file viaPOST /api/showme/feedback. - Four preset styles: Includes
soft(soft modern),swiss(Swiss International Style),brutal(neo-brutalist), andblueprint(blueprint/engineering drawing). - Acknowledgment health check: Scans the page before display and checks for targetable IDs,
postMessagecallback configuration, and relative resource references. - Skill
showme-report: Teaches the Agent how to author pages, including style imports, the acknowledgment contract, and the exchange format.
Installation¶
Install the plugin from the command line:
dsh plugin --profile web add "github:liceses/dsh-showme-html"
After installation, restart the dsh web service to apply the changes.
Typical Usage¶
1. Author HTML¶
Import a preset style in the content generated by the Agent:
<link rel="stylesheet" href="presets/swiss.css">
2. Invoke the Tool¶
The Agent invokes the show_html tool:
show_html({
path: ".dsh/showme/review.html",
title: "设计评审",
note: "挑一个变体"
})
3. View and Give Feedback¶
The page appears as a card in the conversation. The user can provide on-page feedback, and clicking “Fill into input box” appends the text to the conversation input box.
Notes¶
- No persistent service: It does not add an independent service and relies on the host DSH web server.
- Directory location: Pages are placed by default in the hidden
.dsh/showme/directory, without polluting the source tree. - Styles and templates: Preset styles are not mandatory. If you need to review the visual design of a specific system, use the official color palette. The template file is created on the first
show_htmlcall (create-only). - File naming: The page file name must have the same name as the data file name (for example,
mypage.htmlandmypage.data.js). - Offline available: The preset styles are self-contained, with no external fonts or CDNs, and remain available when offline.
Ecosystem¶
This plugin follows the MIT license and is maintained by liceses. The DSH philosophy is “everything is a plugin,” and the community directory provides a plugin index. For more details, see: