概览
dsh-design
README / ZH
插件文档
dsh-design
在 DeepSeek Harness 里点可运行的 HTML 原型。
做什么
- Agent 工具(
design_*)把 HTML 写到.dsh-design/ - 预览是一块 按平台真实尺寸缩放的画板
- 自己点页面、钉批注,再在同一句聊天里说要改什么
环境
- DeepSeek Harness web profile,Node.js 22+
- 侧栏预览需要 dsh-better-sidebar(可选;没装时工具照样写文件)
两个入口(工具栏勾选):
| 入口 | 位置 |
|---|---|
| 侧栏入口(默认开) | better-sidebar + → 原型 |
| 对话标签(默认关) | 聊天窗口内置 tab |
安装
在插件目录执行:
dsh plugin --profile web add .
重启 DSH。打开 better-sidebar 的 +,选 原型。
dsh plugin 会把包装进 $DSH_HOME/profiles/web,并因为 package.json 声明了 dsh.bundle.patch,自动追加到 dsh.profile.bundles。
如果报 pnpm v11.12.0 is a broken release,改的是 profile 的 packageManager 钉死版本(例如改成 pnpm@11.22.0),再跑同一条命令。和本包无关。
使用
- 在聊天里说:「做个登录页。」如果这句话里还没有平台 / 风格,Agent 会先问:web、iOS 还是 Android?paper 还是 ink?
- 再
design_create/design_write,HTML 写到.dsh-design/。 - 原型 tab 按真实画板缩放预览:
- web 1280×800、iOS 390×844、Android 412×915
- 工作区里有多份原型时,工具栏下面点选切换
- − / % / + 缩放 · 拖动 或按住空格拖画布 · 触控板滚动平移 · ⌘/Ctrl+滚轮缩放
- 批注:点画面写下要改的地方,回到同一个聊天说一声。Agent 改之前会读这些钉。
文件可以两层目录。HTML 可以 <link href="css/app.css">、<a href="settings.html">、<img src="assets/logo.png">。位图用 encoding=base64。design_systems 带 id=paper 或 ink 会读出样例页。
风格:
| id | 用途 |
|---|---|
paper |
浅色产品页(登录、设置、内容) |
ink |
深色操作台(后台、表格、监控) |
模型工具
| 工具 | 作用 |
|---|---|
design_status |
当前 workspace 的项目和正在预览的文件 |
design_systems |
平台、默认画板,以及内置 paper / ink |
design_create |
新建项目;带上发现流程里的 platform、designSystem |
design_brief |
补全或改已有项目的 brief |
design_write |
写入 html / css / js / svg / 位图;第一份 HTML 必须 brief 齐 |
design_list |
列出项目内文件 |
design_open |
把已有 HTML 或另一份原型标到预览 |
design_comments |
读取画布钉点(x,y 为 0..1,可带 CSS selector)再改稿 |
存储
<workspace>/.dsh-design/
current.json
projects/<id>/
project.json
comments.json
index.html
css/app.css
assets/logo.png
settings.html
可以提交进 git,也可以加进 .gitignore。路径在 .dsh-design 内。单文件上限 512 KiB(maxFileBytes)。
配置
包内带 cordis.patch.yml。官方 patch 整段替换 config,不是深合并。要覆盖:
- insert:
- id: dsh-design
name: dsh-design
config:
maxFileBytes: 524288
开发
node --test test/*.test.js
测试只用 Node 内置模块。
产品说明:docs/prd.md。
许可证
MIT,见 LICENSE。
