DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Saknutella /

Saknutella/dsh-thinking-quips

Verified

Playful bilingual quips for the DeepSeek Harness (DSH) running-turn indicator.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@12a2bcf0

dsh-thinking-quips

English · 中文

v0.1.0 · a DSH bundle (install-and-go) · web client plugin

A standalone DeepSeek Harness client plugin that rotates playful status quips through the running-turn indicator — the line the conversation shows while the agent is working (DSH's default Deep diving... shimmer) — and puts a chasing dot-orbit loading icon in front of it. Stock DSH packages are not modified.

Running status line: the dot-orbit loader with a quip

Features

  1. A 3×3 dot-orbit loading icon to the left of the running-turn text. The 8 outer dots chase clockwise — each lights up and fades with a trailing tail — while the center dot stays empty. Colored to match the chosen font color (brand blue by default).

  2. Rotating quips, organized by language in the settings textarea, with one Language control deciding which section shows: Follow UI (Chinese UI → Chinese quips; any non-Chinese UI → English), English only, Chinese only, or Mixed (both sections).

  3. Time per quip — a number input (default 8 s) for how long each quip stays before rotating.

  4. Glow strength — a number input (0–100%, default 35%) for how bright the sweeping highlight is.

  5. Font color — a live preview swatch plus hex and RGB inputs and a native color wheel (<input type="color">). The default is the DeepSeek brand-blue shimmer.

  6. Manage quips — a small modal with one editable textarea using # language sections, and a Save button in the footer:

    # Chinese
    a Chinese quip
    another Chinese quip
    # English
    an English quip
    another English quip
    

    One quip per line (; also works inside a section). Lines before the first # header always show, in every mode.

All of it lives in Settings → General → Playful quips.

The textarea is the single source of quips: it ships pre-filled with the default # Chinese / # English lists, so there is no separate hard-coded fallback. Edits persist; Reset to default restores the shipped lists.

The settings UI itself is bilingual and follows the web UI's language — this page shows the English labels; the 中文 README shows the Chinese ones you get with a Chinese UI.

How it works

While a turn runs, dsh-client-ui-conversation renders a TurnStatus element (role="status", class ...turnStatus) at the bottom of the chat. That element is hardcoded — not a pluggable slot — so this plugin hooks it from outside: a MutationObserver catches it the moment it is committed (so Deep diving... never flashes), a light poll keeps the text rotating, and only the leading text node is swapped, leaving the trailing elapsed-clock span untouched.

Config is persisted to localStorage (dsh-thinking-quips.config) and mirrored in a small reactive store, so the rotator, the color override and the settings row stay in sync. When a custom color is chosen, the plugin injects a <style> override that replaces only the background-image of the shimmer gradient — DSH's own animated shine and text clip stay intact.

Files

dsh-thinking-quips/
├── package.json         # dsh.bundle (patch) + dsh.client + exports["./client"]
├── cordis.patch.yml     # bundle patch: registers this package as a client roster row
├── lib/
│   ├── client.js        # browser half: rotator + orbit + settings row + modal
│   └── index.js         # node half: no-op apply (so the loader can mount the row)
├── assets/screenshot-1.png
├── screenshots.json     # screenshot list read by storefronts (repo-only)
└── test/                # dev-only smoke tests (excluded from the package)

Install (bundle — install and it just works)

dsh-thinking-quips is a DSH bundle: its own cordis.patch.yml registers the client-roster row, so the only manual step is listing it in the profile's dsh.profile.bundles.

  1. Install the package into the target profile's deps — from GitHub (this repo) or a registry:
    # from GitHub (git dependency)
    dsh plugin --profile web add github:Saknutella/dsh-thinking-quips
    
    # or from a registry
    dsh plugin --profile web add dsh-thinking-quips
    
  2. Add it to $DSH_HOME/profiles/web/package.json → dsh.profile.bundles:
    "dsh": { "profile": { "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-thinking-quips"] } }
    
  3. Restart:
    dsh web
    

That's it: the bundle's patch inserts {id: thinking-quips, name: 'dsh-thinking-quips'} into the browser roster, and because the package declares dsh.client, the Web UI serves /plugins/dsh-thinking-quips/client.js and the browser loads it. No hand-editing of cordis.patch.yml.

Uninstall

Remove dsh-thinking-quips from dsh.profile.bundles, then dsh plugin --profile web remove dsh-thinking-quips, and restart dsh web.

Usage

Open Settings → General and find Playful quips:

  • Font color — click the swatch or the color wheel; type a #RRGGBB hex or RGB values. The turn-status shimmer recolors in real time. Brand blue (default) restores the original shimmer.
  • Time per quip — seconds per quip (default 8).
  • Glow strength — 0–100% (default 35). At brand blue with glow 35 the original shimmer is left untouched; changing the glow (or picking a custom color) applies a controllable highlight in that color.
  • Language — one group of four: Follow UI, English only, Chinese only, Mixed. This decides which section of the quips list shows.
  • Manage quips — opens the modal; Save writes the textarea back.
  • Reset to default — restores the shipped defaults.

Tune

Defaults live in lib/client.js:

  • DEFAULT_QUIPS — the shipped quip lists (already sectioned # Chinese / # English).
  • DEFAULT_BLUE (default #2E5BE8) — the color wheel's starting color.
  • POLL_MS (default 600) — how often the status text is re-asserted.
  • quipMs / glow — per-quip timing and highlight strength (per-user, in DEFAULTS).

Notes / limits

  • The plugin is additive: one package plus one line in dsh.profile.bundles, and no DSH file is touched. Uninstalling restores stock DSH.
  • The status element is matched by the stable turnStatus class token first, then by the literal Deep diving text. If a future DSH build renames both, the plugin silently stops matching — it never throws and never breaks the shell.
  • The color override only replaces the shimmer's gradient colors; the animated shine and the text clip come from DSH's own .turnStatus rule.
  • Config (quips, color, glow, timing) persists in localStorage per browser profile, not in the DSH settings document.
  • Requires DSH's web surface (a profile bundling @deepseek-ai/dsh-web-app) and React 18, which DSH ships.
—/ 5

No ratings yet

Verified DSH bundle

Commit 12a2bcf0e3fb

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout