Back to home@xbyzzZ

dsh_design

Clickable HTML prototype canvas for DeepSeek Harness.

Stars
0
Language
JavaScript
Created
Aug 21, 2026
Updated
Aug 21, 2026

Introduction

dsh-design

English 中文

Clickable HTML prototypes inside DeepSeek Harness.

License: MIT

Chat view tab Prototype: a scaled 1280×800 web login with zoom, pan, pins, and a prototype list

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):

EntryWhere
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:

idUse
paperLight product UI (auth, settings, content)
inkDark operations UI (admin, tables, dashboards)

Agent tools

ToolRole
design_statusProjects in this workspace and the file currently previewed
design_systemsPlatforms, default artboards, and paper / ink
design_createNew project; pass platform and designSystem from discovery
design_briefComplete or change the brief on an existing project
design_writeWrite html / css / js / svg / raster; first HTML needs a complete brief
design_listList files in a project
design_openPoint preview at an existing HTML file or another project
design_commentsRead 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.html

Safe 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: 524288

Develop

node --test test/*.test.js

Tests use Node builtins only.

Product notes (Chinese): docs/prd.md.

License

MIT. See LICENSE.