dsh-pixel-whale
其他 活跃维护

dsh-pixel-whale

yoke233/dsh-pixel-whale

像素风动态状态展示工具,以可爱的像素鲸鱼形象实时呈现对应Web工具的运行状态,交互轻快无额外系统负担,部署流程简单,开箱即用即可直观获取运行反馈。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
49 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:yoke233/dsh-pixel-whale
git clone https://github.com/yoke233/dsh-pixel-whale.git
git clone git@github.com:yoke233/dsh-pixel-whale.git
README.md main

dsh-pixel-whale — a living pixel companion for DeepSeek Harness Web

MIT License DSH Web plugin Node.js 22.19 or newer

dsh-pixel-whale adds a compact, animated point-cloud whale immediately before the Deep diving... status in DeepSeek Harness Web. It appears with a running turn, follows the status across UI remounts, and leaves when the turn ends.

See it in DSH Web

The pixel whale rendered by the production plugin beside the Deep diving status

This screenshot is rendered from the production browser bundle. In motion, the whale's large head stays weighty while the body bends, the tail and fin rebound, and small bubble scenes rotate between loops. Its pixels use a restrained blue palette with stable colors—movement comes from the body, not flashing points.

Install

dsh plugin --profile web add github:yoke233/dsh-pixel-whale

Restart DSH Web after the first installation. The whale appears automatically while a turn is running; there are no commands or settings to configure.

The installer may report peer-dependency warnings for DSH and React packages. Those packages are supplied by the DSH Web host; a completed install ending with Done is expected.

How it works

  1. The plugin mounts through DSH's session-scoped conversation.input.dock lifecycle.
  2. useSession provides the authoritative running state.
  3. A scoped MutationObserver follows the current conversation's status row.
  4. A React portal places the whale before Deep diving... and cleans it up when the turn stops or the plugin unloads.

DSH does not currently expose a public Slot inside its private turn-status component, so the small DOM adapter is intentionally isolated to one selector and one current-conversation observer. It does not replace the status text or write session data.

Design details

  • Compact: renders at 36 × 26px and stays on the status line.
  • State-aware: visible only while the current session is running.
  • Calm motion: stable pixel colors, restrained breathing, larger body and tail movement.
  • Accessible: respects prefers-reduced-motion.
  • Web-only: no prompt, tool, model-request, or host behavior changes.

Development

pnpm install
pnpm check

pnpm check runs TypeScript validation, motion and DOM-lifecycle tests, then builds the host and browser entries. Release packages are built entirely from published npm dependencies and include only the generated lib output, bundle patch, README, and license.

Compatibility

  • DeepSeek Harness packages: ^0.1.0-rc.6
  • Node.js: ^22.19.0 || >=24
  • Surface: DSH Web

The status-row selector follows the current DSH Web markup. If DSH later exposes a dedicated turn-status Slot, the adapter can move to that Slot without changing the animation engine.

License

MIT