dsh-visual-skin

August 20, 2026 · View on GitHub

dsh-visual-skin

DeepSeek Harness Skin Studio

为 DeepSeek Harness(DSH)制作、预览并安全写入皮肤的本地可视化工作台。

Target DSH Windows Local first License

DSH Skin Studio:设计、隔离预览、人工确认

点击演示图播放 MP4 · 查看动画源文件 · 查看分镜


先说结论

给一张图片,或直接在 Studio 里调色、调背景和区域效果;Skin Studio 会在隔离的临时 DSH中渲染结果。只有你在可见网页中审阅并确认后,主题才会写入本机 DSH。

你要做的事得到什么
用图片做皮肤Agent Skill / MCP 自动创建设计、上传资产并打开预览
精细调整两块背景侧边栏、主工作区、图片位置、遮罩和分隔线的即时预览
安全写入本机 DSH不可变计划、可见确认、可恢复的安装记录

10 秒看懂流程

从图片到皮肤的工作流演示
flowchart LR
  A[图片 / 你的描述] --> B[Skin Studio 设计]
  B --> C[隔离 DSH 真实预览]
  C --> D{你在 Studio 中确认}
  D -- 确认 --> E[写入你的 DSH]
  D -- 继续修改 --> B

Agent 和 MCP 可以帮你完成设计与预览;不能伪造最后的写入确认。

功能一览

模块做什么为什么有用
Skin Studio图片、纯色、渐变;双区域背景;遮罩、玻璃拟态、token 调色与分隔线所见即所得,不必手改配置文件
隔离预览使用 Controller 管理的临时 DSH 实例,并复用 warm runner预览不触碰正在使用的 DSH,也减少重复启动负载
DSH 插件常驻背景层、对话蒙版、侧边栏分隔与「皮肤设置」入口切换对话后仍保持皮肤,不需要重新注入页面
Agent Skill理解「换个皮肤」「用这张图做背景」等请求并编排流程DSH、Codex 等 agent 都能接入同一套设计能力
MCP Serverdesign_createasset_uploadtheme_patchpreview_starttheme_apply 等工具让 agent 有结构化、可审计的操作接口
安全写入隔离预览回执 + 不可变 apply 计划 + 人工确认写入前知道会改什么,失败时可恢复

安装

前置条件版本 / 说明
Windows10 或 11
Node.js22+
pnpm11+;首次构建便携运行时时需要
DeepSeek Harness0.1.0-rc.6;版本不匹配时插件会 fail-closed
git clone https://github.com/trrrrrryg/dsh-visual-skin.git
cd dsh-visual-skin
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1

安装器会构建便携运行时、安装 Skill、注册 DSH 插件与 MCP,并启动 Studio。默认不重启 DSH,避免打断正在进行的会话;完成后请自行重启一次 DSH。

常用安装参数
参数作用
-DshHome <path>指定 DSH 根目录,默认 %USERPROFILE%\.dsh
-ProfileName <name>指定 profile,默认 web
-DataDir <path>Studio 数据目录
-ControllerPort <port>Studio Controller 端口,默认 11862
-SkipBuild复用已构建 runtime
-SkipSkill / -SkipStudio / -SkipCodexMcp跳过可选组件
-RestartDsh安装后自动重启 DSH
.\install.ps1 -DshHome C:\Users\me\.dsh -ProfileName web -ControllerPort 12000 -RestartDsh

使用

在 Studio 中手动设计

  1. 打开 http://127.0.0.1:11862,或从 DSH 的「设置 → 插件 → 皮肤设置」打开 Studio。
  2. 上传图片,或调整背景、区域和 token,等待隔离预览就绪。
  3. 点击 写入我的 DSH,审阅计划并亲自勾选确认;随后重启 DSH。
  • 勾选整合两区域:背景会是一张随窗口缩放保持连续的画面。
  • 取消勾选:可分别编辑侧边栏与主工作区,使用不同的颜色、渐变或图片。
  • 所有变更先进入实时隔离预览;正式 DSH 在确认前不会被改动。

直接对 agent 说

  • 「给我换个皮肤」
  • 「用这张图片做背景」
  • 「把现在的皮肤背景换掉」

Agent 会调用 mcp__skin-studio__* 完成设计与隔离预览,并把最终确认留在 Studio 网页中。

验证安装

# DSH 插件健康检查(DSH 默认端口为 10402)
Invoke-RestMethod http://127.0.0.1:10402/dsh-skin/health

# Studio Controller 状态
Invoke-RestMethod http://127.0.0.1:11862/api/v1/status

开发

pnpm install
pnpm build          # 构建全部包
pnpm test           # 回归测试;会启动真实 rc.6 隔离预览
pnpm controller     # 本地启动 Controller
pnpm dev            # Studio Vite 开发模式
目录说明
apps/controller/       # API、隔离预览、apply/restore、GC
apps/studio/           # React + Vite Studio
packages/dsh-plugin/   # DSH host 路由与 client 皮肤渲染
packages/theme-schema/ # ThemeSpec v2 数据契约
packages/mcp-server/   # MCP stdio 服务
agents/codex-skill/    # 可安装 Agent Skill 与脚本
tests/                 # 含真实 rc.6 Chromium 隔离预览的回归测试
docs/demo/             # README 动画、分镜与导出脚本
docx/                  # 实施计划、需求分析、架构文档

安全与兼容

  • ThemeSpec 只接受受控的颜色、内容寻址图片(sha256)和 token;不接收任意 CSS、JS 或 URL。
  • 预览只在 Controller 拥有的临时 DSH 里运行;浏览器、MCP 和 agent 都拿不到写入确认凭据。
  • 当前目标版本是 0.1.0-rc.6;不兼容时拒绝加载,而不是猜测性修改 DSH。

卸载

  1. %DSH_HOME%\profiles\<profile>\cordis.patch.yml 移除 # >>> dsh-skin-studio# <<< dsh-skin-studio 之间的托管条目;
  2. 删除 %DSH_HOME%\profiles\node_modules\@dsh-skin%DSH_HOME%\skills\deepseek-harness-skin-studio
  3. 重启 DSH;如需清理 Studio 数据,再删除 %LOCALAPPDATA%\DeepSeekHarnessSkinStudio

文档


MIT © 2026 trrrrrryg