跳到主内容

touhou-hakurei

18Star0Fork1Issue0Watching

DSH Web GUI 博丽神社皮肤,神社背景、灵梦立绘、半透明面板

机审证据4/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
NOASSERTION
分支
master
animedeepseek-harnessdshdsh-plugindsh-skinskintouhou

安装

命令web profile
$ dsh plugin --profile web add github:xiake595/touhou-hakurei

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 xiake595/touhou-hakurei:先查看仓库 https://github.com/xiake595/touhou-hakurei 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

这是一套面向 DeepSeek Harness Web GUI 的「东方 Project 博丽神社」主题皮肤。它把对话背景换成博丽神社的昼/夜实景画面,把博丽灵梦的立绘挂在画面两侧,并把侧边栏、对话头部、输入框统一改成朱红/纸白/金色的半透明风格,全程只动外观、不动任何 Host 端能力。

核心能力

  • 替换整页对话背景为博丽神社昼/夜实景图,并跟随系统的亮/暗主题自动切换(src/client/index.ts:310-320)
  • 在画面左右两侧叠加灵梦站姿/飞行立绘,作为独立图层不参与对话流(src/client/index.ts:67-83)
  • 把侧边栏、对话头部、输入框统一改成半透明渐变面板,文字按主题自动分色(src/client/hakurei.module.css:5-86)
  • 给侧边栏四角的竖幅画框、输入框横版画框、工作区缎带/盾形装饰,让控件融入统一面板(src/client/index.ts:87-98、553-569、README.md:25-35)
  • 接管浏览器 tab 的 favicon(换成灵梦头像)、页面标题("博丽神社 · Touhou Project")、theme-color meta(朱红色 #8a2318),让浏览器外观也跟着切换(src/client/index.ts:572-582、278-294)
  • 跟随侧栏宽度的拉伸/折叠自动调整背景定位、对接 WCO 标题栏高度,并避开灵梦立绘的位置(src/client/index.ts:325-411)

技术实现

  • 语言: TypeScript(client 用浏览器 ESM/CJS 混合,host 端是 ESM Node 入口)
  • 关键依赖: @deepseek-ai/cordis ^4.0.1(用 ctx.effect() 注册可逆卸载)、tsdown 0.22.14(构建工具)、lightningcss ^1.32.0(CSS Modules 编译)
  • 架构模式: 客户端注入式皮肤 — cordis.patch.yml 在 web profile 的 plugin roster 里插入 id: ui-skin-hakurei;Client bundle 的 apply(ctx) 在 data-dsh-hakurei body 作用域下挂 MutationObserver + ResizeObserver,监听侧栏、对话页、深浅主题切换后增量重绘;卸载时通过 ctx.effect 的销毁器一次性还原(cordis.patch.yml:5-7、src/client/index.ts:246-276、502-552)
  • 入口文件: src/client/index.ts(浏览器端主入口,导出 apply(ctx)),src/index.ts(Host 端空操作);构建产物 lib/index.js + lib/client.js

适用场景

想让默认的 DeepSeek Harness Web GUI 看上去更有「东方 Project 神社」氛围、避免每天面对同质化白色界面、并且能跟随系统深色模式自动切换的用户。皮肤是纯展示层、不发任何 Cordis 事件、不改模型请求与会话,所以也适合给一台多人共用的 DSH 安装做个性化外观切换。

前置依赖与兼容性

依赖最低版本说明
DSH web profile未声明通过 cordis.patch.yml 把 ui-skin-hakurei 插入 web 端 plugin roster;只对 platform: web 生效(package.json:18-24)
Node.js未声明构建脚本用 tsdown,源码未声明 engines.node;按 pnpm 10+ 默认建议使用 Node 20+(package.json:25-30)
平台macOS / Windows / Linux浏览器端皮肤,运行平台即用户访问 DSH Web 的平台;需要现代浏览器(用到 ResizeObserver / MutationObserver / Window Controls Overlay)(src/client/index.ts:371-373、407-411)
原生模块无全部图片 data URI 内联,无 node-gyp 依赖(README.md:57-60)

安装方式

dsh plugin --profile web add github:xiake595/touhou-hakurei

配置项

配置类型说明默认值
本插件无需额外配置—apply(ctx) 不读 ctx.config、不读环境变量、不读 Schema;所有视觉行为通过 data-dsh-hakurei body 标记和 CSS 变量自动确定(src/client/index.ts:224-582)—

常见问题

Q: 这个插件是做什么的?

A: 它是 DeepSeek Harness Web GUI 的「博丽神社」主题皮肤:用博丽神社昼/夜实景当对话背景、把博丽灵梦的立绘挂在画面两侧、并把所有面板统一改成朱红/纸白/金色半透明风格,皮肤工程结构继承自 dsh-deep-whale 的 maid-atelier(skin.json:1-29、README.md:1-7)。

Q: 装上以后 DSH 的会话、模型、工具会受影响吗?

A: 不会。Host 端的 apply() 是空操作(src/index.ts:1-3),Client 端只通过 ctx.effect() 注册 DOM/CSS 写入和一个统一的销毁器,卸载时把所有皮肤写入过的属性、注入的节点、document.title、theme-color meta 全部还原(src/client/index.ts:246-276)。

Q: 需要单独下载背景、立绘、画框这些素材吗?

A: 不需要。所有图(神社背景、灵梦立绘、侧栏画框、设置画框、缎带、icon 等)都通过 tools/generate-assets.cjs 转成 data URI 内联到 lib/client.js,激活完全离线、不依赖任何临时文件或远程 URL(README.md:57-75)。

Q: 可以同时装两套皮肤互相切换吗?

A: 该皮肤包自己不做切换。皮肤互斥由 dsh-skin 切换工具或 profile 的 bundles 配置管理;本皮肤只通过 wiring.id = ui-skin-hakurei 标识自己(cordis.patch.yml:5-7、skin.json:20-23)。

Q: 卸载后会留下垃圾吗?

A: 不会。Cordis 销毁器会移除所有 [data-skin-owner='hakurei-shrine'] 节点、删除所有写入的 data-* 标记与 body 上的 dataset 标记,并把 body 的 background-、--hakurei- 等 CSS 变量还原到加载前的值(src/client/index.ts:246-271)。

Q: 浅色模式看起来太亮怎么办?

A: 皮肤在浅色主题下会切到浅色背景图 HAKUREI_PALACE_LIGHT,并使用一套纸白配色(--hakurei-porcelain #faf5ea)和减弱的阴影;整体比深色模式亮度低、对比度更适合长时间阅读(src/client/hakurei.module.css:5-50、src/client/index.ts:310-315)。

Q: 能用这套皮肤的素材做商业产品吗?

A: 不能。整包以 CC BY-NC-SA 4.0 发布,明确禁止任何商业性使用(package.json:31、README.md:89-96)。

上手难度

入门 — 安装一行命令即可生效,没有需要填写的配置项,切换和卸载都交给 DSH 自身的皮肤管理机制。

已知问题与限制

  • 仓库未声明 engines.node 与最低 DSH 版本要求;如果 DSH 后续修改了侧栏选择器 [data-pane='sidebar']、标题栏 [class*='titlebar']、工作区 [role='tree'] 等内部 className,绑定点会失效(src/client/index.ts:41-43、106-107、158-218、492-494)
  • 在无 Window Controls Overlay 的普通标签页(headless / 平板模式)下,标题栏高度 fallback 固定为 40px,注释明确写「保持 headless/纯 tab mock 的可用性」,可能与真实标题栏高度不一致(src/client/index.ts:332-369)
  • 整套素材(神社背景、灵梦立绘、装饰画框)以 CC BY-NC-SA 4.0 授权,商业使用前需另行取得书面授权(package.json:31、README.md:89-96)
  • 仅对 platform: web 的 DSH profile 生效,桌面壳/移动端等其他 platform 不会加载这套皮肤(package.json:18-24、cordis.patch.yml:5-7)

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/xiake595/touhou-hakurei)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录