Jinsong-Zhou / dsh-html-canvas

Listed

A DeepSeek Harness plugin that turns AI-generated HTML into a click-to-edit canvas beside the chat

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add @jinsong-zhou/dsh-html-canvas@latest

This command is generated from the GitHub repository address. Inspect the upstream README and source before running it; pin a release or commit when reproducibility matters.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 8e3db79Synced Aug 18, 2026

dsh-html-canvas

English | 简体中文

A DeepSeek Harness plugin that turns AI-generated HTML into a click-to-edit canvas beside the chat.

A DSH agent can build a complete HTML page, but the Web UI only shows it as a code block that most people can't read, let alone edit — this plugin closes that gap: the agent hands the finished page to one tool, it renders in a canvas beside the chat, and anyone can change it by clicking the text on the page, no source code ever.

dsh-html-canvas

Features

  • Click-to-edit — any text on the rendered page is editable: headings, buttons, nav links, bare <div> text, even text inserted later by page scripts.
  • Side-by-side, not overlapping — the canvas squeezes the chat column instead of covering it, and resizes with a drag handle.
  • Lives in the chat — the tool call renders as a link; close the canvas anytime and click the link to reopen it with edits and width intact.
  • Safe and localized — sandboxed iframe, no editor artifacts in the output, UI text follows the DSH locale (English / 中文).

Install

npx -y @deepseek-ai/dsh plugin --profile web add @jinsong-zhou/dsh-html-canvas@latest

Then restart the DSH web process and refresh the browser. For a local checkout, declare a file: dependency in the profile's package.json and insert it in cordis.patch.yml:

- insert:
    - id: html-canvas
      name: '@jinsong-zhou/dsh-html-canvas'

Usage

Ask the agent for any page — "make me an Apple-style personal homepage" — the canvas opens with the result, and you click the text to change it.

Development

node tests/host.test.mjs      # host contract (plugin must stay dependency-free)
node tests/client.test.mjs    # client behavior
DSH_WEB_URL=http://127.0.0.1:<port> node tests/verify-deployment.mjs

Note: the host half imports nothing by design — a bundled @deepseek-ai/* dependency gets hoisted into the profile and shadows the host's copy, which breaks every tool call. The tests guard this.

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 14, 2026, 2:27 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.