IWAIBAOLI/dsh-with-pencil
dsh-with-pencil
Official Pencil (pen.dev) canvas inside DeepSeek Harness: conversation-bound workspaces, live agent edits, and 7 MCP design tools — headless engine + browser editor.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-with-pencilRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-with-pencil)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from IWAIBAOLI/dsh-with-pencil, cleaned of badges and images.
dsh-with-pencil
English
Use the official pen.dev Pencil editing capabilities inside DeepSeek Harness. DeepSeek remains the design agent; this community DSH plugin makes its model tools, the active conversation, and the Pencil canvas work together.
This is not a Pencil rewrite or a standalone design product. It integrates the
official @pen.dev/cli headless engine and a compatible official browser editor
with DSH. It is independent and is not endorsed by pen.dev or DeepSeek.
What it provides
- An on-demand Pencil canvas that does not open when Harness starts.
- Conversation-bound workspaces: the canvas hides when you switch conversations and returns with its original editor session when you switch back.
- Live Agent edits through the visible editor IPC, with immediate rendering and acknowledged, atomic disk saves.
- A serialized official headless fallback when the browser canvas is closed.
- Selection context injection for the next Agent turn, plus real image attachments from Pencil screenshots.
- Workspace-safe file opening, creation, Save As, live PNG/PDF export, imports, generated images, design libraries, external-change reloads, and conflict resolution.
- A responsive 42% split view with pointer-safe resizing and an optional floating layout.
The plugin registers nine core model tools:
pencil_mcp_openpencil_mcp_get_app_statepencil_mcp_batch_getpencil_mcp_get_guidelinespencil_mcp_executepencil_mcp_get_screenshotpencil_mcp_export_htmlpencil_mcp_export_nodespencil_mcp_insert_image
Create a Pencil Agent preset
Send this prompt once in a normal Harness conversation:
Create and validate a Harness Agent Preset named Pencil Designer; do not merely explain the steps. Base it on the standard coding preset and retain the fixed official tools.
Assign these Pencil design tools to the preset, and no other design tools:
pencil_mcp_open,pencil_mcp_get_app_state,pencil_mcp_get_guidelines,pencil_mcp_execute,pencil_mcp_get_screenshot,pencil_mcp_export_html,pencil_mcp_export_nodes, andpencil_mcp_insert_image. Also bind one available vision tool and put its exact name in the persona; if none is available, ask the user.The persona must tell the Agent to complete
.pendesign tasks directly using only the design and vision tools assigned to this preset. Before calling a tool, read its own description and parameter definitions in the Agent's available-tools list; those descriptions are the complete usage reference — do not search for, probe, or verify usage anywhere else.The persona must require the Agent, when starting a new design, to first use
pencil_mcp_opento create a.penfile inside the workspace, then edit, take screenshots, and visually verify it until it is saved. Verify visually withpencil_mcp_get_screenshot(a visual-fidelity spot check: colors, font rendering, alignment/spacing, layout positions; large nodes render at high resolution automatically). Verify text and property content withpencil_mcp_batch_get(node reads). Usepencil_mcp_export_nodesonly for deliverable files. Do not use unspecified design tools or inspect any source code or repository to find tools or study their usage. Prefer the assigned design tools for.penedits; do not treat direct JSON editing as the default.When finished, report the preset name/path,
…

