DSH Design Mode
September 1, 2026 · View on GitHub
DSH Design Mode
English | 中文
Turn one idea into a visual result you can keep refining—inside DeepSeek Harness.
DSH Design Mode connects guided intent clarification, image generation, an infinite canvas, contextual image tools, and location-aware comments to the native DSH conversation.
Watch the workflow · Quick start · Product PDF
One conversation. One canvas. Every edit stays traceable.
Developer preview based on
dsh-v0.1.1-rc.2. This independent community project is listed under the GitHubdsh-plugintopic and is not an official DeepSeek release.
Why Design Mode exists
Image models can already produce impressive pixels. The surrounding workflow still asks the user to behave like a product manager: translate an idea into a production prompt, choose the correct tool, move context between panels, and reconstruct why each revision exists.
DSH Design Mode makes that coordination part of the Agent session. A user can begin with ordinary language, clarify only the decisions that materially affect the result, generate or import an image, select the object to edit, and send precise visual comments back through the same conversation.
| Without a continuous workflow | With DSH Design Mode |
|---|---|
| A blank canvas or a wall of tools appears before the brief is clear. | Design Mode stays armed but opens the canvas only after text, an image, or both create real visual work. |
| The user must know how to write a production prompt. | ask_user converts an ambiguous request into 3–5 focused decisions before generation. |
| Editing tools are detached from the selected image and its history. | Tools appear for the selected object and write their results back to the current canvas. |
| Comments live in a separate review panel. | Point, rectangle, and brush comments return to chat and are processed in order. |
The product in one minute

- Arm Design Mode. The mode is explicit and reversible; an empty canvas does not interrupt the conversation.
- Send text, an image, or both. The native Composer remains the single entry point.
- Clarify material ambiguity. The Agent asks one focused question per round, with three recommendations and a UI-owned “Other” input.
- Generate or import. The canvas opens when there is an image to inspect, compare, or edit.
- Edit in context. Selecting an image reveals the capabilities relevant to that object and task.
- Comment and continue. Location-aware requests return to the native conversation, preserving the visible reasoning and modification record.
Watch the real workflow
These recordings come from the working DSH build. Select a card to play the full MP4.
What you can do today
| Goal | Capabilities |
|---|---|
| Create | Generate from natural language, use up to 14 image references, upload, paste, drag, or add an existing chat image. |
| Refine | Remove or replace a background, upscale, edit detected text, translate selected text regions, and remove an authorized mark. |
| Reframe | Outpaint, erase, change angle, recolor, and preserve the original subject while producing a new child result. |
| Review | Add point, rectangle, or brush comments; send them to chat; process multiple comments sequentially; retry recoverable failures. |
| Deliver | Export PNG, PDF, standalone HTML, ZIP, or PPTX from the canvas. |
The canvas also supports pointer-centered zoom, pan, single and multi-selection, move, proportional resize, rotate, lock, hide, download, fit-to-view, and local undo/redo.
Product principles
Intent before generation
An ambiguous request such as “design a hiking backpack” is not sent directly to an image model. The Agent asks 3–5 adaptive questions, never repeats a resolved decision, and generates only after the minimum clarification rounds are complete.
Context before controls
The selected image determines which tools appear. Each task owns its own parameters, confirmation step, provider label, progress state, and recoverable error message instead of sharing one generic side-panel form.
Conversation as the record
The canvas is the visual workspace; the DSH conversation is the durable explanation of intent, tool calls, failures, and completed revisions. Comments therefore flow back to chat rather than becoming a second isolated task system.
Host-owned execution
The browser never calls image providers directly. UI actions and Agent tools use the same Host service, request model, per-session queue, storage, and error mapping.
Quick start
Requirements: Node.js ^22.19.0 or >=24.0.0, Corepack, pnpm 11.7.0, and Git.
git clone https://github.com/KaichenCurry/dsh-design-mode.git
cd dsh-design-mode
corepack enable
pnpm install
pnpm run build
pnpm run design:install
pnpm run design:start
design:start launches the complete DSH Web application with the isolated design profile and opens its local URL. Use pnpm run design:start --no-open when DSH Desktop or another shell should open the same URL. The profile adds Design Mode without replacing another DSH executable or modifying the default web profile.
Provider credentials
The canvas, comments, Composer context, persistence, and keyless contract tests work without provider keys. Add a key only when you want to run a real external image job: open Settings → Design Mode and store it through the write-only credential interface.
| Task | Credential |
|---|---|
| GPT Image generation and generative editing | OPENAI_API_KEY |
| Background removal and upscale | FAL_KEY |
A missing key produces a recoverable configuration error. Credentials stay in the DSH vault and are never shipped in the browser bundle, written into the workspace, or printed in the conversation.
Profile lifecycle
pnpm run design:status
pnpm run design:upgrade
pnpm run design:uninstall
design:uninstall moves the profile to a timestamped recovery directory and preserves .dsh/design-mode workspace data.
Architecture and trust

Native DSH Composer
├─ text / images / removable Design context chips
└─ ask_user clarification
↓
DSH Agent
├─ design_read_context
├─ design_generate_image
├─ design_edit_image
└─ design_update_comments
↓
Design Job Router + per-session queue
├─ GPT Image: generation and generative editing
├─ FAL: background removal and upscale
└─ OCR: text and region detection
↓
Native conversation + local canvas document and assets
The implementation is split into packages/design/design-mode for the Host service and Agent tools, packages/client/ui-design-mode for the React/Konva canvas, and packages/bundle/design-app for the isolated profile layer.
Only assets referenced by the current job leave the Host. Local canvas documents and history remain in the workspace, provider failures never trigger an automatic paid retry, and watermark or mark removal requires ownership or authorization confirmation. See SECURITY.md.
Product materials
| Resource | Use it for |
|---|---|
| Product introduction · PDF | A polished 10-page product narrative for users, partners, and investors. |
| Editable product deck · PPTX | Presentations and customized pitches. |
showcase/ | The interactive product story and the source of the recordings above; run it with npm install && npm run dev. |
Current v1 scope and roadmap
V1 is intentionally image-only. It includes generation, import, canvas editing, contextual tools, comments, persistence, and export; it does not expose video generation, video editing, or video controls.
Next milestones focus on real-provider quality and cost evaluation, signed Desktop installers, team review and permissions, shared asset governance, and an adapter ecosystem for providers, Agent skills, and reusable workflows.
License and attribution
This repository is derived from DeepSeek Harness and retains its MIT license and third-party notices. New Design Mode code is released under the same MIT license. DeepSeek and DeepSeek Harness are trademarks of their respective owners.





