DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
W

dsh-whale-buddy

Whale Buddy

适用于 DeepSeek Harness Web 的一条静静游动的 DeepSeek 鲸鱼:内嵌式思考鲸鱼和右侧边缘的 Whale Dock。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:RangeKing/dsh-whale-buddy#8ff8ebf56c727763e926aa9969e829a245cc84b6
README兼容性版本

兼容性与来源证明

Whale Buddy 以 dsh-whale-buddy 发布,当前版本为 0.2.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/26

版本

0.2.2stable
2026/9/26
0.1.0stable
2026/9/16

相关插件

正在加载相关插件…

最新版
0.2.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
BSD-3-Clause
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/26
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Whale Widgetdsh-whale-widgetDSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义

README

🐋 dsh-whale-buddy

A physics-driven, state-aware companion that brings the DeepSeek whale to life in DeepSeek Harness Web.


[!NOTE] Independent Community Project: dsh-whale-buddy is an independent open-source plugin. It is not an official DeepSeek product and is not affiliated with, sponsored by, or endorsed by DeepSeek. The whale mark belongs to DeepSeek; see THIRD_PARTY_NOTICES.md.


🌟 Overview

dsh-whale-buddy enriches DeepSeek Harness Web (DSH) with a lively, responsive companion that visually mirrors the AI's real-time reasoning, tool calls, and execution states.

Built on a deterministic spring physics engine, the whale breaches through simulated water when a turn begins, swims calmly alongside the active status label, and wears dynamic contextual props representing current tasks—all while preserving the exact vector geometry of the official DeepSeek mark.

dsh-whale-buddy in action


✨ Key Features

  • 🌊 Procedural Breach & Water Simulation
    Breaches out of simulated water at the start of every turn, creating lively ripples, splash dynamics, and an engaging sense of presence.

  • 🐋 Living Breathing Companion
    Not just a static mark—the whale breathes steadily, blinks stochastically, and tilts its heading organically according to swimming velocity.

  • 🎯 Full-Lifecycle Task & State Awareness
    Instantly mirrors thinking, streaming responses, tool execution, file reading/editing, context compaction, and user interaction states with clear status labels and bespoke monochrome vector props.

  • 🧷 Dual Seamless Surfaces

    • Inline Status Whale: Nestled directly inside the conversation status row with zero layout shift or visual jitter — or, with the classic option on, in DSH 0.1.5's blue "Deep diving..." row above the composer.
    • Whale Dock: A sleek, edge-anchored floating pill button on the right edge, draggable vertically, expanding smoothly into a comprehensive companion panel.
  • 🎨 Native Visual Integration
    Automatically samples typography gradient color stops from the DSH interface, adapting flawlessly to dark and light themes without modifying official logo paths.

  • ♿ First-Class Accessibility
    Fully respects prefers-reduced-motion: reduce. Immediately presents stable static poses, offers instant panel toggling, and eliminates background frame loop overhead.


🖥️ Product Surfaces

1. Inline Status Whale

When a conversation turn begins, the inline whale executes an authored breach out of a procedural sea, settling into an effortless swim beside the status label. It updates DSH's status text with clear, descriptive task names (深度求索中…, 正在作答…, 读取文件中…, 执行命令中…, etc.) and carries an appropriate task prop.

  • Zero Layout Shift: Employs calculated negative bleeds (fitToMark()) so the breach arc overflows cleanly without shifting surrounding chat layout.
  • Native Ink Sampling: Dynamically extracts DSH's gradient stops on mount, harmonizing with both dark and light modes.
  • Both DSH Label Shapes:
    • DSH 0.1.7 removed the blue "Deep diving..." row; the running label now lives in the turn's grey fold header ("深度求索中,用时12秒"). The whale goes into that header and wears its grey, and only the leading words are swapped (读取文件中,用时12秒), so DSH's own clock keeps ticking.
    • DSH 0.1.5 still draws the blue row, and the whale goes into it as before.
  • Classic "Deep diving" option (Dock panel → Classic "Deep diving", off by default): on DSH 0.1.7, draws the old blue row back — same type, same gradient sweep, clock after 15 s — directly above the composer with the whale in it, and leaves DSH's grey header untouched. Unlike the default, this row takes space: it appears and leaves once per turn, as DSH 0.1.5's own row did. The label stays Deep diving... in both languages while the whale follows the current task. On DSH 0.1.5, the same fixed wording is applied to the existing row without adding another.

2. Whale Dock & Companion Panel

Attached to the right edge of the viewport, the Whale Dock provides a persistent, low-profile companion presence.

  • Vertical Track Dragging: Drag the collapsed button vertically with a pointer, or focus it and use Arrow Up / Arrow Down / Home / End. Position persists proportionally across window resizes.
  • Continuous Surface Expansion: Opens inward into a compact companion panel featuring a live preview, state inspector, and quick toggles.
  • Fluid Dismissal: Closes gracefully via the close button, Escape, or outside clicks.

🎭 State & Gesture Matrix

StateStatus Label (zh)Contextual PropPosture & Behavior
idle—Tossable ball (after 9s dwell)Relaxed swim, subtle drift, unhurried gestures
thinking深度求索中…Pulsing dotsAttentive posture, faster chase spring, slight nose dip
responding正在作答…Breathing speech bubbleSteady forward cruise
working执行命令中…Articulated wrenchBrisk, purposeful movement
working · reading读取文件中…Flowing file streamFiles stream horizontally beneath the hull
working · editing编辑文件中…Sketching pencilDynamic stroke cadence with steady drift
working · searching搜索中…Sweeping magnifierInquisitive scanning motions
compacting压缩上下文中…None (Body deformation)Elastic vertical compression and rebound
waiting等待你的确认…Tilted question markNose-up hover, near stillness
error出错了Red alert exclamationUrgent micro-shake with instant red accent

[!TIP] All props are plugin-authored vector elements drawn outside the logo silhouette, ensuring DeepSeek's official geometry remains 100% pristine.


📦 Installation

dsh-whale-buddy installs as a standard DeepSeek Harness Web plugin.

1. Register in Web Profile

Add the plugin to your DSH web profile configuration:

// ~/.dsh/profiles/web/package.json
{
  "dependencies": {
    "dsh-whale-buddy": "^0.2.1"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-whale-buddy"
      ]
    }
  }
}

2. Install the Package

cd ~/.dsh/profiles/web
npm install dsh-whale-buddy@0.2.1

Environment Requirement: DeepSeek Harness 0.1.5-rc.2 through 0.1.7-rc.1 (requires the shell.overlay and conversation.input.overlay extension slots; the classic row also uses conversation.input.dock).


⚙️ Configuration

The Dock shows the current state and three settings: inline whale, classic status row, and motion. It follows DSH’s light and dark themes. The Dock, its expanded preview, and the session whale share the same task and state-change timing. Turning off the inline whale disables the classic-row control while preserving its preference.

Additional preferences are available through localStorage:

localStorage KeyAccepted ValuesDefaultDescription
dsh-whale-buddy.enabled1 / 01Global master toggle
dsh-whale-buddy.inlineEnabled1 / 01Enable/disable inline status whale
dsh-whale-buddy.classicStatus1 / 00Draw DSH 0.1.5's blue "Deep diving..." row above the composer (DSH 0.1.7+)
dsh-whale-buddy.dockEnabled1 / 01Enable/disable Whale Dock
dsh-whale-buddy.size18 – 3626Inline whale display size (px)
dsh-whale-buddy.motionfull / subtle / staticfullMotion profile intensity
dsh-whale-buddy.dockTop0.0 – 1.00.5Normalized vertical track position

🔬 Technical Implementation & Deep Dive

1. Physics-Driven Motion Core

  • 120 Hz Fixed-Step Integration: Uses fixed-step substeps combined with critically damped harmonic springs to compute kinematic equations, ensuring identical motion cadence across varying display refresh rates.
  • 33-Node Coupled Wave Simulation: Models the sea surface using 33 interconnected discrete harmonic springs, realistically simulating surface depression, fluid rebound, and bidirectional ripple propagation.
  • Sub-Pixel Precision: All trajectory scales and travel amplitudes are computed in CSS pixel dimensions rather than relative vector coordinates, guaranteeing razor-sharp visuals at any display scaling factor.

2. Non-Destructive DOM Anchoring & Zero Reflow

  • Reference Identity Tracking: Hooks into the DSH status element once via role="status", then tracks the DOM node by reference identity to eliminate recursive re-matching loops during text changes. On DSH 0.1.7 the role="status" element is a hidden announcement; the anchor follows it to the [data-turn-process] header right after it, and never writes into the announcement itself.
  • Negative-Bleed Headroom (fitToMark()): Offsets visual headroom through negative margins, keeping the host layout box clamped at a stable 26 px without triggering document reflows.
  • Clean Lifecycle Teardown: Automatically detaches all MutationObservers, animation frame loops, and restores DSH's original DOM state upon unmounting or session switching.

3. Reactive State Derivation & Debouncing

  • Reactive Snapshot Observation: Evaluates DSH snapshot signals directly to identify streaming states, tool queues, and blocking user interaction events.
  • 700 ms Minimum Dwell Window: Implements an intentional hold threshold to prevent microsecond tool calls from causing visual flickering.
  • Pulsed Error Tracking: Identifies error occurrences by detecting state delta events rather than reading latched error strings, preventing stale warnings from lingering permanently.

4. Zero Dependencies & Absolute Vector Fidelity

  • Zero external runtime dependencies; engine mathematics and rendering routines are fully decoupled from UI frameworks.
  • DeepSeek's official vector paths are rendered as an unmodified rigid body inside an SVG luminance mask, with 0 coordinate deformation.

🏗️ Architecture & Project Layout

src/
├── index.ts                     # Plugin entry point
├── client/
│   ├── index.ts                 # DSH slot registrations
│   ├── config.ts                # Schema-validated configuration
│   ├── locales.ts               # Bilingual copy definitions
│   ├── integration/
│   │   ├── dsh.ts               # React bridge for DSH slots
│   │   ├── thinking-state.ts    # Semantic state evaluator
│   │   └── status-anchor.ts     # Safe, non-destructive DOM status-line injector
│   ├── state/
│   │   └── whale-state.ts       # Shared reactive state store
│   ├── whale/                   # Standalone physics & motion core
│   │   ├── geometry.ts          # Unmodified DeepSeek vector mark paths
│   │   ├── types.ts             # Pose and kinematic interfaces
│   │   ├── spring.ts            # Fixed-step spring integrator
│   │   ├── leap.ts              # Analytical breach trajectory model
│   │   ├── water.ts             # 33-node coupled harmonic spring wave model
│   │   ├── props.ts             # Contextual prop definitions & scheduler
│   │   ├── renderer-svg.ts      # Hardware-accelerated SVG renderer
│   │   └── view.ts              # RAF lifecycle controller
│   └── surfaces/
│       ├── inline-status.ts     # Inline status surface controller
│       ├── whale-dock.ts        # Dock trigger surface
│       ├── dock-panel.ts        # Companion panel surface
│       └── dock-drag.ts         # Physics-based drag-and-drop controller
└── styles/
    └── plugin-css.ts            # Scoped component styles & CSS variables

🛠️ Development & Verification

The project includes an extensive automated test suite verifying physical convergence, DOM safety, and bundle integrity:

# Type check TypeScript sources
npm run typecheck

# Build production bundle
npm run build

# Run complete test suite (138 tests against production bundle)
npm run verify

# Launch visual interactive demo sandbox
npm run demo        # Open http://localhost:4173/demo/index.html

# Capture visual artifacts and showcase recordings
npm run shots       # Headless screenshot generation
npm run film        # Record showcase animation video

🧩 Compatibility & Graceful Fallbacks

  • Verified Hosts: @deepseek-ai/dsh@0.1.5-rc.1 with client packages at 0.1.5-rc.2 (measured in the running app); client packages at 0.1.7-rc.1 (types, and markup read from the published ui-chat / ui-conversation bundles — not yet run against a live 0.1.7 app).
  • DSH 0.1.7 signal changes: useSessionPendingInteraction is gone (the waiting state now reads useSessionStatus), and the session list no longer names the current session, so the Dock takes its state from the session-scoped entry instead. Both are handled per host, so 0.1.5 keeps working.
  • Graceful Degradation: If future DSH updates change internal slot names or alter status row markup, the plugin fails silently without interrupting conversation flow.
  • Dynamic Theme Adaptation: Adapts automatically to DSH --dsw-alias-* CSS variables, backed by high-contrast standalone fallback themes.

🙏 Acknowledgements

  • Implementation Heritage: dsh-thought-buddy (BSD-3-Clause) for the host/client bundle architecture, fixed-step spring timing model, and bundle verification strategy.
  • Interaction Inspiration: dsh-notch (MIT) for the edge-anchored continuous surface concept.
  • Classic Row Styling: an independent re-creation of DSH 0.1.5's running-turn label style (@deepseek-ai/dsh-client-ui-chat, MIT, © DeepSeek), using DSH's own design tokens.
  • Trademark Notice: The whale mark is the intellectual property of DeepSeek, incorporated from deepseek-harness (FishLogo.tsx) with zero coordinate alterations.

📄 License

BSD-3-Clause © 2026 dsh-whale-buddy contributors.