前言¶
DeepSeek Harness(下文简称 DSH)把模型、工具、技能、会话、沙箱、存储、循环、调度和 UI 都做成可替换的插件。官方说法是「一切皆插件」:Cordis 内核只负责加载、卸载和依赖,具体能力由插件提供。网页界面因此也可以整层换掉,而不必去改 Harness 源码。
默认 Web GUI 能完成编码 Agent 的日常操作,截图和演示看起来却和官方预览页差不多。社区里陆续出现了主题类插件:有人做 QQ 复古窗体,有人做 Excel 布局,也有人把角色立绘铺进对话区。dsh-deep-whale 属于最后一类——它不改 Agent 循环,也不碰模型请求,只给网页界面换一套「深海女仆工坊」皮肤。
本文按社区插件目录页、GitHub 仓库 README、maid-atelier 子目录的 package.json / skin.json / NOTICE,以及客户端入口源码核对后整理:这个插件是什么、装哪条命令、装完怎么切主题,以及许可证里必须留下的署名链。社区插件目录(deepseek-harness-plugin.com)是独立站点,与 DeepSeek / 幻方没有官方从属关系,不要把它当成官方应用商店。
这是什么¶
dsh-deep-whale 是一套面向 DSH Web GUI 的鲸鱼娘主题皮肤系列,由 Small-tailqwq 维护,仓库地址是 Small-tailqwq/dsh-deep-whale。目录页把它归在「主题与外观」,主要语言是 TypeScript。仓库创建于 2026 年 8 月 13 日,社区目录收录日期为 2026 年 8 月 15 日。截至 2026 年 8 月 17 日,GitHub API 显示约 1099 星;目录页当时展示的是 756 星,以后者作收录快照即可,星标以仓库页面为准。
它解决的问题很具体:让 Web 界面在不改 Harness 源码的前提下,换成带角色背景和装饰层的外观。仓库 README 写明这是独立分发仓库,当前「住户」只有一套皮肤:
| 皮肤 | 包名 | 说明 | 许可 |
|---|---|---|---|
| maid-atelier(深海女仆工坊) | @dsh-external/dsh-client-ui-skin-maid-atelier |
双女仆背景、深海蓝蕾丝界面与 Q 版侧栏 | CC BY-NC-SA 4.0 |
skin.json 里的英文名是 Abyssal Maid Atelier,作者字段为 Small-tailqwq,wiring.id 为 ui-skin-maid-atelier,强调色为 #c5a468,作用域属性为 data-dsh-maid-atelier。package.json 当前版本是 0.0.1,dsh.client.platform 为 web,对 @deepseek-ai/cordis 的 peer 依赖是 ^4.0.1。
皮肤子目录 README 把它定位成纯展示层客户端插件:宿主入口 src/index.ts 的 apply() 是空函数,注释写明「Provides no host-side behavior」;真正改界面的是 src/client/index.ts。它不注入 Cordis 服务、不发出 Cordis 事件、不触达模型请求。卸载时由 Cordis effect 销毁器还原全部 CSS / DOM 写入。
核心功能¶
下面这些能力来自 maid-atelier/README.md、skin.json 和客户端入口,不是演示稿里的想象功能。
亮暗两套宫殿背景¶
对话区使用双女仆工坊场景作背景。客户端按 body 是否带有 data-ds-dark-theme,在 MAID_ATELIER_PALACE_LIGHT 和 MAID_ATELIER_PALACE_DARK 之间切换,背景以 cover 铺满、顶部居中。仓库 README 在「效果预览」里放了 maid-atelier/preview/light.webp 和 dark.webp,安装前可以先看这两张图。
目录页也提到:亮色 / 暗色两版预览可以在切换前看清效果;装好后亮暗可以跟随系统偏好。具体是否「装上立刻生效」,以你当前的皮肤管理方式为准,下一节会分开写。
装饰层而不是改内核¶
skin.json 的描述和 README 一致:用深海蓝、陶瓷白、长春花蓝、柔金构成可热切换的 UI 覆盖层。客户端还会:
- 给可折叠侧栏加上 Q 版角色和边角装饰
- 改页面标题为「深海女仆工坊 · DeepSeek Harness」
- 写入
theme-color为#0b193f - 在
document.head追加一枚 PNG favicon
素材嵌进 client bundle(数据 URI)。README 明确写:激活不依赖临时文件、远程 URL 或额外的资源服务器。源码里对应的是 art.ts、background-art.generated.ts、chrome-art.generated.ts、workspace-art.generated.ts 这几份生成文件。
按页面状态收放角色¶
README 对布局的约定是:
- 着陆页角色随响应式输入框缩放
- 进入对话后,角色移向安全边缘
- 轨迹(Trajectory)/ 检查视图保持着陆构图
客户端用一组 data-maid-* 属性投影这些状态,例如是否处于活动对话、设置页是否打开、是否存在 [data-dsh-better-sidebar]。源码注释还写了:侧栏宽度写进独立 stylesheet,而不是改 body 的 inline style,避免触发 Chrome autofill 的 MutationObserver。没有加速 WebGL 时会打上 data-maid-low-power。这些都是实现细节,日常使用不必改配置。
加载即挂上,卸载即还原¶
cordis.patch.yml 往 web 插件名册插入一条:
id:ui-skin-maid-ateliername:@dsh-external/dsh-client-ui-skin-maid-atelier
客户端 apply(ctx) 用 ctx.effect 注册销毁器:去掉 data-dsh-maid-atelier、还原 CSS 变量、删掉皮肤自己插入的节点、恢复原来的 document.title。README 的说法是「加载即生效、卸载即复原」,并注明与皮肤中心 / dsh-skin 的互斥切换兼容。
安装与启用¶
安装前请先有一份能跑起来的 DSH Web 界面。官方快速体验是:
npx @deepseek-ai/dsh web
源码安装则克隆 deepseek-ai/deepseek-harness。DSH 仍处于开发者预览,核心插件和 API 会继续变。
目录页给出的命令¶
社区目录页的安装命令以页面原文为准,在 DeepSeek Harness 终端里运行:
dsh plugin add github:Small-tailqwq/dsh-deep-whale
如需可复现安装,目录页要求固定 commit 哈希:
dsh plugin add github:Small-tailqwq/dsh-deep-whale#<commit>
把 <commit> 换成仓库里实际的提交哈希,不要照抄占位符。
目录页同时提示:插件以当前 dsh 进程的权限运行,安装时可能执行代码。安装前应检查源代码仓库和许可证。
仓库 README 的两种装法¶
根目录 README 还提供了另外两条路径。
1、对 DSH 直接说(仓库称为「懒人版」):
安装一下这个皮肤包:https://github.com/Small-tailqwq/dsh-deep-whale
2、本地克隆后,把 maid-atelier 子目录加进 web profile:
git clone https://github.com/Small-tailqwq/dsh-deep-whale
cd <harness>
dsh plugin --profile web add ../dsh-deep-whale/maid-atelier
<harness> 是你的 DeepSeek Harness 工作目录。第二条命令指向皮肤成品目录,而不是仓库根目录;该目录带有 package.json、预构建的 lib/ 和 skin.json。
maid-atelier/README.md 里曾出现 git clone https://github.com/dsh-external/dsh-deep-whale。当前公开仓库所有者和目录页安装命令都是 Small-tailqwq/dsh-deep-whale,克隆时以后者为准。
典型用法¶
看预览再决定¶
仓库根 README 用表格放了亮色、暗色两张预览图,路径分别是:
maid-atelier/preview/light.webpmaid-atelier/preview/dark.webp
目录页的使用场景也建议先看预览:这套画风偏精致角色立绘,不喜欢可以在同一分类里看别的主题,不必先装再卸。
装完之后怎么切到这套皮肤¶
不同文档写的入口不完全一样,按来源分开用:
- 皮肤子目录 README:加载即生效,卸载即复原;
wiring.id为ui-skin-maid-atelier。 - 社区目录页:装好后在主题区选择;亮 / 暗两版可以跟随系统偏好。
- 若你另外装了皮肤管理类插件(例如社区里的
dsh-skin-manager),其 README 的流程是:打开 Settings → Skins,列表里会出现已安装皮肤(示例名称就是「深海女仆工坊 / maid-atelier」),点 Apply,按提示 Refresh。选 Default 则禁用全部皮肤、回到 DSH 原外观。dsh-deep-whale本身并不捆绑皮肤管理器。
没有皮肤中心时,以目录页的「主题区」和 README 的加载 / 卸载为准,不要把第三方管理器的菜单结构当成这个仓库自带的界面。
开发构建(一般用不到)¶
本仓库只分发皮肤成品(含预构建 lib/),不包含脚手架。根 README 写脚手架来自 zhu1090093659/dsh-web-ui;maid-atelier/README.md 写开发构建要到该脚手架仓库的 skins/maid-atelier/ 下进行:
cd <dsh-web-ui>/skins/maid-atelier
pnpm build # 重新生成素材嵌入 + tsdown 构建 lib/
pnpm test # apply.spec.ts 行为测试
只想换外观的话,不必走这条路径。把构建产物 lib/ 提交回 dsh-deep-whale 才是一次皮肤更新。
适用场景与注意事项¶
适合这些情况:
- 已经在用
dsh web,希望截图、教程、社区帖的界面有固定辨识度 - 团队或个人想给 Web 界面统一成同一套角色皮肤
- 只改外观、不希望皮肤插件插入服务或改模型请求
不适合这些情况:
- 需要商业使用。仓库和
maid-atelier/LICENSE均为 CC BY-NC-SA 4.0(署名、非商业性使用、相同方式共享),README 写明禁止商业性使用 - 只在终端 / TUI 里用 DSH,不用 Web GUI。
package.json把平台标成web - 指望它增强 Agent 能力。它不提供工具、技能或模型适配
许可证还有一条必须遵守的署名链,写在 maid-atelier/NOTICE 里。皮肤素材是三创:
- 一创 上善(Pixiv):鲸鱼娘角色形象原作
- 二创 ZipZipPipe / zipzip(Pixiv):在原作上加入 DeepSeek 元素的女仆鲸鱼娘二次设计(NOTICE 写明生成模型为 GPT Image 2)
- 三创 Small-tailqwq:本皮肤使用的 DeepSeek 元素再设计
完整许可文本在 maid-atelier/LICENSE。仓库 README 要求:反馈问题尽量开 GitHub Issue,不要去联系上面两位原作;想看鲸鱼娘二创可以自行关注他们的主页。
另外几条实践上的限制:
- 插件以当前 dsh 进程权限运行。即使这是展示层皮肤,安装前仍应浏览仓库源码和许可证
- 客户端会改
document.title、favicon 和theme-color;卸载后销毁器会按保存的原值还原 - 源码里出现了对
[data-dsh-better-sidebar]的适配选择器,说明它可以和侧栏增强类插件共存,但共存效果以你本机实际界面为准,仓库没有提供一份「已验证插件组合」清单 - DSH 和社区皮肤脚手架都还在快速迭代,
0.0.1这种版本号说明成品仍早;界面 DOM 结构一变,皮肤选择器可能对不齐
小结¶
dsh-deep-whale 把 DSH「UI 也是插件」这件事做得很直接:当前只分发 maid-atelier 这一套深海女仆工坊皮肤,包名是 @dsh-external/dsh-client-ui-skin-maid-atelier,在网页里铺双女仆背景和装饰层,不介入 Agent 循环。安装用目录页命令:
dsh plugin add github:Small-tailqwq/dsh-deep-whale
或按 README 把 maid-atelier 子目录加进 web profile。使用前看清 CC BY-NC-SA 4.0 和 NOTICE 里的署名链,非商业场景再装。
目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-deep-whale/
GitHub:https://github.com/Small-tailqwq/dsh-deep-whale