DSH Hub
dsh-thought-buddy cover

dsh-plugins/dsh-thought-buddy

dsh-thought-buddy

UIWeb UI2 GitHub stars· updated 2026-08-19

dsh-thought-buddy is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile <PROFILE> add @dsh-plugin/dsh-thought-buddy`

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-thought-buddy DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-thought-buddy.svg)](https://dshhub.dev/plugins/dsh-thought-buddy)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from dsh-plugins/dsh-thought-buddy, cleaned of badges and images.

dsh-thought-buddy

A DeepSeek Harness Web plugin that puts a dynamic little buddy — a GrokBot-style animated avatar with a synchronized typewriter status line — right in front of the "Deep diving..." indicator.

English | 简体中文

dsh-thought-buddy is a pure client-side plugin for the DeepSeek Harness Web GUI. While the model is working, the status pill that reads Deep diving... grows a tiny Grok-style robot avatar: it blinks, swaps expressions with a springy morph, wanders its gaze, and gently bobs — all drawn live as SVG via requestAnimationFrame, with zero runtime dependencies. Every time the avatar switches expression, the status text rewrites itself with a typewriter effect (deleting character by character, then typing out the next word).

The avatar animation is ported from nasawz/GrokBot (a pure Flutter CustomPaint widget) to the web: all 25 expressions × 2 eyes × 48-point eye rings, 18 body shapes, and 39 states with their expression/blink cadences are preserved.

Features

FeatureDescription
GrokBot avatarthinking-state expression pool [8,16,14,17,5] cycles automatically; springy morph between expressions; 320 ms blinks (random 3.5–7 s interval); spherical head-turn projection + wandering gaze; gentle 1.7 s breathing bob
Expression-synced typewriteron every expression switch, the status text leaves Deep diving... via a typewriter effect (delete character by character, pause, then type out the next word) cycling through 55 candidates (AccomplishingWorking), e.g. Reticulating...; React re-renders never overwrite it (the text fiber's children string never changes, so React bails out)
Emoji modefallback mode that cycles an emoji list (default 🤿 🫧 🌊 🐙 🔍 🧠 💭) with a pop-in on every switch
Theme awarefollows prefers-color-scheme: light #5b7fe5/#fffdf7, dark #6689ea/#181a15 (matching the DSH theme)
Reduced motionunder prefers-reduced-motion: reduce, the bob and head-turn sway are disabled; expression changes and blinks remain
Self-cleaningthe animation stops as soon as the status pill leaves the DOM; inserted nodes survive React re-renders and are re-asserted on the next mutation if ever removed

Install

Copy the block below and paste it to your DSH agent (the assistant in this web GUI). The agent performs the install and verification for you — no manual npm or profile editing needed:

Install the @dsh-plugin/dsh-thought-buddy plugin into the profile I specify (or ask me if I didn't name one). The npm package name is `@dsh-plugin/dsh-thought-buddy`; use the GitHub source `github:dsh-plugins/dsh-thought-buddy`, or `file:<path>` / `link:<path>` for local development.

…

Related plugins