dsh-plugin-appearance:用官方主题通道换 DSH 桌面配色与品牌位

前言

DeepSeek Harness(DSH)桌面版自带一套明暗主题,侧栏与会话首屏也有固定的品牌展示。若你希望在不改宿主安装目录、不注入全局 CSS的前提下,给工作台换一套配色或换上自己的标志与名称行,常见做法是改样式文件或打补丁——既难维护,也容易在宿主更新时被覆盖。

下面介绍社区插件 dsh-plugin-appearance(维护者 gh-gongjin):它走宿主公开的 ctx.theme 覆盖层与 brand slot,把选择记在 ctx.storageDomain 里。刚挂载时界面保持官方原样,只有用户在面板里点选后才会叠层或占位。

这是什么

dsh-plugin-appearance 是 DSH 的外观类插件,在 SkillHub 社区目录中归类为「趣味换装」。package 版本为 0.0.2,许可证 MIT,零第三方依赖。

一句话定位:8 张内置配色皮肤(另有「不覆盖」默认项)经官方主题通道生效;侧栏图标、会话首屏图标与名称行经 brand slot 替换(内置六枚标志或用户上传图片)。不写宿主文件、不注入全局 CSS、不修改系统设置。

核心功能

配色皮肤

  1. 配色区提供 「不覆盖」+ 8 张内置皮肤。进入面板时默认选中「不覆盖」,此时不改动宿主配色(真机读数 applied:0)。
  2. 用户点选某张皮肤后,插件通过 ctx.theme 向宿主提交 CSS 变量覆盖。每张皮肤在明亮 / 暗黑两档下各覆盖 28 个令牌(24 个 --dsw-alias-* 与 4 个侧栏专用的 --dsw-specific-sidebar-*);宿主语义令牌共 128 个,其余仍用内置值,面板文案会说明覆盖范围。
  3. 配色卡片带该皮肤的微缩预览,脚注可显示「改 28 处配色」及 WCAG 正文对比度读数(算不出则不显示,低于 4.5 时数字标红)。
  4. 内置「设置 → 通用 → 外观」的明亮 / 暗黑 / 跟随系统仍由宿主控制;本插件的色层叠在其上,随明暗档一起切换。

标志与名称行

  1. 侧栏图标位与会话首屏图标位:可在「原样」、六枚内置标志、或本地图片之间选择;自定义图以 priority -1 占住 brand slot。
  2. 侧栏名称行:「来源」下拉为 官方字标 / 自定义文字 / 自定义图片。文字与图片分字段存储,切换来源不删除另一份内容;选图片但尚未上传时,界面降级显示已填文字或官方字标,并提示「还没选图片」。
  3. 上传图片:支持 PNG / JPEG / WebP / SVG 等(清单由白名单常量派生)。原图放宽至 ≤10MB,浏览器侧自动居中裁方、缩至 512px、压至 ≤200KB 再提交(宿主仍执行 200KB 与类型校验)。图标位与名称行均支持点选文件、拖拽、先聚焦后 Ctrl+V 粘贴。
  4. 页头提供 「全部还原为官方」:配色、标志、名称行一次归位;已与官方一致时按钮置灰。

存储与架构约束

选择写入宿主存档 domain appearance_prefs(表 prefs / logo)。插件依赖 @deepseek-ai/dsh-client-ui-theme、renderer、sidebar 等官方 client 注入点,宿主半边不 import @deepseek-ai/* 包。README 记载在 desktop 0.2.0-rc.2 上已挂载跑通;完全退出 dsh 再启动可加载新版 client bundle(热刷新是否足够 README 未验证)。

安装与启用

方式 A:官方 CLI(web profile)

CLI 内部使用 pnpm,需保证 pnpm 在 PATH 中。安装命令如下:

dsh plugin --profile web add github:gh-gongjin/dsh-plugin-appearance

也可指向本机已下载的插件目录:

dsh plugin --profile web add <本仓库的绝对路径>

方式 B:DSH desktop 插件面板

在 desktop 的插件面板中填写本机插件目录的实际路径(占位符口径与官方 asar 中 installPathTemplateHint 一致)。应用会自行 pnpm link 并写入 profile。

注意:命令行 dsh plugin --profile desktop … 被官方拒绝(profile "desktop" is managed exclusively by the Electron application)。若需手工改 desktop profile 形状,见仓库内 cordis.yml 注释,改前请备份 package.json。

典型用法

  1. 安装并启用插件后,在 DSH 中打开插件提供的 「桌面外观」 面板(路由前缀 /appearance,由 index.js 注册)。
  2. 换配色:在配色区点击一张皮肤卡片(整张卡为单选入口);要恢复内置配色,选「不覆盖」或点页头「全部还原为官方」。
  3. 换标志:在标志区点选内置方片或「选图片」;名称行在来源下拉中选文字或图片,按界面出现的输入框 / 上传控件操作。
  4. 页头摘要 chips 会反馈当前配色、明暗档与标志状态(含读屏友好的 aria-live 区域)。

开发者在仓库内可跑离线测试:

npm test

真机只读复核(需 dsh 进程在跑):

node test/api-shape.mjs

适用场景与注意

适合谁:长期使用 DSH desktop、希望在官方扩展点内个性化工作台配色与侧栏/首屏品牌、又不想动宿主文件或全局样式的用户与团队。

做不到的事(README 明确列出):桌面壁纸、背景图、字体;窗口标题栏名称(构建期常量 DSH_CLIENT_TITLE);exe 与托盘图标(位于安装目录,易被更新还原)。

安全与权限:插件以当前 dsh 进程的权限运行,可读写其声明的存储 domain 并通过宿主 API 注册主题与 brand。安装前应阅读 GitHub 源码 与 MIT 许可证,自行判断是否信任维护者与代码路径。

生态说明:DSH 奉行「一切皆插件」;SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系,本文也不代表官方应用商店条目。

结尾

dsh-plugin-appearance 把换肤与换标收敛到宿主已有的 theme 覆盖与 brand slot:默认零改动,点选即生效,选择落在宿主存档里。若你要在 DSH 桌面版上做轻量「趣味换装」,可从社区目录或 GitHub 获取插件,按上文 CLI 或 desktop 面板方式安装后在「桌面外观」里操作即可。

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

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

Xiaoye