DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

wanxi123w /

wanxi123w/dsh-theme-theresa

Verified

给 DeepSeek Harness 的「特蕾西娅」主题插件:象牙白 / 墨 / 淡玫瑰配色,整页背景图、毛玻璃侧栏、侧栏立绘、四角金线、落款签名与开屏动画,全部可在设置里调。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@4c87cff2

特蕾西娅主题 · Theresa theme for DSH

给 DeepSeek Harness 的 Web GUI 换上一套特蕾西娅的配色与氛围:象牙白 / 墨 / 淡玫瑰 / 古金, 整页背景图 + 毛玻璃面板 + 飘落花瓣 + 黑冠徽记。

这是一个素材可自备的插件:背景图、侧栏立绘、开屏动画都不随包(第三方素材)。 缺素材时会自动降级,装上即可用。素材怎么命名、放哪个文件夹,见 DEPLOY.md。

架构(v2)

机制 位置 说明
色板 lib/client.js 注入的作用域样式表 压在 body[data-dsh-theresa] 下,--dsw-alias-bg-base 设为 transparent;不走 ctx.theme.overrideTokens,所以 rgba() / 渐变 / backdrop-filter 都能写,也不会和宿主的偏好写入抢状态
背景图 body 子元素 .tre-bg(fixed + z-index:-1) 图在内容之下,永远不会把文字冲淡
出图 Host 路由 /theresa/background/<file> 不做 base64 内联,直出 2560×1440 原图(带 ETag / 304)
玻璃 backdrop-filter 只给侧栏、终端面板、弹窗、[data-shell-overlay] > *;不加在对话列与 shell.overlay 宿主上(会成为 fixed 后代的包含块,导致悬停闪烁)
文字 text-shadow 光晕 + 气泡加厚 正文容器 [data-conversation-scroll] 里的段落/列表/表格加一圈亮(或暗)光晕;靠局部衬底保可读,不靠把图调淡
设定 ~/.dsh/theresa-theme.json rev 版本号防多窗口互相覆盖(旧 rev → 409 + 最新快照)
开屏 Background/opening.mp4 → GET /theresa/opening 启动时全屏播一次:点击 / Esc / 空格 / 回车即跳过;自动播放被拒、视频出错、播完都会立刻收尾;prefers-reduced-motion 时整段不播;有首帧图 opening-poster.webp 时先铺底再淡入视频
落款 Background/signature-*.png → GET /theresa/signature/<file> 右下角中文签名在上、英文签名在下,中间一条细金线,末尾一枚朱印。素材是「墨 / 金」两层 alpha 蒙版,颜色交给主题,所以明暗共用一份、金线也保得住;素材缺失时自动退回竖排文字「特蕾西娅」
欢迎页文案 作用域 CSS 覆盖 [class*="titleGroup"] > span:first-child 宿主那句「探索未至之境」由 dsh-client-ui-conversation 渲染(locale key hero.headline)。不替换宿主组件、不碰 React:把那个 span 的字号归零、用 ::after 写入自己的文案(26px / 500,与宿主一致)。文案与开关都在设置页,随时可改;文案进 CSS 字符串前会去掉引号、反斜杠与控制字符
设置页 settings.section(id theresa,order 40) 总开关 / 背景网格 + 上传 / 双档色纱浓度 / 花瓣与黑冠 / 落款与画框 / 欢迎页文案 / 开屏

明暗不设独立开关:主题只跟随宿主「设置 → 外观」,读 body[data-ds-dark-theme] 切换两套值。

安装与生效

plugin_manager install_bundle  target = <此目录的绝对路径>
  • 改到 Host 半(lib/index.js、package.json)→ 必须完全退出 DSH 再打开。
  • 只改 Client 半(lib/client.js)→ 按 Ctrl+R 刷新页面即可。

装好后在「设置」左侧会多出一页「特蕾西娅 · 主题」。

调整

想改 改哪里
背景浓淡 设置页的「色纱浓度」滑杆(写进 --tre-dim,0 最实 / 0.85 最淡)
换背景 把图片(webp/png/jpg/avif/gif)放进 Background/,重载后设置页会出现新缩略图
主色 src/client.js 里的 ALIAS_LIGHT / ALIAS_DARK
花瓣数量 设置页滑杆(0–14)
花瓣形状/颜色 src/client.js 里 .tre-petal 的 background-color 与 PETAL 掩码
换开屏视频 用 ffmpeg 转成 -an -vf fps=30、+faststart 的 mp4 放进 Background/opening.mp4(命令见 ASSETS.md);设置页有「再看一次」可即时预览

改完重建:

python tools/build_client.py          # 内联王冠路径 → lib/client.js
node --check packages/theme-theresa/lib/client.js

自检

node packages/theme-theresa/test/host.smoke.mjs   # 路由 / rev / 越界 / 目录穿越
node packages/theme-theresa/test/contrast.mjs     # 12 组 token 对的 WCAG 对比度

contrast.mjs 会把半透明面板按 alpha 合成到"最不利的背景像素"上再算对比度 (浅色侧取纯白与她的深色头发,深色侧取页面墨底与画面里的白鸽), 目前最差一项 6.74:1,全部达标。

素材与授权

先看 ASSETS.md。 背景图派生自官方美术 / 同人图,仅限本地个人使用, 不可再分发;开源前必须按该文档替换。

已知限制

  • 主题不改字体。想要宋体质感,在「设置 → 通用 → 外观 → 正文字体」填 Noto Serif SC。
  • 背景上传还没做(P1 剩余项),目前用文件放进 Background/ 的方式。
  • 依赖宿主提供的 [data-slot] / [data-conversation-scroll] 等 DOM 钩子;它们缺失时 只有毛玻璃与文字光晕失效,配色与背景仍成立。
—/ 5

No ratings yet

Verified DSH bundle

Commit 4c87cff277af

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout