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:

  1. Tool show_html: The Agent invokes this tool to display an HTML page. The parameters are path (path), title (title), and note (note). The page body is stored as a file, making it easy to iterate and archive.
  2. 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.”
  3. In-conversation cards: Display actions such as title, path, refresh, fullscreen, and open in browser. Invisible historical cards do not retain an active iframe.
  4. In-screen fullscreen: Implemented through a framework-level overlay. Press Esc to exit, and the scroll position is preserved.
  5. Two feedback paths: The page can use postMessage to fill the conversation input box with the user’s reaction in one click, or append it to a feedback file via POST /api/showme/feedback.
  6. Four preset styles: Includes soft (soft modern), swiss (Swiss International Style), brutal (neo-brutalist), and blueprint (blueprint/engineering drawing).
  7. Acknowledgment health check: Scans the page before display and checks for targetable IDs, postMessage callback configuration, and relative resource references.
  8. 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_html call (create-only).
  • File naming: The page file name must have the same name as the data file name (for example, mypage.html and mypage.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: