DSH 主题切换:自动检测已安装的皮肤/主题,在设置页一键互斥切换,全部停用时回退官方默认外观,切换即时生效并跨重启保留。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:kinmat-A/dsh-theme-switch
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH 主题切换:自动检测已安装的主题/皮肤插件,在 设置 → 插件 → 皮肤 里提供官方风格的一键开关。
安装
dsh plugin --profile web add github:kinmat-A/dsh-theme-switch
装完重启 dsh web(或由 dsh-market 插件市场安装并热激活),打开 设置 → 插件 → 皮肤。
使用
在 设置 → 插件 → 皮肤 点击按钮即可切换皮肤;切换后刷新一下浏览器页面(Ctrl+F5),新皮肤才会显示。
截图
「皮肤」标签页(设置 → 插件 → 皮肤),深色主题:
注:图片中出现的主题外观仅为展示用。
特性
- 自动检测:扫描 profile 的 dependencies + bundles,按包名 /
skin.json/ bundle patch 行启发式识别皮肤(可用config.themes手动补充)。 - 互斥切换:点击某套皮肤的按钮即启用它并自动停用其余所有皮肤;再点一次则停用它。
- 官方回退:所有皮肤都停用时自动回到官方默认外观(面板里的「官方 DSH 皮肤」行有对应按钮)。
- 即时生效 + 跨重启保留:开关状态写入 home 层补丁
~/.dsh/cordis.patch.yml,由 dsh 启动流程实时监听并每次启动重放;修改后无需重启。
开发
pnpm install # 首次(需网络)
pnpm run build:client # 编译 client(tsdown)
结构
lib/index.js— host 入口(纯 ESM,零依赖):皮肤检测、home 补丁读写、HTTP API。src/client/index.tsx→lib/client.js— 官方风格设置标签页(--dsw-alias-*token + primitives)。- API:
GET /@dsh-external/dsh-theme-switch/api/themes、POST …/api/toggle {id}(id为__official__时停用全部皮肤)。
License: BSD-3-Clause
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-plugin-manager★ 8178
设置 → 插件 分区里的插件管理 Tab:从 npm/git 安装带进度、下次启动生效的启停开关、安装冲突对账可撤销、失败一键转交修复会话。
dsh-market/dsh-market★ 5004
在 DeepSeek Harness 设置页内浏览、搜索并安装社区插件,支持分类筛选、一键更新与停用,以及主题切换与配置备份。
bradeGithub/DSH-Plugins-Marketplace★ 169
面向 GitHub dsh-plugin 话题的插件与技能市场:设置页内逛自动收录的全量索引(CI 每 2 小时刷新),一键安装带类型识别、安装脚本与宿主依赖遮蔽安全检查、环境变量密钥管理,并附 STANDARD.md 识别层规范。
kingOfSoySauce/dsh-skin-market★ 169
原生皮肤市场与生命周期管理器,发现社区皮肤、展示预览与兼容状态,并提供已验证的一键安装或手动安装入口。
awesome-dsh-plugin/dsh-find-plugin★ 156
会话内直接找插件:按关键词/分类搜索本精选 registry,返回描述与可直接执行的安装命令。
Sanqi-normal/dsh-webui-market-plugin★ 104
dsh Web GUI 内的社区插件市场:浏览 awesome-dsh-plugin.com 目录,从 设置 → 插件 → 插件市场 安装/卸载插件到 profile。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。