{"_id":"@agentbuff/dsh-whale-galaxy","_rev":"3-bff56b4f859c0f518e877bbd16ba2d9f","name":"@agentbuff/dsh-whale-galaxy","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@agentbuff/dsh-whale-galaxy","version":"0.1.0","keywords":["deepseek","dsh","plugin","background","whale","galaxy","particles","canvas"],"license":"MIT","_id":"@agentbuff/dsh-whale-galaxy@0.1.0","maintainers":[{"name":"agentbuff","email":"coderbuffer@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web","immediately":true}},"dist":{"shasum":"e4a65c88c15f54392cf1ea058b3f658a01d171f8","tarball":"https://registry.npmjs.org/@agentbuff/dsh-whale-galaxy/-/dsh-whale-galaxy-0.1.0.tgz","fileCount":12,"integrity":"sha512-mZCPOpZfLa4/0/OyvuVRftrWkH9RhJRhuf2cQOd282zMrHP4N8t6RbMM5qvR9bScQaQDr+uHBQOmsX6pxzZtIQ==","signatures":[{"sig":"MEUCIGImbgmYtTU5PhsxtR9lmizseX5mr6XK4BWIP3sm5mn6AiEA80immDPzB6D3Oej9q8cBb5i1HHWI10bum/4h3EnLT+4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254345},"main":"lib/index.js","type":"module","engines":{"node":">=20"},"exports":{".":{"default":"./lib/index.js"},"./client":{"default":"./lib/client.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"93f970b024f7ed3b556a7b6c8705cf88b25b38bb","scripts":{"build":"node build.mjs","watch":"node build.mjs --watch","preview":"node scripts/shot.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"agentbuff","email":"coderbuffer@gmail.com"},"_npmVersion":"10.9.2","description":"DSH web background plugin 「鲸落星河」: a DeepSeek whale swimming through a particle galaxy — canvas starfield, drifting nebula, stardust whale wake, dark/light adaptive.","directories":{},"_nodeVersion":"23.10.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.12","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/dsh-whale-galaxy_0.1.0_1787299771188_0.900638357106563","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@agentbuff/dsh-whale-galaxy","version":"0.1.1","keywords":["deepseek","dsh","plugin","background","whale","galaxy","particles","canvas"],"license":"MIT","_id":"@agentbuff/dsh-whale-galaxy@0.1.1","maintainers":[{"name":"agentbuff","email":"coderbuffer@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web","immediately":true}},"dist":{"shasum":"3c3de1e699828a1cf3f4b72e22f5ea5bd0b8a929","tarball":"https://registry.npmjs.org/@agentbuff/dsh-whale-galaxy/-/dsh-whale-galaxy-0.1.1.tgz","fileCount":12,"integrity":"sha512-GV3lS9OQhqvEpgsSUPFvHBKsvYH2GyS0F6HuoINlFlajhBGgEaONFYmNghnXrkOf2K820QmMe8VFxcWQnyTscg==","signatures":[{"sig":"MEQCIAFNjgglE1dMtVNdVGXQ0oyZEJ0CXZ0FvRbYYnHnmhzoAiBrkhJcMpDL89Rz044s9sfYm1MmKm5hZdRarNH2ZJ+DFw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254911},"main":"lib/index.js","type":"module","engines":{"node":">=20"},"exports":{".":{"default":"./lib/index.js"},"./client":{"default":"./lib/client.js"},"./package.json":"./package.json","./cordis.patch.yml":"./cordis.patch.yml"},"gitHead":"8e2bcf380efb4c0684c61a6f034b6393528b723b","scripts":{"build":"node build.mjs","watch":"node build.mjs --watch","preview":"node scripts/shot.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"agentbuff","email":"coderbuffer@gmail.com"},"_npmVersion":"10.9.2","description":"DSH web background plugin 「鲸落星河」: a DeepSeek whale swimming through a particle galaxy — canvas starfield, drifting nebula, stardust whale wake, dark/light adaptive.","directories":{},"_nodeVersion":"23.10.0","_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.25.12","typescript":"^5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/dsh-whale-galaxy_0.1.1_1787304883502_0.6639645867068851","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@agentbuff/dsh-whale-galaxy","version":"0.1.2","description":"DSH web background plugin 「鲸落星河」: a DeepSeek whale swimming through a particle galaxy — canvas starfield, drifting nebula, stardust whale wake, dark/light adaptive.","keywords":["deepseek","dsh","plugin","background","whale","galaxy","particles","canvas"],"type":"module","main":"lib/index.js","exports":{".":{"default":"./lib/index.js"},"./client":{"default":"./lib/client.js"},"./cordis.patch.yml":"./cordis.patch.yml","./package.json":"./package.json"},"scripts":{"build":"node build.mjs","watch":"node build.mjs --watch","preview":"node scripts/shot.mjs","typecheck":"tsc --noEmit"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":[],"platform":"web","immediately":true}},"engines":{"node":">=20"},"license":"MIT","devDependencies":{"esbuild":"^0.25.12","typescript":"^5.9.3"},"_id":"@agentbuff/dsh-whale-galaxy@0.1.2","gitHead":"cfd7695edd49cff62d80eb92eefb387c8cf761ff","_nodeVersion":"23.10.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-ATJHSbelqSslf2LsqUnXeq2QautymMxOMDdllh31TiX0vjXj3wV3UWB+GQTe14vQ6ts6QiIE1dlpch/6ic5v1g==","shasum":"fad1210a25cad59ee78c45b07b227223c26d8491","tarball":"https://registry.npmjs.org/@agentbuff/dsh-whale-galaxy/-/dsh-whale-galaxy-0.1.2.tgz","fileCount":12,"unpackedSize":254554,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDc3HOuWX6mxe8d4XlQLleU/yAlmL1aHm8J6KBedbJxBgIgXLbmvch17/L4P5qCkoj57Gz1s34THPAUWKpdWJMXkTU="}]},"_npmUser":{"name":"agentbuff","email":"coderbuffer@gmail.com"},"directories":{},"maintainers":[{"name":"agentbuff","email":"coderbuffer@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-whale-galaxy_0.1.2_1787305477731_0.05153593024552183"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T08:09:30.896Z","modified":"2026-08-21T09:44:38.043Z","0.1.0":"2026-08-21T08:09:31.328Z","0.1.1":"2026-08-21T09:34:43.648Z","0.1.2":"2026-08-21T09:44:37.867Z"},"license":"MIT","keywords":["deepseek","dsh","plugin","background","whale","galaxy","particles","canvas"],"description":"DSH web background plugin 「鲸落星河」: a DeepSeek whale swimming through a particle galaxy — canvas starfield, drifting nebula, stardust whale wake, dark/light adaptive.","maintainers":[{"name":"agentbuff","email":"coderbuffer@gmail.com"}],"readme":"# 🐋 @agentbuff/dsh-whale-galaxy 「鲸落星河」\n\n一个为 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 打造的 Web 视觉插件：全屏 Canvas 粒子星河、一条会游动和响应鼠标的粒子鲸鱼，以及在 AI 对话期间从星河跃迁而来的小鲸鱼伙伴。\n\n> **一鲸落，万物生。** 鲸鱼游过之处，尾迹化作新的星辰 —— 这条星河，由鲸落而生。\n\n## 效果\n<img width=\"2304\" height=\"1202\" alt=\"image\" src=\"https://github.com/user-attachments/assets/5bc377e3-791c-4886-992e-8430f1217860\" />\n<img width=\"2298\" height=\"1197\" alt=\"image\" src=\"https://github.com/user-attachments/assets/096e148a-fba9-4b39-a810-4d56b9250129\" />\n\n<img width=\"2294\" height=\"1199\" alt=\"image\" src=\"https://github.com/user-attachments/assets/903dce2c-f677-439d-a664-523d9d126caa\" />\n\n- 🌌 **深空星河背景**：深蓝 → 靛 → 紫 的渐变天幕，缓慢漂移的星云光晕（DeepSeek 品牌蓝 + 青色 + 紫色），暗角聚焦；星河透过**所有**界面表面（侧边栏、面板、消息气泡、输入框）隐隐浮现。\n- ✨ **颗粒星海**：数千颗 1px 星尘铺满天幕（newmixcoffee 同款栅格采样），底层流体网格带着它们缓慢卷动。\n- 🖱️ **鼠标搅拌**（参考 newmixcoffee.com）：光标划过时沿路径注入速度场，星尘像粉末被搅开；停下后弹簧回到原位，停驻时仍有一圈柔和空腔。\n- ☄️ **流星**：偶尔划过，顺带扰动附近星尘。\n- 🐋 **粒子鲸鱼**：DeepSeek logo 被栅格化成上万颗明暗不均的颗粒，以星尘构成形体横穿星河；游到边缘淡出，从另一侧淡入。\n- 💫 **星尘尾迹**：鲸尾持续洒落颗粒，汇入身后的星河。\n- 💬 **对话鲸鱼伙伴**：当 Harness 进入 `Deep diving...`，星河中的同一条鲸鱼沿弧线游向流式输出行，收束为与 DeepSeek Logo 同方向的小鲸鱼；并不会同时出现两条鲸鱼。\n- 🧠 **自动状态反馈**：等待模型时环绕星点思考；流式输出时尾鳍持续摆动、扫描环流转；完成时绽放星点；空闲后恢复安静游弋。无需额外设置。\n- 🌗 **明暗自适应**：跟随 DSH 主题（`body[data-ds-dark-theme]`）；深色主题下星河绚烂，浅色主题下保持素雅，文字始终可读。\n- 🖱️ 与 **可访问性**：右下角浮动小鲸鱼按钮可随时开关（localStorage 记忆）；尊重 `prefers-reduced-motion`；隐藏标签页自动暂停渲染；DPR 上限 2、粒子数按面积自适应。\n\n## 安装\n\n```bash\n# 在 dsh 的 web profile 中安装本插件\ndsh plugin --profile web add @agentbuff/dsh-whale-galaxy\n```\n\n或从本地路径安装（开发时）：\n\n```bash\ndsh plugin --profile web add file:/path/to/dsh-whale-galaxy\n```\n\n安装后**重启 web 应用**使新插件行进入启动图（plugin-set 变更需要重启）：\n\n```bash\ndsh web\n# 或 dsh --profile web\n```\n\n打开界面后即可看到鲸落星河的背景；右下角小鲸鱼按钮可关闭/开启。\n\n## 对话交互\n\n1. 空闲时，鲸鱼在星河里缓慢游动，鼠标只会在触及鲸鱼粒子时将它们沿移动方向夸张地带开，并缓慢归位。\n2. 当 AI 进入对话处理阶段，**这同一条鲸鱼**会仰头画弧游向当前流式输出行的右端，并在途中缩小。\n3. 落位后，小鲸鱼保持 DeepSeek Logo 的原始朝向；在思考或流式输出期间持续轻摆尾鳍，结束后回到安静状态。\n\n## 开发\n\n```bash\nnpm install          # 安装 esbuild / typescript（仅开发依赖）\nnpm run build        # 产出 lib/index.js（Node 半部）与 lib/client.js（浏览器 bundle）\nnpm run watch        # 监听重建 —— 安装后重建 client.js 会经 HMR 自动热更新\nnpm run preview      # 截图独立预览页（scripts/shot.mjs）\nnode scripts/analyze.mjs   # 像素级自检（星海/鲸鱼/动画）\n```\n\n本地迭代：`dsh plugin --profile web add \"link:...\"` 装好一次并重启后，`npm run watch` 每次重建都会触发 client-modules 的 HMR 轮询（500ms），页面自动重载 bundle，无需再重启服务。\n\n> 提示：`link:` 安装（符号链接）适合开发；发布到 registry 后用户用 `dsh plugin --profile web add @agentbuff/dsh-whale-galaxy` 安装正式版本即可。\n\n## 工作原理\n\n与 DSH 的插件契约完全一致（参考 `dsh-better-sidebar`）：\n\n| 声明 | 位置 | 作用 |\n| --- | --- | --- |\n| `dsh.bundle.patch` | `cordis.patch.yml` | 向 profile 的 cordis 配置插入一行插件（行 `name` = 包名），使 client-modules 扫描能解析到本包 |\n| `dsh.client.platform: \"web\"` | `package.json` | 声明这是一个 web client 包，进入 `window.__DSH_BOOT__` 启动图 |\n| `exports[\"./client\"]` | `package.json` | 指向构建产物 `lib/client.js`，由 DSH 的插件静态资源端点提供 |\n| `apply(ctx)` / `inject` | `lib/client.js` | client 插件入口：挂载 canvas、注入样式、注册开关 |\n\n背景层级：canvas 固定在 `z-index: -1`，并覆盖 `--dsw-alias-bg-base` 为半透明，让星河从应用面板背后透出 —— 不改任何组件代码，只动主题 token，因此与 DSH 的升级天然兼容。\n\n## 许可\n\nMIT\n","readmeFilename":"README.md"}