DSH Web 端"深海女仆工坊"主题皮肤:双女仆背景、深海蓝蕾丝 UI 与 Q 版侧栏,纯展示层,激活即生效,卸载即复原。
- 语言
- TypeScript
- 分支
- main
安装
$ dsh plugin --profile web add github:Small-tailqwq/dsh-deep-whale在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
一句话定位
dsh-deep-whale 是鲸鱼娘主题皮肤系列仓库,当前收录一套"深海女仆工坊"(maid-atelier)皮肤,用于改造 DeepSeek Harness Web 界面的视觉外观,让对话背景、侧栏、图标与配色统一为深海蓝+女仆主题。
核心能力
- 替换对话区背景为双女仆工坊场景(亮模式宫殿日景 / 暗模式宫殿夜景自动切换)
- 装饰可折叠侧栏:Q 版鲸鱼娘角色、蕾丝边框、底部装饰条与导航栏装饰
- 改造设置对话框、输入框容器、轨迹/检查视图,提供对应的装饰框与状态钩子
- 替换浏览器 favicon 与窗口标题栏(Web App 标头颜色设为深海蓝)
- 内嵌 11 个素材到 client bundle(base64 data URI),激活不依赖任何远程 URL/资源服务器/临时文件
- 通过 dsh-skin 实现皮肤中心互斥切换、热重载,卸载即复原(DOM、CSS、title、theme-color 全部恢复)
技术实现
- 语言: TypeScript(ESM + CJS 双输出)
- 关键依赖:
@deepseek-ai/cordis^4.0.1(插件宿主框架);tsdown0.22.14(构建 bundle);lightningcss^1.32.0(在 tsdown 插件中处理 CSS Modules) - 架构模式: 客户端皮肤插件(client-only skin)。仅在浏览器端加载(
dsh.client.platform: web),无 host 侧服务、无 Cordis 事件、无模型请求;通过cordis.patch.yml在 web 插件白名单中插入ui-skin-maid-atelier条目,由皮肤中心/dsh-skin 互斥调度 - 入口文件:
src/index.ts(host 端 stub,apply() 为空);src/client/index.ts(真正的 apply(ctx),实现所有 DOM/CSS 装饰与生命周期管理)
适用场景
希望 DSH Web 桌面看起来不那么"工具感"、喜欢二次元动漫风格的普通用户。如果你正在使用 DSH 0.1.0-rc.6 或更高版本、希望换一套不依赖网络的静态主题皮肤、并想要对原版界面"加滤镜"而不是改造功能,本插件是合适的选择。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 0.1.0-rc.6+ | 源码引用了 rc.6 行为(src/client/index.ts:562),皮肤中心走 home-layer 互斥切换(cordis.patch.yml:4) |
| @deepseek-ai/cordis | ^4.0.1 | 运行时由宿主注入,本仓库不直接安装(package.json:29, peerDependencies) |
| 平台 | 跨平台 | 浏览器端皮肤,依赖 DOM 与 ResizeObserver/WCO API;不支持 Native shell 端 |
| 原生模块 | 无 | 全部素材以 data URI 内嵌进 client.js,无需原生二进制 |
安装方式
dsh plugin --profile web add github:Small-tailqwq/dsh-deep-whale
配置项
本插件无需额外配置。皮肤元数据由仓库内的 skin.json 声明(id/名字/作者/配色/预览/wiring),载入后通过 data-dsh-maid-atelier 作用域标识(skin.json:17)作用于 body 元素,与皮肤中心/dsh-skin 互斥切换(skin.json:19-22, wiring.id=ui-skin-maid-atelier)。本插件没有独立的用户级配置项。
常见问题
Q: 这个皮肤包能装在 DSH 桌面端吗?
A: 不能。package.json 声明 dsh.client.platform: web(package.json:21-22),皮肤只在浏览器端加载;桌面壳走另一套宿主,本仓库的皮肤挂不到上面。
Q: 皮肤装上后和官方皮肤/其他第三方皮肤能并存吗?
A: 不能。皮肤中心走 home-layer 互斥切换(cordis.patch.yml:4),它的 wiring.id 是 ui-skin-maid-atelier,同一时刻只能激活一个皮肤。
Q: 安装后界面没有变化也没有报错,怎么办?
A: 皮肤要靠皮肤中心/dsh-skin 勾选启用。仅把插件包装进 DSH 不会让 apply() 跑起来;按 README 在皮肤中心勾选 maid-atelier 即可(maid-atelier/README.md:21)。
Q: 皮肤会拖慢 DSH 吗?需要联网吗?
A: 不会拖慢,也不会外联。所有 11 张 webp(背景、角色、装饰)由 tsdown 在 build 阶段转成 data URI 内嵌进 lib/client.js(maid-atelier/README.md:8-11),激活皮肤时不请求任何远程 URL 或资源服务器。
Q: 浏览器没启用 WebGL 加速会怎么样?
A: apply() 启动时会检测加速 WebGL(try webgl2 / webgl with failIfMajorPerformanceCaveat),若没有就给 body 加 data-maid-low-power 标识(src/client/index.ts:163-178, 402),CSS 走更轻的 CPU-safe 路径,视觉上略有简化但仍可用。
Q: 卸载会留下垃圾吗?
A: 不会。apply() 通过 ctx.effect 注册的反激活器(src/client/index.ts:349-391)会恢复所有 body 属性、移除所有 [data-skin-chrome] 节点、还原 body 样式、还原 document.title、断开所有 MutationObserver / ResizeObserver / windowControlsOverlay 监听。
Q: 可以商用吗?需要署名吗?
A: 不可商用,且必须保留完整署名链。皮肤以 CC BY-NC-SA 4.0 发布(package.json:27),禁止商业用途;署名链包含原作上善、二创 ZipZipPipe、本仓三创 Small-tailqwq(NOTICE:1-25)。
上手难度
入门 — 安装后启用即生效,不需要任何配置或代码改动;底层 icon/CSS/DOM 装饰全部由 apply() 自动接管。
已知问题与限制
- 在 DSH 0.1.0-rc.6 工作台"窄搜索栏"展开/折叠瞬间偶发重置焦点为此前的折叠态:本皮肤通过
requestAnimationFrame重投递一次点击和 focus(src/client/index.ts:562-595)兼容该行为;更高版本已自带保持,新版本下该通道自动失效。 - 无加速 WebGL 的浏览器或低功耗设备:装饰元素走简化路径,整体视觉表现略弱于完整效果(src/client/index.ts:163-178, 402)。
- 桌面封装端(Naitive shell)无法挂载此皮肤:本仓库只分发 Web 端(package.json:21-22)。
- 素材为二次/三次衍生作品,受 CC BY-NC-SA 4.0 限制,不可商用、二创必须以同协议共享(NOTICE:24-25)。
DeepSeek Harness Web GUI 的鲸鱼娘主题皮肤系列(独立分发仓库)。
效果预览
点击图片可查看完整尺寸。
住户
| 皮肤 | 包名 | 说明 | 许可 |
|---|---|---|---|
| maid-atelier | @dsh-external/dsh-client-ui-skin-maid-atelier | 深海女仆工坊:双女仆背景、深海蓝蕾丝界面与 Q 版侧栏 | CC BY-NC-SA 4.0 |
版权所有人
| 版权所有人 | 版权所有内容 | 个人主页 |
|---|---|---|
| 上善 | 鲸鱼娘角色形象原作 | Pixiv · Bilibili(上善无形) |
| ZipZipPipe | 加入 DeepSeek 元素的女仆鲸鱼娘二次设计 | Pixiv · Bilibili(ZipZipPipe) |
*反馈问题尽可能在 issue 中发起,而不是跑去联系上面两位老师。但是,看鲸鱼娘二创可以去关注一下,谢谢喵
安装
懒人版
对你的 dsh 说:
安装一下这个皮肤包:https://github.com/Small-tailqwq/dsh-deep-whale
git clone https://github.com/Small-tailqwq/dsh-deep-whale
cd <harness>
dsh plugin --profile web add ../dsh-deep-whale/maid-atelier
懒人版 · 自带技能
本仓库自带 dsh-skin-install 技能(.agents/skills/)。dsh 在仓库目录内运行时自动发现该技能;对你的 dsh 说"安装一下这个皮肤包"或"切换皮肤",它会列出仓库全部皮肤、询问你要激活哪一套,并交代作者署名链与许可边界后再安装。无需自行克隆到 dsh 源码里,皮肤开关走配置热重载,无需重启。
许可
本仓库各皮肤为衍生创作,整体以 CC BY-NC-SA 4.0(署名-非商业性使用-相同方式共享)发布,禁止商业性使用。署名链见各皮肤 NOTICE。
皮肤工程脚手架来自 zhu1090093659/dsh-web-ui ,本仓库仅分发皮肤成品,不包含脚手架。

