DeepSeek Harness Hub
← 返回列表

主题色板管理器n0pe-sled/herdr-themes

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

为界面添加 18 款主题,实时预览并持久保存选择

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/14 · 已提供中文文档

dsh 插件:将 18 个 herdr 主题作为“设置 > 主题”提供,带有实时色板卡片和持久化选择

综合分
29.7
GitHub 分
29.7
用户评分
★ Stars
0
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add n0pe-sled/herdr-themes
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-theme@deepseek-ai/dsh-settings
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-herdr-themes

设置 → 主题。 将 herdr 自带的所有主题(18 个内置主题)添加到 DSH Web GUI,并提供一个主题设置页面,其中每个主题都会显示其真实的颜色色板,点击即可实时预览,然后点击 Use theme 即可持久保存。保存的选择会在每次重新加载时重新应用。

主题

| 主题 | 配色方案 |
|---|---|
| Catppuccin Mocha(herdr 的默认主题) | 深色 |
| Catppuccin Latte | 浅色 |
| Terminal(ANSI 近似) | 深色 |
| Tokyo Night | 深色 |
| Tokyo Night Day | 浅色 |
| Dracula | 深色 |
| Nord | 深色 |
| Gruvbox | 深色 |
| Gruvbox Light | 浅色 |
| One Dark | 深色 |
| One Light | 浅色 |
| Solarized Dark | 深色 |
| Solarized Light | 浅色 |
| Kanagawa | 深色 |
| Kanagawa Lotus | 浅色 |
| Rosé Pine | 深色 |
| Rosé Pine Dawn | 浅色 |
| Vesper | 深色 |

工作原理

DSH 自身的主题系统(dsh-client-ui-theme)就是注册表。该插件的浏览器端通过 ctx.theme.register(...) 将每个 herdr 调色板注册为一个 ThemeDefinition(id + 配色方案 + --dsw-alias- 令牌覆盖),因此主题色板、令牌和呈现器机制都是随附的那一套。Herdr 调色板按角色映射到 DSH 令牌(accent → brand-primary,text → label-primary,panel background → bg-base,surfaces → bg-layer-,states → state-),而派生值(边框、悬停、滚动条)则使用 color-mix 从同一调色板计算得出,因此它们在深色和浅色基底上都能保持清晰可读。

持久化位于插件自己的宿主端命名空间(herdr-themes → themeId,$DSH_HOME/settings.yaml,位于随附的文件提供程序下)。内置的 ui-theme 偏好设置 schema 只接受 light/dark/system,第三方 id 被有意排除在外,因此插件存储自己的选择并在启动时重新应用。

有一个上游行为需要加一道防护。每当设置文档重新派生时——这会在任何设置写入或推送时发生,而不仅仅是本插件的——ThemeRuntime 都会重新采用持久化的内置偏好设置(light/dark/system)。正是这种重置导致已保存的主题在保存后立即消失。因此,该插件将已保存的 herdr 主题视为用户的明确选择,并在每次此类重置后重新应用它;它只对用户自己的应用/预览操作抑制该重新应用,因此预览或保存系统选项仍然有效。

安装

git clone https://github.com/n0pe-sled/deepseek-harness-plugins.git ~/dsh-plugins

dsh plugin --profile web add ~/dsh-plugins/herdr-themes
重启 dsh web,然后进入 设置 → 主题

用法

- 打开 设置 → 主题。每张卡片都会预览该主题自己的调色板(base、surface、accent、text、red、green、yellow)。
- 点击卡片即可立即应用。这就是预览;整个 GUI 会通过标准主题呈现器重新绘制。
- 点击 Use theme 保存(宿主会确认写入,因此被拒绝的写入会被报告,而不是静默丢失)。Cancel 会恢复到已保存的选择。
- 跟随操作系统会恢复内置系统行为并清除已保存的主题。
- 在预览时关闭设置会为本次会话保留预览,但不会保存它;下次重新加载时会恢复已保存的选择。

验证

cd herdr-themes
pnpm install
pnpm build        # builds lib/index.js (node) and lib/client.js (browser bundle)
node tests/smoke.mjs        # node half + catalog + bundle shape
node tests/client-smoke.mjs # real client bundle against a stubbed context

安装到配置文件后,正在运行的 dsh web 会提供该 bundle,并且宿主会注册该命名空间(在第二个实例上检查):

curl -s -o /dev/null -w "%{http_code}\n" \
http://127.0.0.1:/plugins/dsh-herdr-themes/client.js   # 200

说明与限制

- 终端主题使用固定的类 ANSI 配色集。 Herdr 的 Terminal 主题引用宿主终端的 16 种调色板颜色;Web GUI 没有终端调色板,因此该插件用一套标准的近黑色 xterm 风格近似值替代(在 src/shared/themes.ts 中有 README 文档说明)。
- 远程浏览器无法保存。 仅为本次会话选择;宿主设置 RPC 仅限回环(与内置 Appearance 行相同的规则)。
- Appearance 行不再覆盖已保存的主题。 在那里点击 light/dark/system 会暂时更改内置偏好,但已保存的 herdr 主题会立即重新应用;Themes 页面才是清除主题的地方(Follow the OS 或 Use system)。Appearance 方块显示的是内置偏好,而不是当前生效的第三方主题。
- 并非每个 --dsw- token 都会被覆盖。 遮罩、少数小众按钮填充以及反转表面仍使用基础调色板;被覆盖的集合涵盖表面、文本、品牌、状态、markdown、滚动条以及侧边栏座位。

文件

- src/shared/themes.ts — herdr 调色板(逐字来自 herdrdev/herdr/src/app/state.rs)+ DSH token 构建器。
- src/index.ts — 宿主部分:注册 herdr-themes 设置命名空间。
- src/client/index.ts — 注册主题、采用已保存的选择、注册 Themes 部分。
- src/client/ThemesPanel.tsx — 设置页面。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群