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

鲸鱼娘桌宠 vlln/whale-girl

DeepSeek 客户端v0.1.0
vlln3 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

DSH Web GUI 桌面宠物插件(QQ 宠物形态):右下角悬浮、可拖拽/投喂/玩耍的积累型伙伴。

66.4/100
综合分
400
GitHub 星标
2,094
npm 周下载
—/5
用户评分

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/vlln/whale-girl.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

✓npm 包whale-girl @ 0.1.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 15:33:49

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 24 处,展示前 24 条)
  • 读取本地文件
    lib/index.mjs:57
    return normalizeState(JSON.parse(readFileSync(STATE_FILE, 'utf8')))
  • 写入本地文件
    lib/index.mjs:66
    mkdirSync(dirname(STATE_FILE), { recursive: true })
  • 写入本地文件
    lib/index.mjs:68
    writeFileSync(tmp, serializeState(next))
  • 写入本地文件
    lib/index.mjs:69
    renameSync(tmp, STATE_FILE)
  • 读取本地文件
    lib/index.mjs:78
    return normalizeSessionMemory(JSON.parse(readFileSync(MEMORY_FILE, 'utf8')))
  • 写入本地文件
    lib/index.mjs:87
    mkdirSync(dirname(MEMORY_FILE), { recursive: true })
  • 写入本地文件
    lib/index.mjs:89
    writeFileSync(tmp, serializeSessionMemory(next))
  • 写入本地文件
    lib/index.mjs:90
    renameSync(tmp, MEMORY_FILE)
  • 读取本地文件
    lib/index.mjs:119
    const manifest = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'))
  • 发起网络请求
    lib/index.mjs:138
    const response = await fetch(url, {
  • 读取本地文件
    lib/index.mjs:766
    const data = readFileSync(join(import.meta.dirname, 'assets', rel))
  • 发起网络请求
    lib/client.js:570
    const response = await fetch(UPDATE_PATH, { headers: { accept: "application/json" } });
  • 发起网络请求
    lib/client.js:584
    const response = await fetch(UPDATE_PATH, { method: "POST", headers: { accept: "application/json" } });
  • 发起网络请求
    lib/client.js:1235
    const res = await fetch(MANIFEST_URL, { cache: "no-store" });
  • 发起网络请求
    lib/client.js:1465
    const res = await fetch(INTERACT_PATH, {
  • 发起网络请求
    lib/client.js:1486
    const res = await fetch(CONFIG_PATH);
  • 发起网络请求
    lib/client.js:1523
    const res = await fetch(STATE_PATH);
  • 读取本地文件
    lib/src/update-host.mjs:87
    return readFileSync(join(profileDir, 'pnpm-lock.yaml'), 'utf8')
  • 发起网络请求
    lib/client/index.mjs:658
    const res = await fetch(MANIFEST_URL, { cache: 'no-store' })
  • 发起网络请求
    lib/client/index.mjs:945
    const res = await fetch(INTERACT_PATH, {
  • 发起网络请求
    lib/client/index.mjs:978
    const res = await fetch(CONFIG_PATH)
  • 发起网络请求
    lib/client/index.mjs:1021
    const res = await fetch(STATE_PATH)
  • 发起网络请求
    lib/client/settings-card.mjs:231
    const response = await fetch(UPDATE_PATH, { headers: { accept: 'application/json' } })
  • 发起网络请求
    lib/client/settings-card.mjs:245
    const response = await fetch(UPDATE_PATH, { method: 'POST', headers: { accept: 'application/json' } })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

6 张 · 点击查看大图

功能亮点

  • 右下角悬浮桌宠
  • 可拖拽投喂玩耍
  • 积累型伙伴

README

由 DeepSeek 最新模型翻译生成
whale-girl DSH Web GUI 内的桌面宠物(QQ 宠物形态)右下角悬浮的积累型伙伴:可拖拽、可投喂/玩耍,陪伴你的工作台脉搏——完成任务/会话/活跃陪伴时长积累成资历等级、称号与回忆。 安装 官方 bundle 插件 格式(仓库根 package.json 的 dsh.bundle + dsh.client)。经官方 profile 管理: dsh plugin --profile web add whale-girl # npm 源(构建产物随包发布) 想跟最新提交而不是发布版:dsh plugin --profile web add "github:vlln/whale-girl#main" 或本地目录:dsh plugin --profile web add <whale-girl 本地路径> 装完 重启 web(bundle 层在启动时合成),右下角出现宠物:点击弹出菜单(🍗 喂食 / 🎾 玩耍),拖拽可移动;hover 显示状态条(资历等级/任务数/最近共同回忆)。初始配置/欢迎页(onboarding)宠物隐藏。 更新插件时 dsh plugin --profile web update whale-girl(或换 git 源 ref),重启生效。
展开完整文档(README 剩余 1 节)
whale-girl

DSH Web GUI 内的桌面宠物(QQ 宠物形态)右下角悬浮的积累型伙伴:可拖拽、可投喂/玩耍,陪伴你的工作台脉搏——完成任务/会话/活跃陪伴时长积累成资历等级、称号与回忆。

安装

官方 bundle 插件 格式(仓库根 package.json 的 dsh.bundle + dsh.client)。经官方 profile 管理:

dsh plugin --profile web add whale-girl # npm 源(构建产物随包发布)
想跟最新提交而不是发布版:dsh plugin --profile web add "github:vlln/whale-girl#main" 或本地目录:dsh plugin --profile web add <whale-girl 本地路径>

装完 重启 web(bundle 层在启动时合成),右下角出现宠物:点击弹出菜单(🍗 喂食 / 🎾 玩耍),拖拽可移动;hover 显示状态条(资历等级/任务数/最近共同回忆)。初始配置/欢迎页(onboarding)宠物隐藏。

更新插件时 dsh plugin --profile web update whale-girl(或换 git 源 ref),重启生效。

使用

| 你做什么 / 发生什么 | 宠物表现 |
| 拖拽宠物 | 被斜向拉扯(drag) |
| 点击菜单 🍗 喂食 / 🎾 玩耍 | 啃咬/抛接球(eat/play)→ 开心(joy) |
| 空闲 ≥60s | 打盹(sleep);互动时醒过来(wake) |
| 任务完成 / 升级 / 称号 / 回合完成 | 举手欢呼(celebrate) |
| 任务失败 / 请求出错 | 惊吓(error)→ 失落(disappointed) |
| 新会话开始 | 挥手欢迎(welcome) |
| 任一会话运行/思考中 | 沉思陪伴(think,偶尔 working 工作姿态) |
| 等待批准 | 期待等待(wait) |
| 周期游走 | 散步(walk) |
| 常态 | 待机(idle,随机眨眼/转身) |

完整状态机(优先级/转换语义/触发源)见 docs/state-machine.md。

桌面伴侣(可选)

desktop/ 是独立桌面伴侣应用(Node 引擎 + Tauri 渲染壳,零运行时依赖),把鲸鱼娘渲染到操作系统桌面常驻。不随 dsh plugin 安装——想要桌宠的用户自行启用:

前置:Node ≥18;桌面渲染壳需 Rust 工具链(cargo)
npm install -g whale-girl-desktop # npm 源安装(引擎 + Tauri 渲染壳源码随包分发)
whale-girl-desktop --headless # 无窗模式可用:presence 心跳 + 状态轮询 + SSE
cd "$(npm root -g)/whale-girl-desktop/src-tauri" && cargo build --release # 首次编译约 5-15 分钟;产物 target/release/whale-girl-desktop(约 12MB)
./target/release/whale-girl-desktop # 启动透明置顶桌宠(默认连本机 DSH 3080)
WHALE_GIRL_BASE_URL=http://IP:PORT 指向非本机 DSH
或从源码:cd desktop && npm install && cd src-tauri && cargo build --release

- 消费 whale-girl 既有公开端点(/state、/events、/presence、/interact、/config、/assets),不改动插件本体;运行期间网页端宠物自动隐藏(presence 契约),退出或崩溃(TTL 45s 过期)后恢复。
- 渲染壳:Tauri v2(推荐,体积 ~12MB);Electron 遗留壳保留(npm i -D electron 后可用)。
- 设计与契约见 desktop/DESIGN.md、desktop/BUILD-RUN.md。

状态预览

| 状态 | 触发 | 预览 |
| idle | 常态待机 | idle |
| working | 会话思考期随机工作插曲 | working |
| celebrate | 任务完成/升级/称号/回合完成 | celebrate |
| error | 任务失败/请求出错 | error |
| disappointed | 失败后短时失落 | disappointed |
| joy | 投喂/玩耍后开心 | joy |
| eat | 点击投喂 | eat |
| play | 点击玩耍 | play |
| drag | 拖拽中 | drag |
| walk | 周期游走 | walk |
| sleep | 空闲 ≥60s | sleep |
| wake | 睡醒过渡 | wake |
| welcome | 新会话 | welcome |
| think | 会话思考陪伴 | think |
| wait | 等待批准 | wait |

配置

插件 → 已安装 → whale-girl 包页(配置卡片):高频子集——网页端显示、会话记忆、尺寸、透明度、游走、睡眠等待,以及投喂/玩耍回话文案池(每行一条)。会话记忆默认关闭:开启后宠物把任务完成等里程碑写进本机 data/whale-girl/sessions.json(几字节/条),会话恢复或分支(fork)时沿会话血缘读回、重逢时说一句上次完成了什么——只写本机文件,不进模型上下文、不上传网络;关闭即停止读写(文件保留,可自行删除)。改动即时生效、免重启(开关点击即写;数字与文案池失焦或回车即写)。
卡片首行是更新行:挂载时自动查一次上游(git 安装按提交、registry 安装按版本),状态行给出结论与当前短提交,有新版时按钮变成「更新到 <版本/提交>…」;更新经 DSH 的 profile 包管理服务重装,不碰你的设置。完整契约(端点、载荷、两步重装、失败原因、宿主版本要求)见 docs/update-row.md。

全量与高级项(如各窗口时长)在 profile patch 的条目 config:(<dshHome>/profiles/<profile>/cordis.patch.yml);<dshHome>/settings.yaml 的 whale-girl: section 会被一次性导入该条目:

whale-girl:
enabled: true # 网页端渲染开关(与桌面伴侣并存时设 false 关闭网页端宠物,避免双宠物) sessionMemory: false # 会话记忆(本机 sessions.json 记录 + 血缘回读;默认关,见配置卡片说明) size: 110 # 宠物尺寸 px(64–160) opacity: 1 # 常态透明度(0.2–1) walk: enabled: true # 游走开关 sleepAfterMs: 60000

完整配置项清单与语义层(XP/称号)封闭说明见 lib/src/config.mjs。语义层不可配(改 XP/称号阈值会破坏积累账本一致性)。

角色

菜单「🎭 换角色」循环切换角色(或设置 localStorage whale-girl:character);manifest 仅 1 个角色时按钮置灰(悬停提示「暂无其他角色」)。每个角色提供全部 15 状态素材(素材全量契约,见 docs/sprites-spec.md);贡献新角色指南见 docs/adding-a-character.md。

作为参考实现

whale-girl 是官方 bundle 插件格式的完整范本(dsh.bundle + cordis.patch.yml + lib/ 布局,随官方机制演进)——开发新插件可对照:

- 结构:lib/(入口/纯逻辑/client/素材)与 docs/decisions/scripts 分离,见根 AGENTS.md
- 规范:门禁(scripts/gates/run.mjs)+ 决策记录 + 素材全量契约;开发引导见 plugin-registry 的 make-dsh-plugin skill 与 cookbook,踩过的坑见 gotchas

贡献

欢迎提交 issue 和建议——你的反馈直接决定宠物的下一步:

- 🐛 遇到问题:提交 issue,附复现步骤、浏览器与 dsh 版本;客户端问题附控制台报错更佳
- 💡 功能建议:参考 docs/state-machine.md 与 docs/growth-system.md 了解现状,说明期待效果
- 🎨 新角色:见 docs/adding-a-character.md §贡献角色速览——只读契约,产出 15 张 sheet + manifest 条目,本地 verify-assets 验收
- 🔧 代码贡献:每个非平凡改动带决策记录(decisions/)、门禁自证、单一性质提交(见 docs/AGENTS.md 与根 AGENTS.md)

致谢

角色形象由 ZipZipPipe 创作(《鲸鱼娘》表情包角色),sprites 基于其角色设定生成。

License

MIT License
预览分享卡片长什么样 ↓vlln/whale-girl
分享 · DeepSeek Harness Hub
vlln/whale-girl

DSH Web GUI 桌面宠物插件(QQ 宠物形态):右下角悬浮、可拖拽/投喂/玩耍的积累型伙伴。

回到顶部