dsh-upm:把 ui-ux-pro-max 裝進 DeepSeek Harness 的 UI/UX 設計工作流插件

前言

在 DSH 裏做界面或體驗相關任務時,模型往往需要風格參考、配色檔案、UX 準則和技術棧實現要點。上游項目 ui-ux-pro-max 提供一套「設計智能」數據庫和 Python 檢索引擎,傳統用法是把技能目錄拷進宿主,再在終端執行 python .../search.py。路徑固定、命令手寫,和 DSH 的工具調用模型也不對齊。

dsh-upm 由維護者 qizhuxu 發佈,分類爲工作流,是 ui-ux-pro-max 的 DeepSeek Harness 原生插件:技能與數據隨包走,檢索註冊爲原生工具與原生命令,並可通過 GitHub Actions 隨上游 commit 自動重新封裝。下面介紹它是什麼、怎麼裝、怎麼用,以及安裝與更新時容易踩的坑。

這是什麼

一句話定位:ui-ux-pro-max 的 DSH 原生插件——bundled skill data、native search / design-system tools、auto re-vendor from upstream。

上游數據規模(README 原文):79 種可檢索風格、192 套產品配色與推理檔案、74 組字體搭配、119 條 UX 準則、105 個精選圖標、17 個 GSAP 動效預設、25 類圖表、22 個技術棧。

相對「只 clone 上游、手敲 search.py」,插件額外做三件事:

  1. 進程內註冊 upm-provider,技能與數據隨包走,不依賴固定 clone 路徑。
  2. 將 search.py 封裝爲 upm_search / upm_stack / upm_design_system 等工具;另有 upm_domains、upm_status 兩個不啓動 Python 的自檢入口。
  3. GitHub Actions 定時比對上游 commit,有更新則重新打包並開 PR。

結構參考 dsh-taste;執行層使用 DSH 官方 subprocess、argv 數組、無 shell。npm 包版本爲 0.1.1(MIT),peer 依賴 @deepseek-ai/cordis ^4.0.4 等,要求 Node >=22.19.0、dsh ^0.2.0-rc.2。

先決條件:Python 3.8+

檢索引擎是 Python(search.py + core.py + design_system.py)。插件不捆綁 Python,按順序探測解釋器:

  1. 配置裏的 pythonPath;
  2. 環境變量 DSH_UPM_PYTHON;
  3. python → python3 → py -3。

配置了 pythonPath 就只用它,失敗直接報錯,不會靜默換別的解釋器。探測結果在插件實例內緩存。裝好後可用 upm_status 查看實際使用的解釋器;upm_domains 不啓動 Python,無 Python 時仍可列出域與棧。

核心功能

技能與命令

skills 面默認只註冊一條命令(與插件同名):

/dsh-upm

執行上游完整工作流(含 10 條優先級規則與檢索契約)。上游技能原名 ui-ux-pro-max;可通過配置 primaryName 改名或保留原名。

插件加載技能時會在正文開頭插入 DSH 運行時說明(CLI 參數與工具參數對照),末尾追加數據與參考文件的絕對路徑;上游 SKILL.md 文件本身不改。

另有兩條原生命令,不經模型、直接出結果:

/upm-search <檢索詞> [--domain 域 | --stack 棧] [-n 條數] [--json] [--full]
/upm-ds     <產品類型 行業 關鍵詞> [-p 項目名] [-f ascii|markdown] [--variance 1-10] [--motion 1-10] [--density 1-10] [--persist -o 項目根] [--page 頁面] [--force] [--json]

--domain 與 --stack 只能給一個,混用會報錯。

工具一覽

工具 作用
upm_status 打包版本、上游 commit、數據規模、數據目錄、Python 解釋器
upm_domains 12 個搜索域與 22 個技術棧及條目數(純 JS)
upm_search 按域檢索
upm_stack 按技術棧檢索
upm_design_system 生成完整設計系統,可持久化爲 design-system/<slug>/MASTER.md

12 個搜索域包括 style、color、chart、landing、product、ux、typography、icons、gsap、react、web、google-fonts 等(詳見 README 表格)。

22 個技術棧包括 react、nextjs、vue、svelte、astro、swiftui、react-native、flutter 等(完整列表見 README)。

upm_design_system 支持 variance / motion / density 撥盤(1–10),分別影響風格大膽程度、動效複雜度、佈局密度。

安裝與啓用

CLI 安裝(命令來自 README 原文):

dsh plugin --profile <profile> add github:qizhuxu/dsh-upm

安裝後重啓 DSH(插件在宿主啓動時加載,無熱重載)。裝好後 upm_status 可查看打包版本、上游 commit 與 Python。

desktop profile 例外:CLI 會拒絕,需在 Electron 插件面板操作,或改 profile 的 package.json:

{
  "dependencies": { "dsh-upm": "github:qizhuxu/dsh-upm" },
  "dsh": { "profile": { "bundles": ["…", "dsh-upm"] } }
}

在該 profile 目錄執行 pnpm install 後重啓 DSH。

從 GitHub 安裝的 npm 包按 files 字段打包,不含 scripts/vendor.mjs、test/、.github/ 等;運行期不缺技能與數據,本地 re-vendor 或跑測試需 clone 源碼倉庫。

更新注意:pnpm 將 git 依賴釘在 pnpm-lock.yaml 的 commit 上,上游或 CI 合併新版本不會自動到你機器。需在該 profile 目錄:

cd ~/.dsh/profiles/<profile>
pnpm update dsh-upm --lockfile-only
pnpm install --frozen-lockfile

然後重啓 DSH。不要手動往 node_modules/dsh-upm 複製文件「更新」,重裝會按 lockfile 覆蓋。

典型用法

原生命令示例(README):

/upm-search "keyboard focus modal" --domain ux -n 5
/upm-search "suspense streaming bundle" --stack nextjs
/upm-ds "beauty spa wellness service" -p "Serenity Spa"
/upm-ds "internal analytics dashboard" -p "Ops Console" --variance 8 --motion 7 --density 8 --persist -o "D:\work\ops-console"

模型側對應關係示例:search.py "<q>" --domain <d> → upm_search { query, domain };設計系統帶持久化時對應 upm_design_system 的 persist / outputDir / page / force 等參數。

檢索詞宜圍繞一個主意圖、2–5 個有意義的詞;0 結果時換更窄的詞或指定 domain 重試,仍無命中應如實說明,勿把通用建議僞裝成數據庫命中。

配置

在 profile 的 cordis.patch.yml 覆蓋插件行,例如:

- id: dsh-upm
  name: dsh-upm
  config:
    # pythonPath: C:\Python312\python.exe
    # primaryName: dsh-upm
    # rank: 380
    # maxResults: 3
    # timeoutMs: 300000
    # graceMs: 10000

默認 rank 爲 380:小於用戶 ~/.dsh/skills(400),大於項目級 .dsh/skills(100),故項目級副本仍可覆蓋插件技能。

適用場景與注意

適合誰:在 DSH 中做 UI/UX、落地頁、設計系統、多棧前端實現參考,且願意在本機提供 Python 3.8+ 的開發者。

權限與安全:插件以當前 DSH 進程權限運行;upm_design_system 的 --persist 會向指定目錄寫文件。安裝前應閱讀 GitHub 倉庫 源碼與 MIT 許可證,自行評估數據與腳本行爲。

生態說明:DSH 社區插件目錄 SkillHub 上的 dsh-upm 頁 爲獨立站點條目,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-upm 把 ui-ux-pro-max 的設計數據庫和檢索引擎封裝成 DSH 插件:一條 /dsh-upm 工作流、五條工具、兩條快捷命令,並解決 Python 路徑與 pnpm git 依賴更新兩類運維問題。需要詳情時查閱 目錄頁 與 GitHub:qizhuxu/dsh-upm。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜