🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

深海鲸娘皮肤集 shixun926-dotcom/dsh-deep-whale-desktop

DeepSeek Harness
shixun926-dotcom34 天前有提交已提供中文文档扫描:含敏感能力

DSH 桌面端Electron鲸鱼娘皮肤二创整理版:深海女仆工坊 + 虎鲸链路 + 皮肤管理器|非原创,仅供非商业使用

30.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:仓库根目录无 package.json,浅层子目录有 3 份 dsh 插件清单(maid-atelier/package.json、orca-link/package.json、skin-manager/package.json),无法唯一定位安装名。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add shixun926-dotcom/dsh-deep-whale-desktop
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/11/2) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库根目录无 package.json,浅层子目录有 3 份 dsh 插件清单(maid-atelier/package.json、orca-link/package.json、skin-manager/package.json),无法唯一定位安装名

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-deep-whale-desktop(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:19:42

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 49 处,展示前 33 条)
  • 读取本地文件
    maid-atelier/build/tsdown.client.ts:280
    const source = await readFile(fileId)
  • 读取本地文件
    maid-atelier/build/tsdown.client.ts:326
    if (existsSync(emitted)) return emitted
  • 读取本地文件
    orca-link/build/tsdown.client.ts:280
    const source = await readFile(fileId)
  • 读取本地文件
    orca-link/build/tsdown.client.ts:326
    if (existsSync(emitted)) return emitted
  • 写入剪贴板
    skin-manager/lib/client.js:70
    await navigator.clipboard?.writeText(info.local.hash);
  • 发起网络请求
    skin-manager/lib/client.js:451
    const response = await fetch(SKIN_MANAGER_ROUTE, { credentials: "same-origin" });
  • 发起网络请求
    skin-manager/lib/client.js:458
    const response = await fetch(SKIN_MANAGER_ROUTE, {
  • 发起网络请求
    skin-manager/lib/client.js:470
    const response = await fetch(SKIN_MANAGER_ROUTE, {
  • 发起网络请求
    skin-manager/lib/client.js:482
    const response = await fetch(SKIN_MANAGER_ROUTE, {
  • 读取本地文件
    skin-manager/lib/index.js:36
    const manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
  • 读取本地文件
    skin-manager/lib/index.js:52
    return existsSync(candidate) ? candidate : null;
  • 读取本地文件
    skin-manager/lib/index.js:55
    return existsSync(candidate) ? candidate : null;
  • 读取本地文件
    skin-manager/lib/index.js:92
    const entry = catalogEntry(JSON.parse(readFileSync(path, "utf8")), packageName);
  • 读取本地文件
    skin-manager/lib/index.js:110
    const entry = catalogEntry(JSON.parse(readFileSync(path, "utf8")), packageName);
  • 读取本地文件
    skin-manager/lib/index.js:172
    if (!existsSync(file)) return null;
  • 发起网络请求
    skin-manager/lib/index.js:299
    const response = await fetch(url, {
  • 写入本地文件
    skin-manager/lib/index.js:512
    mkdirSync(dirname(path), { recursive: true });
  • 写入本地文件
    skin-manager/lib/index.js:517
    writeFileSync(fd, text, "utf8");
  • 写入本地文件
    skin-manager/lib/index.js:521
    renameSync(temporary, path);
  • 删除本地文件
    skin-manager/lib/index.js:524
    if (existsSync(temporary)) rmSync(temporary, { force: true });
  • 删除本地文件
    skin-manager/lib/index.js:544
    else rmSync(original.path, { force: true });
  • 读取本地文件
    skin-manager/src/index.ts:68
    const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')) as {
  • 读取本地文件
    skin-manager/src/index.ts:90
    return existsSync(candidate) ? candidate : null
  • 读取本地文件
    skin-manager/src/index.ts:93
    return existsSync(candidate) ? candidate : null
  • 读取本地文件
    skin-manager/src/index.ts:134
    const entry = catalogEntry(JSON.parse(readFileSync(path, 'utf8')) as SkinManifest, packageName)
  • 读取本地文件
    skin-manager/src/index.ts:155
    const entry = catalogEntry(JSON.parse(readFileSync(path, 'utf8')) as SkinManifest, packageName)
  • 读取本地文件
    skin-manager/src/index.ts:252
    if (!existsSync(file)) return null
  • 发起网络请求
    skin-manager/src/index.ts:364
    const response = await fetch(url, {
  • 写入本地文件
    skin-manager/src/index.ts:621
    mkdirSync(dirname(path), { recursive: true })
  • 写入本地文件
    skin-manager/src/index.ts:626
    writeFileSync(fd, text, 'utf8')
  • 写入本地文件
    skin-manager/src/index.ts:630
    renameSync(temporary, path)
  • 删除本地文件
    skin-manager/src/index.ts:633
    if (existsSync(temporary)) rmSync(temporary, { force: true })
  • 删除本地文件
    skin-manager/src/index.ts:661
    else rmSync(original.path, { force: true })
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 深海女仆工坊
  • 虎鲸链路
  • 皮肤管理器

README

由 DeepSeek 最新模型翻译生成
⚠️ 非原创声明 本仓库不是原创项目:内容来自第三方,版权归原作者所有,本仓库不主张任何权利,仅供个人非商业使用。若原作者要求下架,将立即删除本仓库。 dsh-deep-whale · 鲸鱼娘皮肤系列 简体中文 · English DeepSeek Harness Web GUI 的鲸鱼娘主题皮肤系列(独立分发仓库)。 效果预览 点击图片可查看完整尺寸。 | 皮肤 | 亮色模式 | 暗色模式 | | maid-atelier | maid-atelier 亮色模式 | maid-atelier 暗色模式 | | orca-link | orca-link 亮色模式 | orca-link 暗色模式 | 住户 | 皮肤 | 包名 | 说明 | 许可 | | maid-atelier | @dsh-external/dsh-client-ui-skin-maid-atelier | 深海女仆工坊:双女仆背景、深海蓝蕾丝界面与 Q 版侧栏 | CC BY-NC-SA 4.0 | | orca-link | @dsh-external/dsh-client-ui-skin-orca-link | 虎鲸链路:珍珠白机械舱、黑曜虎鲸操作员与电蓝链路信号 | CC BY-NC-SA 4.0 |
展开完整文档(README 剩余 1 节)
⚠️ 非原创声明

本仓库不是原创项目:内容来自第三方,版权归原作者所有,本仓库不主张任何权利,仅供个人非商业使用。若原作者要求下架,将立即删除本仓库。

dsh-deep-whale · 鲸鱼娘皮肤系列

简体中文 · English

DeepSeek Harness Web GUI 的鲸鱼娘主题皮肤系列(独立分发仓库)。

效果预览

点击图片可查看完整尺寸。

| 皮肤 | 亮色模式 | 暗色模式 |
| maid-atelier | maid-atelier 亮色模式 | maid-atelier 暗色模式 |
| orca-link | orca-link 亮色模式 | orca-link 暗色模式 |

住户

| 皮肤 | 包名 | 说明 | 许可 |
| maid-atelier | @dsh-external/dsh-client-ui-skin-maid-atelier | 深海女仆工坊:双女仆背景、深海蓝蕾丝界面与 Q 版侧栏 | CC BY-NC-SA 4.0 |
| orca-link | @dsh-external/dsh-client-ui-skin-orca-link | 虎鲸链路:珍珠白机械舱、黑曜虎鲸操作员与电蓝链路信号 | CC BY-NC-SA 4.0 |
| skin-manager | @dsh-external/dsh-client-ui-skin-deep-whale-manager | 通用皮肤发现、切换与皮肤自声明配置面板 | MIT |

版权所有人

| 版权所有人 | 版权所有内容 | 对应皮肤 | 个人主页 |
| 上善 | 鲸鱼娘角色形象原作 | maid-atelier / orca-link | Pixiv · Bilibili(上善无形) |
| ZipZipPipe | 加入 DeepSeek 元素的女仆鲸鱼娘二次设计 | maid-atelier | Pixiv · Bilibili(ZipZipPipe) |

\反馈问题尽可能在 issue 中发起,而不是跑去联系上面两位老师。但是,看鲸鱼娘二创可以去关注一下,谢谢喵

安装

皮肤的安装手段只有一个正确姿势:让你的 dsh 读取本仓库的 INSTALL.md(标准安装入口),它会引导 dsh 使用自带的 dsh-skin-install 技能执行——默认安装 skin-manager 与仓库内全部皮肤,但只激活你选中的一套。技能会在新增包之前预置互斥开关,避免两套皮肤曾经同时运行(详见皮肤互斥机制与 issue #65)。

标准流程:让 dsh 按 INSTALL.md 安装(推荐,唯一保证互斥的路径)

1. 让你的 dsh 读取本仓库的标准安装入口:

读取 https://github.com/Small-tailqwq/dsh-deep-whale/INSTALL.md 并按其中指引安装皮肤

2. INSTALL.md 会把 dsh 引导到仓库自带的 dsh-skin-install 技能(若 dsh 无法读取远端文件:先 git clone 到本地,在 dsh 中把 clone 目录打开为工作区——技能会被自动发现——或让它读取本地 INSTALL.md 路径)。技能随后依次完成:

列出全部皮肤并明确“全部安装、只选择激活哪一套” → 交代署名链与许可(CC BY-NC-SA 4.0)→ 先原子预置两个 patch 层的互斥 disabled 行 → 绝对路径注册 skin-manager 与全部皮肤 → 验证组合配置与冷启动。首次新增包需要用户重启一次;之后切换只走配置热重载,无需重启。

已安装/已知目标时走快车道:直接说“切换到 maid-atelier”或“安装 orca-link”,技能跳过询问与扫描,预计 1–2 分钟完成。

皮肤互斥机制(必读)

- 先分清:skin-manager 不是皮肤,而是皮肤管理器(提供发现、切换与定制面板),需要常驻启用;互斥的对象是皮肤本身——本仓库的皮肤是 maid-atelier 与 orca-link。
- 皮肤启停由 patch 层控制:profile 的 ~/.dsh/profiles/web/cordis.patch.yml 与 home 层的 ~/.dsh/cordis.patch.yml 里各自的 - id: + disabled: true/false 行(两层都要写,home 层优先级更高)。
- patch 里没有某皮肤行的 disabled 行 → 该皮肤默认启用。一次把多套皮肤(maid-atelier 与 orca-link)都装上、又从未切换时,它们会同时运行:装饰层互相叠加、侧栏/设置区被搅乱,典型症状是设置按钮消失、侧栏宽度/布局异常、界面混乱(原版正常)。
- skin-manager(设置 → 皮肤管理)激活时会自动把互斥行写入两个 patch 层;手写时“只保留一套”必须显式停用其余每一套。
- 第三方市场等渠道若绕过标准安装流程,skin-manager 会在启动时合并 profile→home 两层状态;检测到实际同时启用两套及以上皮肤时,自动原子回退到“官方默认”。已有零套或一套启用的合法选择不会被改写。
- 安装了皮肤管理器后,皮肤定制项(如“不那么二次元模式”的可见时段)保存在当前浏览器,由管理器统一应用。

手动安装(备用路径,必须先预置互斥状态)

git clone --depth 1 https://github.com/Small-tailqwq/dsh-deep-whale # clone 到任意位置(浅克隆足够,跳过历史)
node /.agents/skills/dsh-skin-install/scripts/stage-mutual-exclusion.mjs --profile web --target maid-atelier
dsh plugin --profile web add /skin-manager # 常驻皮肤管理面板(推荐)
dsh plugin --profile web add /maid-atelier # 深海女仆工坊
dsh plugin --profile web add /orca-link # 虎鲸链路

第一条 node 命令必须在任何 plugin add 之前执行;它保留非皮肤 YAML,并把 maid-atelier 设为唯一启用项。要默认启用虎鲸则把 target 改成 orca-link,要保持原版则改成 official。不要整文件覆盖 patch。若跳过这一步,两套新安装皮肤会默认同时启用。

方式 A(推荐):设置 → 皮肤管理 → 点击要用的那一套「切换」。管理器自动把互斥 disabled 行写入两个 patch 层并热重载,刷新页面即可。

方式 B:手写两个 patch 层。把下面的行追加到 ~/.dsh/profiles/web/cordis.patch.yml 和 ~/.dsh/cordis.patch.yml(两者缺一不可,home 层覆盖 profile 层):

示例:只启用 maid-atelier;改为 orca-link 时把 false 移到它那行,两套皮肤只能有一套是 false
- id: ui-skin-maid-atelier
disabled: false
- id: ui-skin-orca-link
disabled: true
- id: ui-skin-deep-whale-manager
disabled: false

若 patch 文件还是 dsh 的默认模板(注释 + 一行 []),请用上面的列表整体替换 [] 那一行——“注释 + [] + 其他条目”是非法 YAML,配置解析会失败(服务器会保留上一个可用配置继续运行,修复后并刷新即可)。

Windows 示例(正斜杠与反斜杠均可,pnpm 会自动规范化):
dsh plugin --profile web add C:/Users//code/dsh-deep-whale/skin-manager
dsh plugin --profile web add C:/Users//code/dsh-deep-whale/maid-atelier

装多了 / 出现异常怎么办

症状:设置按钮消失、侧栏被装饰层覆盖或宽度异常、界面混乱(停用皮肤后恢复)。

1. 打开 设置 → 皮肤管理,点击「官方默认」或任一皮肤——管理器会自动写互斥行并热重载,刷新即可恢复;
2. 管理器不可用时(或配置已被写坏):运行上方 stage-mutual-exclusion.mjs,用 --target official 或目标皮肤恢复两个 patch 层;
3. 也可以直接摘掉不用的包:dsh plugin --profile web remove ,摘除后同样检查互斥行。

相对路径的规则(容易踩坑)

- 相对路径(./、../ 开头)按 dsh 命令的调用目录解析,不是皮肤仓库目录。
- 不要直接写裸目录名:dsh plugin --profile web add maid-atelier 会被当作 npm 包名去 registry 拉取而 404 失败。请用 ./maid-atelier(已在皮肤仓库目录内)、../dsh-deep-whale/maid-atelier(与 dsh-deep-whale 同级)或绝对路径。
- cd 后用 ../dsh-deep-whale/maid-atelier 的前提是 dsh-deep-whale 与你的 harness 目录同级;clone 到别处时相对路径会 link 到错误位置(命令不报错、但皮肤不生效)。不确定就用绝对路径。

安装后验证

dsh plugin --profile web list # 应看到 @dsh-external/dsh-client-ui-skin- 的 link: 依赖
dsh --profile web --dump-config # 皮肤行在组合配置中,disabled 状态正确
刷新浏览器页面即可看到皮肤;皮肤开关走配置热重载,无需重启 dsh(新增/删除插件包才需要重启)。

常见安装失败排查

| 现象 | 原因 | 处理 |
| ERR_PNPM_FETCH_404 ... | 传了裸目录名(如 add maid-atelier),被当成 npm 包名 | 改为绝对路径或 .//../ 前缀路径 |
| 命令成功但 dsh plugin list 没有该包 | 相对路径解析到了错误位置(clone 位置与假设不符) | 用绝对路径重新 add |
| pnpm not found on PATH | 环境缺少 pnpm | 安装 pnpm(npm i -g pnpm)后重试 |
| 包在列表里但页面无效果 | 皮肤被 disabled(多皮肤互斥开关)或浏览器未刷新 | --dump-config 核对 disabled;刷新页面 |

贡献者

感谢以下开发者对 dsh-deep-whale 的贡献:

有价值但未合入的 PR

以下 PR 因与现有上游实现冲突未能合入,但其功能需求已在仓库中落地,特此致谢:
- @yaoyiqun — 按所选模型切换角色位置(#15)
- @Chartreuse310 — 对话区衬线字体(#22)
- @Vergemesh — 原版/鲸鱼娘皮肤即时切换(#27)
- @joejojoking-cloud — top-trim 装饰层级(#26)、字符舞台层级(#31)修复

许可

本仓库各皮肤为衍生创作,整体以 CC BY-NC-SA 4.0(署名-非商业性使用-相同方式共享)发布,禁止商业性使用。署名链见各皮肤 NOTICE。

皮肤工程脚手架来自 zhu1090093659/dsh-web-ui,本仓库仅分发皮肤成品,不包含脚手架。
预览分享卡片长什么样 ↓shixun926-dotcom/dsh-deep-whale-desktop
分享 · DeepSeek Harness Hub
shixun926-dotcom/dsh-deep-whale-desktop

DSH 桌面端Electron鲸鱼娘皮肤二创整理版:深海女仆工坊 + 虎鲸链路 + 皮肤管理器|非原创,仅供非商业使用

这是你的仓库?认领条目

回到顶部