dsh-design
<p align="right"> <a href="./README.md"><kbd>English</kbd></a> <a href="./README.zh-CN.md"><kbd>中文</kbd></a> </p>
Clickable HTML prototypes inside DeepSeek Harness.


What it does
- Agent tools (
design_*) write HTML under.dsh-design/ - Preview is a scaled artboard at the platform size
- Click the page, drop pins, and continue in the same chat
Official plugin docs: tools · publish · Cordis
Requirements
- DeepSeek Harness web profile, Node.js 22+
- dsh-better-sidebar for the sidebar tab (optional; tools still write files without it)
Two places to open Prototype (toolbar checkboxes):
| Entry | Where |
|---|---|
| Sidebar tab (on by default) | better-sidebar + → Prototype |
| Chat tab (off by default) | in-chat view tab |
Install
From this directory:
dsh plugin --profile web add .Restart DSH. Open better-sidebar + and choose Prototype.
dsh plugin installs into $DSH_HOME/profiles/web and appends the bundle because package.json declares dsh.bundle.patch.
If add fails with pnpm v11.12.0 is a broken release, bump the profile packageManager pin (for example pnpm@11.22.0) and run the same command. That pin is not in this package.
Use
1. In chat: “Make a login page.” If you did not already say platform / look, the agent asks: web, iOS, or Android? paper or ink? 2. It calls design_create then design_write. HTML lands under .dsh-design/. 3. The Prototype tab shows a scaled artboard: - web 1280×800, iOS 390×844, Android 412×915 - several prototypes in one workspace → pick from the strip under the toolbar - − / % / + zoom · Pan or hold Space and drag · two-finger scroll to pan · ⌘/Ctrl+scroll to zoom 4. Pin: click a spot, write a note, then mention it in chat. The agent reads pins before rewriting.
Files may nest two folders. HTML can <link href="css/app.css">, <a href="settings.html">, <img src="assets/logo.png">. Raster images use encoding=base64. design_systems with id=paper or ink loads a sample page.
Looks:
| id | Use |
|---|---|
paper | Light product UI (auth, settings, content) |
ink | Dark operations UI (admin, tables, dashboards) |
Agent tools
| Tool | Role |
|---|---|
design_status | Projects in this workspace and the file currently previewed |
design_systems | Platforms, default artboards, and paper / ink |
design_create | New project; pass platform and designSystem from discovery |
design_brief | Complete or change the brief on an existing project |
design_write | Write html / css / js / svg / raster; first HTML needs a complete brief |
design_list | List files in a project |
design_open | Point preview at an existing HTML file or another project |
design_comments | Read canvas pins (x,y in 0..1, optional CSS selector) before rewriting |
Storage
<workspace>/.dsh-design/
current.json
projects/<id>/
project.json
comments.json
index.html
css/app.css
assets/logo.png
settings.htmlSafe to commit or gitignore. Paths stay under .dsh-design. Single file cap is 512 KiB (maxFileBytes).
Config
The bundle ships cordis.patch.yml. Official patches replace config wholesale. To override:
- insert:
- id: dsh-design
name: dsh-design
config:
maxFileBytes: 524288Develop
node --test test/*.test.jsTests use Node builtins only.
Product notes (Chinese): [docs/prd.md](docs/prd.md).
License
MIT. See [LICENSE](LICENSE).