DeepSeek Harness plugin

dsh-canvas-design-harness

canvas-design-harness as a dual-spec package: a Codex/Claude skill under .agents/skills/ AND a DeepSeek Harness plugin bundle that registers it via ctx.skills.register.

Jump to install

Source facts

Repository
askman-dev/dsh-canvas-design-harness
Latest update
Aug 19, 2026
Category
Tools & Capabilities
GitHub stars
3
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/askman-dev/dsh-canvas-design-harness
Plugin: dsh-canvas-design-harness
Author: askman-dev

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only
README language

Canvas Design Harness for DeepSeek Harness

English | 简体中文

> 🎨 Interactive Figma-style canvas design plugin & dual-spec Skill for DeepSeek Harness. > Create, inspect, and iterate on multi-frame UI designs directly inside DeepSeek Harness Web GUI, while remaining 100% standalone for Codex, Claude Code, and terminal workflows.

---

📸 Visual Overview

<details open> <summary><b>🖼️ 1. Design Gallery (Grid Overview)</b> — Browse all workspace design documents</summary> <br/> <a href="./docs/assets/gallery-grid.png"> <img src="./docs/assets/gallery-grid.png" alt="Design Gallery Grid" width="100%" style="border-radius: 8px; border: 1px solid rgba(0,0,0,0.1);" /> </a> </details>

<details open> <summary><b>🎨 2. Multi-Frame Canvas (Grok Mobile App)</b> — Infinite canvas with responsive device frames</summary> <br/> <a href="./docs/assets/canvas-viewer-grok.png"> <img src="./docs/assets/canvas-viewer-grok.png" alt="Multi-Frame Canvas View" width="100%" style="border-radius: 8px; border: 1px solid rgba(0,0,0,0.1);" /> </a> </details>

<details open> <summary><b>📊 3. Living Specs (AI Apps Comparison)</b> — Multi-page design specs version-controlled in Git</summary> <br/> <a href="./docs/assets/canvas-viewer-comparison.png"> <img src="./docs/assets/canvas-viewer-comparison.png" alt="Living Specs Canvas View" width="100%" style="border-radius: 8px; border: 1px solid rgba(0,0,0,0.1);" /> </a> </details>

---

🌟 Key Highlights

1. Integrated "Design Gallery" in DeepSeek Harness UI

  • Seamlessly mounts into the conversation.view tab ring (alongside Chat and Trajectory).
  • Instant visual gallery of all design documents located in docs/designs/.
  • Embedded full-height interactive viewer with zoom, pan, and real-time hot-reloading.

2. HTML as Universal Living Specifications

  • Human-Friendly: Clean, readable HTML files (docs/designs/*.html). Double-click to open in any standard web browser without heavy proprietary design software.
  • AI-Friendly: Standard semantic DOM structure. LLMs can inspect, generate, and perform atomic mutations on frames and components with 100% precision.
  • Git-Native Specs: Design files live right in your repository as code. Commit, branch, diff, and review living design specifications alongside your application code.

3. Figma-Like Interactive Canvas Experience

  • Multi-page document architecture with infinite pan/zoom canvas.
  • Built-in device frame presets (Mobile, Desktop, Modals, Flow diagrams).
  • Zero-dependency built-in HTTP-MCP daemon (127.0.0.1:9321) handles live synchronization and SVG exports.

4. Dual-Spec Package

  • DeepSeek Harness Plugin: Declares dsh.bundle.patch & dsh.client for complete host-and-client GUI integration.
  • Codex / Claude Code Skill: Self-contained skill engine at .agents/skills/canvas-design-harness/, ready to run standalone.

---

🚀 Quick Start

1. Install into DeepSeek Harness

#### Option A: Direct Git Install (Recommended)

Install directly from GitHub into your DSH Web profile:

dsh plugin --profile web add git+https://github.com/askman-dev/dsh-canvas-design-harness.git

#### Option B: Local Clone (For Development)

git clone https://github.com/askman-dev/dsh-canvas-design-harness.git
dsh plugin --profile web add ./dsh-canvas-design-harness

#### Restart Web Profile

After installation, restart the DSH Web profile in your terminal:

dsh web
# or run the restart script:
python3 /path/to/dsh-canvas-design-harness/scripts/restart-web.py

Refresh your browser (http://127.0.0.1:3080), and you will see the Design Gallery (设计大厅) tab in the top navigation ring.

2. Conversational Design Generation

1. Describe your UI in chat: > "Design a user login and registration interface for me with mobile screens" 2. Automatic Generation: The Agent invokes canvas_harness_* tools to generate and render design files under docs/designs/. 3. Inspect in Design Gallery: Open the Design Gallery tab to view your interactive canvas.

---

🏗️ Repository Layout

dsh-canvas-design-harness/
├── .agents/skills/canvas-design-harness/   # Canonical skill engine (synced from upstream)
│   ├── SKILL.md       # Skill definition & guidelines
│   ├── reference/     # Canonical styles & scripts (canvas-frames.css / canvas-frames.js)
│   ├── server/        # Zero-dependency HTTP-MCP daemon (port 9321)
│   └── specs/         # Protocol specifications
├── client/            # DSH Web GUI client module
│   ├── design-view.js # React frontend source (DSH locale & Design System)
│   ├── bundle.js      # Built classic-script bundle (__ModuleLoader__)
│   └── logic.js       # Pure logic & testing helpers
├── host/              # Host tools bridge
│   ├── tools.js       # Model tool bridge definitions (canvas_harness_*)
│   └── tools-entry.js # Cordis tool registration entry
├── scripts/           # Build, verification & maintenance scripts
│   ├── build-client.mjs  # Bundle packaging script
│   ├── restart-web.py    # Sandbox-safe profile restarter
│   ├── verify-web.mjs    # Live GUI acceptance test script
│   └── sync-from-upstream.sh # Upstream skill synchronization
├── docs/assets/       # Visual preview screenshots
├── plugin.js          # DSH plugin entry (skills, daemon lifecycle, /canvas/* routes)
├── package.json       # Manifest declaring dsh.bundle.patch & dsh.client
├── cordis.patch.yml   # Cordis profile patch configuration
└── test/smoke.mjs     # 42-check offline integration test suite (Parts A–F)

---

🛠️ Model Tools Bridge

The plugin exposes the following structured tools to the AI model (addressed by root + name):

ToolPurposeMCP Method
canvas_harness_ensure_workspaceProbe/spawn daemon & register workspacePOST /workspaces
canvas_harness_list_designsList all .html designs in workspaceworkspace.listFiles
canvas_harness_create_designCreate a new design HTML documentdocument.createFile
canvas_harness_get_documentRead and parse the document node treedocument.getDocument
canvas_harness_batchAtomically apply batch operations on frames/componentsbatch
canvas_harness_validateValidate document structure and framesdocument.validate
canvas_harness_screenshotRender frames to SVG without a browsernode.getScreenshot
canvas_harness_mcp_callRaw MCP JSON-RPC escape hatchtools/call

---

💻 Development & Acceptance

Run the three-step acceptance suite after making any changes:

# 1. Rebuild the client bundle
npm run build:client

# 2. Run the 42-check offline test suite (Skills, Discovery, Daemon, E2E Routes, Boot Race)
node test/smoke.mjs

# 3. Verify against the live running Web GUI
node scripts/verify-web.mjs

Standalone Skill (Codex / Claude Code)

The skill can also run independently without DeepSeek Harness:

cd .agents/skills/canvas-design-harness/server
node src/index.js <your-designs-folder>      # Defaults to http://127.0.0.1:9321

---

📄 License

[MIT License](LICENSE)