Introduction¶
DeepSeek Harness (DSH) extends its capabilities through plugins. When an agent needs to generate a user interface, text descriptions alone are often insufficient to evaluate interaction logic or layout effects. The dsh-design plugin solves this problem: it allows Agent tools to write HTML directly and generate a clickable prototype preview locally.
What It Is¶
This is a client-side plugin for generating and previewing interactive HTML prototypes in DeepSeek Harness.
Maintainer: xbyzzZ
Category: Client
License: MIT
The plugin writes HTML files to the .dsh-design/ path under the project directory via Agent tools, and uses browser preview technology to render the page as a proportionally scaled artboard.
Installation and Enabling¶
Plugins are installed with the dsh plugin command. After installation, DSH must be restarted for the changes to take effect.
- Run the install command in the plugin directory:
dsh plugin --profile web add .
The plugin will be installed to $DSH_HOME/profiles/web and loaded as a patch bundle.
-
Restart DeepSeek Harness.
-
Open the Prototype tab:
- Ifdsh-better-sidebaris installed, select Prototype from the+menu in the sidebar.
- If that plugin is not installed, open the preview tab from the chat page’s view.
Core Features¶
The plugin provides a set of Agent tools and preview interaction capabilities.
Agent Tools¶
Agents can use the following tools to interact with prototype files:
| Tool Name | Purpose |
|---|---|
design_status |
View the current workspace and file being previewed |
design_systems |
Retrieve platform info, default canvas sizes, and paper / ink design systems |
design_create |
Create a new project; requires platform and designSystem |
design_brief |
Update or modify the requirements brief for an existing project |
design_write |
Write HTML / CSS / JS / SVG / raster images |
design_list |
List files in the project |
design_open |
Open an existing HTML file or another project |
design_comments |
Read pinned-point information on the canvas |
Preview and Interaction¶
In the Prototype tab, the page is displayed as a proportionally scaled artboard:
- Platform sizes: Web (1280×800), iOS (390×844), Android (412×915).
- Zoom and pan: Use
−/%/+to zoom, or hold Space and drag to pan. Two-finger scrolling and ⌘/Ctrl+wheel zooming are supported. - Prototype selection: Multiple prototypes may exist in the same workspace; select one from the strip below the toolbar.
- Pinning: Click anywhere on the page to add a pinned point. Mention that point in chat, and the Agent will read it and modify the code accordingly.
File Support¶
- Nested folders are supported.
- External links are supported (e.g.,
<link href="css/app.css">). - Internal links are supported (e.g.,
<a href="settings.html">). - Raster images are embedded using Base64 encoding.
Typical Usage¶
- Enter a command in chat, for example: “Make a login page.”
- The Agent will ask for the platform and design system (e.g., web/iOS/Android, paper/ink).
- The Agent calls
design_createanddesign_write, generating HTML files into.dsh-design/. - Open the Prototype tab to view the generated page.
- Click and pin a location on the page, enter feedback in chat, and the Agent will rewrite the code based on the pinned point.
Configuration and Limitations¶
Configuration¶
The plugin includes a cordis.patch.yml patch file. Official patches replace the entire configuration. To override a specific configuration item (such as maxFileBytes), manually insert the following structure:
- insert:
- id: dsh-design
name: dsh-design
config:
maxFileBytes: 524288
Limitations¶
- Runtime environment: Requires the web profile of DeepSeek Harness and Node.js 22+.
- File size: Maximum file size is 512 KiB (
maxFileBytes). - Storage path: Files are stored under
<workspace>/.dsh-design/, with structures such ascurrent.json,projects/<id>/, and so on.
Conclusion¶
dsh-design provides visual interaction capabilities for agent development in DSH, enabling it to not only write code but also “draw” pages. For more details and source code, visit the GitHub repository.