DeepSHPlugins
whale-girl 项目预览
GITHUB / COMMUNITY PROJECT

whale-girl

赛博宠物JavaScriptMIT

QQ 宠物形态的鲸鱼娘:可拖拽、投喂、玩耍,完成任务攒资历、升称号、存回忆;任务失败还会失落

322 Starsvlln 更新时间 2026-08-31
访问 GitHub 仓库
whale-girl 项目预览
whale-girl 界面截图whale-girl 界面截图whale-girl 界面截图whale-girl 界面截图whale-girl 界面截图

项目介绍

15 种状态全套:眨眼、散步、打盹、欢呼、受惊——她真的在陪你上班
中文

QQ 宠物形态的鲸鱼娘:可拖拽、投喂、玩耍,完成任务攒资历、升称号、存回忆;任务失败还会失落

English

A whale girl in full QQ-Pet form: draggable, feedable, playable with. Finished tasks rack up seniority, titles and memories — and she sulks when one fails

项目信息与收录信号

快照 2026-09-11
作者 / 组织
vlln
仓库
vlln/whale-girl
GitHub Stars
322
Forks
15
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-31
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

93/ 100
维护活跃
93
文档与实用信息
100
生态关注度
76
安装便捷信号
100
项目声明信号
100

近 11 天仍在更新;README 含完整安装与使用说明;标准命令一键安装。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin add github:vlln/whale-girl

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

中文 | English

whale-girl

A desktop pet in the DSH Web GUI (QQ-pet style)
A persistent companion floating bottom-right: draggable, feedable, playable — completed tasks, sessions, and companionship time accrue into seniority levels, titles, and memories.

license

official bundle

dshfind

dsh.so security


Installation

Official bundle plugin (dsh.bundle + dsh.client in root package.json), managed via the official profile:

dsh plugin --profile web add "github:vlln/whale-girl#main"   # single-line git source (build artifacts committed)
# or npm source: dsh plugin --profile web add [email protected]
# or local directory: dsh plugin --profile web add <path-to-whale-girl>

Restart web after installing (bundle layers compose at startup); the pet appears bottom-right: click for its menu (🍗 feed / 🎾 play), drag to move, hover for the status bar (seniority level / task count / recent shared memories). Hidden on onboarding pages.

Update via dsh plugin --profile web update whale-girl (or switch the git ref), then restart.

Usage

You / eventPet behavior
Drag the petStretched diagonally (drag)
Menu 🍗 feed / 🎾 playChomping / ball toss (eat/play) → joy (joy)
Idle ≥60sNaps (sleep); wakes on interaction (wake)
Task done / level-up / title / round doneCheers (celebrate)
Task failed / request errorStartled (error) → disappointed (disappointed)
New sessionWaves welcome (welcome)
Session running / thinkingPensive company (think, occasional working)
Awaiting approvalExpectant waiting (wait)
Periodic wanderingWalking (walk)
DefaultIdle standby (idle, random blinks / turns)

Full state machine (priorities / transitions / triggers): docs/state-machine.md.

Desktop Companion (Optional)

desktop/ is a standalone companion app (Node engine + Tauri shell, zero runtime deps) that keeps the whale girl resident on your OS desktop. Not installed via dsh plugin — enable it yourself:

# Prereqs: Node ≥18; the rendering shell needs Rust (cargo)
npm install -g whale-girl-desktop   # npm install (engine + Tauri shell source included)
whale-girl-desktop --headless       # headless: presence heartbeat + state polling + SSE
cd "$(npm root -g)/whale-girl-desktop/src-tauri" && cargo build --release  # first build ~5-15 min; artifact target/release/whale-girl-desktop (~12MB)
./target/release/whale-girl-desktop   # transparent always-on-top desktop pet (defaults to local DSH on 3080)
# WHALE_GIRL_BASE_URL=http://IP:PORT points at a non-local DSH
# or from source: cd desktop && npm install && cd src-tauri && cargo build --release
  • Uses whale-girl's public endpoints (/state, /events, /presence, /interact, /config, /assets) without touching the plugin; the in-page pet hides while it runs (presence contract) and returns after exit/crash (TTL 45s).
  • Shell: Tauri v2 (recommended, ~12MB); legacy Electron shell kept (npm i -D electron).
  • Design & contracts: desktop/DESIGN.md, desktop/BUILD-RUN.md.

State Preview

StateTriggerPreview
idleDefault standbyidle
workingRandom work spell while session thinksworking
celebrateTask done / level-up / title / round donecelebrate
errorTask failed / request errorerror
disappointedBrief dejection after failuredisappointed
joyHappy after feeding / playingjoy
eatClick to feedeat
playClick to playplay
dragWhile draggingdrag
walkPeriodic wanderingwalk
sleepIdle ≥60ssleep
wakeWake-up transitionwake
welcomeNew sessionwelcome
thinkCompany while session thinksthink
waitAwaiting approvalwait

Configuration

Settings → Plugins → Whale Girl (in-page card): the high-frequency subset — show on page, size, opacity, wandering, sleep delay, and the feed/play reply pools (one per line). Changes save and apply live, no restart.

The full option list stays in the whale-girl: section of <dshHome>/settings.yaml (advanced/additional knobs like window durations):

whale-girl:
  enabled: true      # web render toggle (false disables the in-page pet while a desktop companion runs)
  size: 110          # pet size px (64–160)
  opacity: 1         # default opacity (0.2–1)
  walk:
    enabled: true    # wandering toggle
  sleepAfterMs: 60000

Full option list and why the semantic layer (XP / titles) is sealed: lib/src/config.mjs. Not configurable (changing XP / title thresholds would break the accumulation ledger).

Characters

🎭 "Switch Character" cycles characters (or set whale-girl:character in localStorage); the button is greyed out when the manifest has a single character ("No other characters available"). Every character ships all 15 states (full contract: docs/sprites-spec.md); new characters: docs/adding-a-character.md.

Reference Implementation

whale-girl is a complete bundle plugin format exemplar (dsh.bundle + cordis.patch.yml + lib/, evolving with the official mechanism) — model new plugins on it:

  • Structure: lib/ (entry / logic / client / assets) separate from docs, decisions, scripts — root AGENTS.md
  • Conventions: gates (scripts/gates/run.mjs) + decision records + full asset contracts; guidance: plugin-registry's make-dsh-plugin skill, cookbook, gotchas

Contributing

Issues and suggestions welcome — your feedback shapes the pet's next steps:

  • 🐛 Bug: file an issue with repro steps, browser & dsh versions; console errors for client issues
  • 💡 Feature ideas: see docs/state-machine.md and docs/growth-system.md, describe the expected effect
  • 🎨 New characters: docs/adding-a-character.md §quick guide — read-only contract, 15 sheets + manifest entries, validated by verify-assets
  • 🔧 Code: every non-trivial change needs a decision record (decisions/), gate self-checks, single-purpose commits (docs/AGENTS.md, root AGENTS.md)

Acknowledgements

Character by ZipZipPipe (the "Whale Girl" sticker character); sprites generated from their design.

License

MIT License

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目