DSH Plugin Store
Back to home

Shmilyol

galgame-skin

No description

Stars
2
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026
Web UI
GitHub repo

Introduction

樱之语 Sakura VN — galgame 风格 DSH 皮肤插件

把 DeepSeek Harness Web GUI 改造成 galgame 风格的和风界面。

效果

  • 主题:暗色使用深色典雅底与朱红/金点缀,亮色使用和纸米白;全局字体切换为衬线体
  • 场景:黄昏渐变帷幔、金角边框和飘落的樱花瓣
  • 开关:会话头部提供「樱花」按钮;设置页提供「樱之语」总开关
  • 无障碍prefers-reduced-motion 下自动关闭樱花动画;配色对比度均 ≥ 4.5:1

安装 / 激活

这是一个纯 Client 的动态 Cordis 插件,不需要修改 DSH 源码:

  1. 使用 galgame-plugin.client.js 的内容定义插件的 code.client
  2. 运行 cordis_run 并在 UI 中批准
  3. 插件激活后主题和场景效果即时生效

动态插件只存在于当前进程;重启后需要用 galgame-plugin.client.js 重新定义并挂载。

关闭 / 还原

  • 总开关:设置 → 通用 →「樱之语」关闭,即时还原默认外观
  • 完全还原:运行 cordis_stop 停止插件,移除全部 token 覆盖、CSS 和 Slot 注册

架构

项目当前只有 Client 运行时:

模块职责
theme.overrideTokens覆盖 13 个官方亮色/暗色 token;总开关关闭时移除覆盖层
styles.insert注入和风皮肤 CSS,并用 body:has(.gal-scene[data-gal-state="on"]) 门控变量
shell.overlay注册帷幔、樱花和金角边框组成的全屏场景层
conversation.session.header.actions注册樱花显隐按钮
settings.general.item注册皮肤总开关

模块级内存 store 在场景层、头部按钮和设置项之间同步 skinsakura 状态。所有注册均保留 disposer,停止插件即可还原。

文件清单

  • galgame-plugin.client.js — Client 端插件源码(code.client 函数体)
  • tools/client-template.js — 与 Client 源码同步的定义模板
  • docs/superpowers/specs/ — 设计决策记录
  • docs/superpowers/plans/ — 实施计划记录

已知限制

  • 皮肤依赖 :has() 选择器(Chrome 105+ / Safari 15.4+ / Firefox 121+);旧浏览器会使用降级变量层
  • 全局字体为衬线体,如不需要可删除 SKIN_CSS 中的 --dsw-font-family 定义