DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

6HOLLIS /

6HOLLIS/DSH-Hiyuki-Frost-Sakura

Verified

Immersive Hiyuki dual-form skin for DeepSeek Harness Web, with frost/sakura transitions, themed controls, and native DSH layout.

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@9f94094e

DSH Hiyuki Frost Sakura

一款面向 DeepSeek Harness Web(DSH)的《鸣潮》绯雪主题皮肤。它在不改变 DSH 原有布局、不代理会话操作的前提下,加入常态与战斗态两套本地背景、霜樱玻璃色调、平滑形态切换和预设优先的设置入口。

这是非官方同人项目,与 KURO GAMES(库洛游戏)不存在隶属、授权、赞助或合作关系。代码与生成式同人素材采用不同的权利说明,详见许可与素材声明和 THIRD_PARTY_NOTICES.md。

效果预览

DSH 0.1.1-rc.2 实机效果

常态待机 主题设置 战斗态
DSH 中的绯雪常态界面 DSH 中的绯雪主题设置 DSH 中的绯雪战斗态界面

实机图保留完整 DSH 布局,并对工作区名称与会话标题做了隐私模糊处理;普通对话显示常态,Agent 首次调用工具时自动进入战斗态。

完成任务后的运行统计

输入框下方使用自适应霜墨字色的运行统计

耗时、工具调用、首 token、生成速度、缓存命中和输入/输出 token 不增加额外底条:常态使用深霜墨色,战斗态自动切换为浅冰白色,并辅以克制的反向阴影,在两张复杂背景上保持清晰。

第一形态 · 常态

绯雪常态背景,白樱常态刀

第二形态 · 战斗态

绯雪战斗态背景,长太刀冰讯状态

运行时只加载仓库内的 WebP;不从网络下载背景。两张图同时加载失败时会退回纯 CSS 冰霜渐变,图片故障不会阻止 DSH 启动。

功能

  • 常态与战斗态双背景:普通对话和思考保持常态,当前 Agent 真正调用工具干活时自动进入战斗态;也可手动永久锁定任一形态。
  • 常态转战斗态播放约 0.9 秒“冰雾掠境”,战斗态恢复常态播放约 1.15 秒“斜风疏樱”;没有持续运行的动画循环。
  • 轻柔、标准、沉浸三档视觉强度。
  • 单层霜瓷侧栏、圆角会话选中态,以及新建、搜索、视图、工作区、归档、设置和发送按钮的绯雪主题材质。
  • 底部输入框默认 0% 透明(完全不透明),可独立调节到最高 90% 透明,不受视觉预设和形态切换覆盖。
  • DSH 明暗主题适配,代码块、菜单、弹窗和输入区域保留高可读表面。
  • 战斗态单独提高 Agent 正文、Think 与工具调用记录的对比度;用户消息气泡和常态文字保持 DSH 原有表现。
  • 遵循系统“降低动态效果”偏好,也可在插件设置中单独关闭动态。
  • 背景层完全忽略指针事件;已知按钮只增加视觉标记和材质,不替换事件、ARIA、快捷键或原 SVG 轮廓。
  • 与 dsh-session-manage 共存;皮肤不调用删除、归档、恢复、移动或工作区 API。
  • Host 入口保持空操作;浏览器视觉异常不会进入 DSH Host 启动链。

兼容性

项目 状态
DSH 0.1.0-rc.6 最初的 API 与依赖目标
DSH 0.1.0-rc.7 已在真实 Windows Web Profile 完成启动、切换、卸载和重装验证
DSH 0.1.1-rc.2 当前开发依赖;已按最新设置插槽、主题和运行时接口适配
Node.js CI 使用 Node 22
包管理器 pnpm 11;项目锁文件必须保留
本地安装脚本 Windows PowerShell / PowerShell 7

更高版本的 DSH 仍可能调整客户端模块加载器、设置插槽或主题令牌。升级 DSH 后先使用 -WhatIf 检查安装目标,并保留可用的 Web Profile 备份。

安装

准备工作

  1. 安装 Node.js 22 和 pnpm 11。
  2. 下载或克隆本仓库,并在仓库根目录打开 PowerShell。
  3. 确认目标 DSH Web Profile 中存在 package.json。默认位置是 $env:USERPROFILE\.dsh\profiles\web。
  4. 建议先退出正在运行的 DSH,或在安装后完整重启 DSH。

默认 Web Profile

先预览将要执行的操作;-WhatIf 不修改 Profile:

pwsh -File .\scripts\install-local.ps1 -WhatIf

确认路径正确后安装:

pwsh -File .\scripts\install-local.ps1

安装脚本会依次:

  1. 运行类型检查、全部测试、生产构建和素材校验;
  2. 只复制 package.json 中 files 白名单允许发布的文件;
  3. 在 Profile 清单中加入一个 file:./dsh-hiyuki-frost-sakura 依赖;
  4. 将皮肤 bundle 插在 @deepseek-ai/dsh-web-app 后面;
  5. 保留 dsh-session-manage 及其他依赖、bundle 和配置;
  6. 刷新 pnpm 的同版本本地依赖副本,并校验已安装 client.js 的 SHA-256。

脚本不会修改 DSH 核心文件,也不会写入、归档、移动或删除任何会话。

自定义 Profile

非默认路径必须显式传入,以免误操作其他目录:

pwsh -File .\scripts\install-local.ps1 -ProfilePath 'D:\path\to\dsh-profile-web' -WhatIf
pwsh -File .\scripts\install-local.ps1 -ProfilePath 'D:\path\to\dsh-profile-web'

安装结束后完整重启 DSH。更新本地代码后重新运行同一安装命令即可;脚本支持重复执行,不会重复添加依赖或 bundle。

设置:自动、永久常态和永久战斗态

进入 DSH → 设置 → 通用设置 → 绯雪主题。所有设置即时生效并自动保存,不需要“应用”按钮;刷新页面或重启 DSH 后仍会保留。设置保存在当前浏览器 Profile 的本地存储中,不会写进会话文件。

总开关

  • 绯雪主题:关闭后立即隐藏背景并释放主题覆盖;再次打开会恢复当前设置。

视觉强度

预设 背景与玻璃效果 动态装饰 适合情况
轻柔 约 45%,面板最实 关闭粒子 长时间阅读、偏好原生 DSH
标准 约 70%,默认平衡值 最多 6 个稀疏粒子 日常使用
沉浸 约 90%,面板更通透 最多 8 个稀疏粒子 更强调角色与氛围

预设不会降低代码块、菜单和弹窗到危险透明度。如果文字仍显得太淡,优先切换为“轻柔”,而不是修改 DSH 核心 CSS。

底部输入框透明度

  • 默认值是 0% 透明,也就是完全不透明;首次安装或配置损坏回退时都使用此值。
  • 滑杆范围为 0%–90% 透明。向右拖动越透明,最高为 90%;即使拉满仍保留 10% 的输入框底色,以及背景模糊、边框和阴影,以保护占位文字、模型选择和发送按钮的可读性。
  • 这个滑杆只控制页面底部的消息输入框卡片,不控制会话正文、代码块、侧栏、设置弹窗或背景图片。
  • 该数值独立保存。切换轻柔/标准/沉浸、常态/战斗态、自动/手动形态,或刷新和重启 DSH,都不会把它改回预设值。
  • 从旧版升级时,插件会把原先保存的“不透明度”换算成新滑杆显示值,旧版视觉观感保持不变。例如旧版保存 73% 不透明,升级后会显示为 27% 透明,但输入框实际效果不变。
  • 如果调得过透导致当前壁纸区域难读,直接把滑杆恢复到 0%;不需要重装插件或清除整个 Profile。

形态选择

  • 自动形态切换(默认):欢迎页、设置、归档、浏览已有消息、普通对话以及只有思考和文字输出的短对话都保持第一形态。只有当前可见会话中的 Agent 首次调用工具开始干活时,才切换为战斗态;同一轮任务后续继续调用工具不会重复播放切换动画。
  • 自动恢复常态:任务完成、用户停止、取消或执行失败后,都会恢复常态。短暂思考本身不会触发战斗态。
  • 后台任务隔离:后台其他会话调用工具不会改变当前页面;切换到一个正在调用工具的会话时,画面会同步为战斗态。若 DSH 暂时无法提供活动状态,插件会安全地保持常态。
  • 在会话里永久保持第一形态:进入 DSH → 设置 → 通用设置 → 绯雪主题,关闭“自动形态切换”,再点“常态”。此后即使打开会话、产生思考或调用工具,也会始终保持第一形态。选择会自动保存,刷新页面或重启 DSH 后仍有效。
  • 永久第二形态:关闭“自动形态切换”,再点“战斗态”。欢迎、设置、归档、普通对话和工具任务都会保持第二形态,选择同样会自动保存。
  • 恢复自动切换:重新打开“自动形态切换”。手动形态会作为备用值保留,但当前画面重新由当前可见会话是否真正调用工具决定。

如果关闭自动切换后没有看到“常态/战斗态”二段按钮,先确认“绯雪主题”总开关仍处于开启状态,再关闭并重新打开一次设置面板。视觉强度、输入框透明度和动态效果都不会改变这套形态规则。

动态效果与降低动态效果

  • 冰雾掠境(常态 → 战斗态):约 0.9 秒的冷蓝冰雾与霜晶扫过画面,只在当前任务首次调用工具时播放一次。
  • 斜风疏樱(战斗态 → 常态):约 1.15 秒,16 片稀疏的白粉樱花斜向飘落,只在任务结束、停止、取消或失败后播放一次。
  • 关闭插件的 动态效果:形态仍可切换,但只保留约 120ms 的短暂淡入淡出,不播放冰雾、霜晶或樱花。
  • 操作系统或浏览器启用 prefers-reduced-motion: reduce 时,系统偏好拥有更高优先级,即使插件动态开关开启,也会强制降低动态效果。
  • 背景层不接收鼠标和键盘事件,切换过程中输入、滚动和按钮仍应可用。

与 dsh-session-manage 共存

皮肤只改变视觉,不包裹或替换会话管理按钮。归档、恢复、删除、文件夹分组和“未分组”兜底仍完全由 dsh-session-manage 负责。

  • 安装脚本只插入本皮肤自己的 dependency 和 bundle。
  • 卸载脚本只移除本皮肤自己的条目和目录。
  • 如果会话归档或删除行为异常,应先单独检查 dsh-session-manage;皮肤没有这些数据接口,也不会尝试“修复”会话数据。
  • 手动编辑 Profile 清单时不要删除或重排 dsh-session-manage,也不要把本皮肤重复加入 bundles。

卸载

预览卸载范围:

pwsh -File .\scripts\uninstall-local.ps1 -WhatIf

执行卸载:

pwsh -File .\scripts\uninstall-local.ps1

自定义 Profile 同样使用 -ProfilePath。脚本会从清单中移除皮肤依赖和 bundle,运行 pnpm install 刷新 Profile,再删除皮肤目录;失败时会恢复原始 Profile 清单。卸载后重启 DSH。

卸载不会删除插件写入浏览器本地存储的偏好键 dsh-hiyuki-frost-sakura:v1,但没有插件时该键不会生效。需要彻底清除偏好时,可在对应 DSH 站点的浏览器存储中删除这个键。

故障排查

DSH 显示 “Failed to load plugins”

  1. 记录错误中显示的插件名,不要修改 DSH 核心文件。
  2. 在仓库目录运行 pwsh -File .\scripts\uninstall-local.ps1 -WhatIf,确认目标是正确的 Web Profile。
  3. 执行卸载并重启 DSH;确认原界面可进入。
  4. 更新仓库后重新安装。当前 bundle 必须以 window.__ModuleLoader__.load(...) 注册;普通 ESM bundle 会被 rc.7 拒绝。

插件已加载但没有人物背景

  • 完整重启 DSH,而不只是刷新旧页面。
  • 重新运行安装脚本;它会刷新 pnpm 对同版本 file: 依赖的缓存副本,并验证 bundle 哈希。
  • 在设置中确认“绯雪主题”已开启,视觉强度不是被外部修改成无效值。
  • 单图加载失败会使用另一张图或渐变;两图都失败也不应导致 DSH 无法启动。

Profile 路径或 pnpm 安装失败

  • 默认路径必须以 .dsh\profiles\web 结尾;其他位置必须显式传入 -ProfilePath。
  • Profile 必须已有 package.json 和 dsh.profile.bundles;脚本不会凭空创建未知结构。
  • 某些 Profile 设置了 autoInstallPeers: false,pnpm 可能报告 peer dependency 警告;只要安装命令成功退出且 DSH 能启动,这类警告不等于皮肤加载失败。

设置损坏或表现异常

插件会忽略未知字段;类型错误或无法迁移时恢复标准默认值。仍有问题时,清除站点本地存储键 dsh-hiyuki-frost-sakura:v1,刷新后会回到:主题开启、标准强度、输入框透明度 0%、动态开启、自动切换开启、手动常态备用值。存储键名称保留 v1 是为了原地迁移旧用户数据,键内配置版本已经升级,不代表迁移失败。

安全模式停用

即使 DSH 页面进不去,也可以从 PowerShell 运行卸载脚本,因为脚本不依赖 DSH 前端启动。先使用 -WhatIf 核对路径,再执行卸载并重启。不要通过删除整个 Web Profile、重装 DSH 或修改核心包来停用本皮肤。

开发与验证

pnpm install --frozen-lockfile
pnpm typecheck
pnpm test
pnpm build
pnpm check
pnpm pack --dry-run
  • pnpm check:类型检查、全部测试、生产构建和素材尺寸/格式/差异校验。
  • pnpm test:smoke:客户端启动、降低动态效果和失败清理的快速检查。
  • node scripts/validate-assets.mjs:验证两张 4K PNG 源图和两张 WebP 运行图。
  • scripts/hash-core.ps1:生成 DSH 前端与 loader 核心文件的 SHA-256 报告,用于确认安装没有修改核心。
  • CI 在 Windows 和 Ubuntu、Node 22 上运行冻结锁文件安装与完整检查。

发布包只应包含构建后的 lib、运行时 WebP、Cordis patch、README、LICENSE、第三方声明和 package metadata。4K PNG 源图、测试、QA 证据、本机路径和会话数据不得进入 npm 包。

许可与素材声明

仓库中的程序代码采用 MIT License。素材不是 MIT 代码授权的一部分:assets/source 与 assets/web 中的绯雪图片属于生成式非官方同人素材,受 THIRD_PARTY_NOTICES.md 的独立限制和权利声明约束。

《鸣潮》(Wuthering Waves)、绯雪(Hiyuki)及相关名称、角色、世界观和识别性元素的权利归 KURO GAMES 或相应权利人所有。本项目不主张拥有这些第三方权利,不建议将同人素材用于商业用途,也不得把素材单独出售或宣称为可自由再授权的原创角色资产。

隐私与安全

  • 背景素材随包提供,不需要 API 密钥,也不会在运行时访问图像生成服务。
  • 插件不读取会话正文,不发送遥测,不操作会话文件。
  • 安装脚本限制写入选定 Profile 的子路径,并提供 -WhatIf 预览。
  • 提交或发布前应扫描 API 密钥、本机绝对路径、私有会话 ID 和下载的第三方图片。
—/ 5

No ratings yet

Verified DSH bundle

Commit 9f94094e426b

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