superdesign-skill

436Star28Fork4Issue0Watching

把 Superdesign 设计技能注入 DeepSeek Harness,让 AI 在无限画布上分析代码库、搭建设计系统并生成可分支迭代的 UI 草图。

语言
JavaScript
License
MIT
分支
main
agent-skillsai-designclaude-codeclaude-skillclaude-skillscoding-agentcursordesign-agent

安装

$ dsh plugin --profile web add github:superdesigndev/superdesign-skill

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

一句话定位

superdesign-skill 把 Superdesign 设计技能注入 DeepSeek Harness:在终端里让 AI 先扫描你项目里的 UI 现状、提取设计 DNA,再在网页画布上生成可分支、可继续迭代的 UI 草图和营销图,目标是把 AI 默认吐出来的"通用模板风"换成跟项目品牌对得上的成品。

核心能力

  • 把 Superdesign 技能说明注册到 dsh 的技能列表里,让宿主里的对话模型可以直接调用 $superdesign 进入设计流程
  • 扫描现有仓库的组件、布局、路由、设计令牌、样式文件,把产物写到 .superdesign/init/ 作为后续生成的设计上下文
  • 在仓库里维护一份可复用的设计系统文件 .superdesign/design-system.md,支持从现有代码提取或参考外部站点重新搭建
  • 调 Superdesign CLI 创建项目、按提示词在画布上出草图,支持 replace(原地迭代)和 branch(多个方向并排对比)两种模式
  • 对现有页面做像素级还原后再生成分支变体;对全新页面/海报直接出设计,不强制走"还原"步骤
  • 通过 CLI 的 extract-website 从指定网址提取风格指南、设计令牌、品牌资产,作为借鉴式重建的依据

技术实现

  • 语言: JavaScript(Node.js ESM,纯 ESM 无构建步骤)+ 大量 Markdown 技能文档
  • 关键依赖: 无 npm 运行时依赖(dsh/index.js 仅依赖 node:fs/promisesnode:url);宿主侧的 cordis 框架与 dsh 插件加载机制由 dsh 自带,本包不引入 @deepseek-ai/* 任何子包
  • 架构模式: dsh cordis 插件 —— package.json#dsh.bundle.patch 指向 dsh/cordis.patch.yml,由该文件把名字为 superdesign-skill 的 npm 包插入 dsh 配置层;包入口 dsh/index.js 导出 apply(ctx),调用 ctx.skills.registerProvider(...) 注册一个 list / get 形态的技能提供者,把 skills/superdesign/SKILL.md 直接当技能内容发布
  • 入口文件: dsh/index.js(cordis 插件入口)+ skills/superdesign/SKILL.md(技能正文与路由分发)+ skills/superdesign/references/SUPERDESIGN.md(真实仓库路径的设计 SOP)

适用场景

正在用 DeepSeek Harness 做前端开发、希望在写代码前先跟 AI 一起把页面/营销图过一遍设计稿的开发者;尤其是受够了 AI 默认吐出来全是"通用 shadcn 风"的用户——这个技能会主动读你仓库的现有 UI 和设计令牌,强制让生成结果落到项目已有的视觉体系里。也适合需要批量出多个方向的初稿做对比、或者把已有界面换成全新视觉风格但保留结构与内容的场景。

前置依赖与兼容性

依赖最低版本说明
Node.js未声明package.json 未声明 enginesdsh/index.js 只用到 node:fs/promisesnode:url 两个内建模块,正常运行 dsh 的 Node 版本即可
dsh未声明通过 dsh.bundle.patch 接入,命令行为 dsh plugin --profile web add github:superdesigndev/superdesign-skillpackage.json 未声明 peerDependencies
@superdesign/cli最新稳定版技能本身不携带 CLI,但所有出图/出草图的操作都通过 npx --yes @superdesign/cli@latest 走它;首次实际使用时技能会引导用户安装并登录
平台macOS / Windows / Linux跨平台纯 JS 包,package.json 未声明 os / cpu;CLI 登录涉及浏览器跳转,需要本机能开浏览器或走代理
原生模块没有 node-gyp 依赖,不引入任何原生二进制
外部账号Superdesign 团队账号跑生成前必须完成 superdesign login;生成会按次计费,具体费率看团队套餐

安装方式

dsh plugin --profile web add github:superdesigndev/superdesign-skill

配置项

本插件无需额外配置。dsh/index.js 只负责把 skills/superdesign/SKILL.md 的 frontmatter description 读出来注册到 dsh 的技能列表里,不解析任何配置项、不读环境变量、不读取本地配置文件。运行时所需的全部配置(CLI 登录态、生成选项)由 @superdesign/cli 自己维护,与本插件无关。

常见问题

Q: 这个插件装上后能用了吗,还需要做什么?

A: 插件本身只把 Superdesign 技能说明注册进 dsh 的技能列表,具体的生成/迭代由 Superdesign CLI 负责。所以装好本插件后,还需要全局安装 @superdesign/clinpm install -g @superdesign/cli@latest)并完成一次 superdesign login,技能在第一次实际出图前会引导你走完这一步。

Q: 这个插件会读取我的代码吗?会把代码上传到哪吗?

A: 技能会读取你本地仓库的源码、样式、配置来理解当前 UI(写在 .superdesign/init/ 里),生成时按需把相关文件作为上下文通过 CLI 提交给 Superdesign 后端。它不会整库批量上传,也不会把本地路径直接写进生成的 HTML —— 所有图片素材都必须先走上传拿到公开 https:// URL 才会被嵌入。

Q: 为什么设计文件都写在我的仓库里?卸载会留下什么?

A: 技能把初始化产物写到 .superdesign/init/(六个上下文文件)、.superdesign/design-system.md.superdesign/replica_html_template/.superdesign/resume.json,全部在项目根的 .superdesign/ 目录下。卸载插件不会自动清掉这些本地文件,需要的话手动删除即可;删除后 dsh 看不到技能,但其他 harness(Claude Code、Cursor、Codex 等)如果之前装过同名技能也仍然保留。

Q: 跟直接用网页版 superdesign.dev 有什么区别?

A: 网页版是图形化编辑器,支持像素级"克隆"和可编辑画布。本插件走的是 CLI,技能侧能做到的是"风格借鉴式重建"——根据参考站点提取设计 DNA 之后做一份新的可编辑草图;如果用户要 1:1 的可编辑克隆,得去网页版。CLI 这边所有改动都在 superdesign.dev 的画布上可视化,技能只负责发起调用和返回 canvas/preview 链接。

Q: 没有前端代码的空目录能用吗?

A: 能。SKILL.md 的 Step 1 把"空仓库/沙盒"识别为无代码路径,会跳过 init,直接通过对话收集设计上下文(目标用户、平台、风格偏好、参考站点),再走 BRAND NEW PROJECT 工作流生成草图。已有前端代码的真实仓库则会强制先跑 init,六个上下文文件不全就跑不动。

Q: 报错了怎么排查?需要重装吗?

A: 先按 SKILL.md 的"When a command fails"分情况处理:登录错误就重跑一次 npx --yes @superdesign/cli@latest loginextract-website 超时(60–120 秒)允许重试一次;生成命令(create-design-draft / iterate-design-draft)失败一次后可走 references/design-with-your-model.md 自己导入 HTML 重试。任何命令连续失败都不应该再继续硬试,直接停下来告诉用户当前错误。

Q: 哪些 AI 工具能用到这个技能?

A: 这个 DSH 插件只对 DeepSeek Harness 体系生效。同一份 skills/superdesign/ 树同时也被打包成 Claude Code 插件、Codex 插件、Cursor 插件发布,根 package.json.claude-plugin/.codex-plugin/.cursor-plugin/ 四份 manifest 共用一个版本号,所以其他宿主只要走对应的插件市场或 npx skills add 也能装到同样的技能。

上手难度

进阶 — 装包本身一条命令,但要真用顺滑需要先安装并登录 CLI,理解 init/design-system/replica-html 这套约定,并知道命令 400 时不能盲目重试;只是偶尔出张图的话可以靠技能自带的引导跑通。

已知问题与限制

  • 设计调用强依赖 @superdesign/cli 与团队的登录态,未登录/会话过期都直接报错,技能对这类错误的处理是停下来告诉用户而不是绕过(见 skills/superdesign/SKILL.md:108-114references/SUPERDESIGN.md 命令失败段落)
  • 设计调用走 Superdesign 后端按次/按信用点计费,每次 create-design-draftiterate-design-draftexecute-flow-pages 都会消耗额度,技能刻意要求"在用户确认方向之前不要乱出图"以避免无效扣费
  • 生成存在"上下文预算"硬上限:单次请求若把目标页 + 共享 header + globals.css 整文件塞进去大概率 400;正确做法是按 900 行阈值切到渲染分支再传,失败时不能"精简上下文"重试——那会让模型基于设计系统凭空造一份通用页面(见 references/SUPERDESIGN.md:65-73
  • Logo 位必须用真的 Brand Asset logo,禁止用首字母/emoji/通用图标替代;上传拿到的 assetKey 和公开 URL 必须显式塞进组件模板或带 --reference-id 传给生成,否则模型会自动换成占位符(见 references/SUPERDESIGN.md:79-82
  • "克隆"语义在 CLI 侧是"风格借鉴式重建",不是像素级 1:1 复制;要可编辑的逐像素克隆得去 superdesign.dev 网页版,CLI 做不了(见 SKILL.md:17 与 README 第 25 行)
  • 仓库必须能被 git 跟踪(用于增量 diff 比对上下文指纹);如果项目不在 git 工作树里,热路径里的精确 diff 这一项就失效,需要走全量刷新策略(见 references/RESUME.md:166-180
  • extract-website 会调用远端爬虫,单次耗时 60–120 秒并可能受目标站点反爬影响;失败时允许重试一次,两次都不行必须停下,不要自动绕过这一步