← Back to home@ComeCaramelos

dsh-hOver-information

DSH plugin that makes the session hover card genuinely useful

Stars
1
Language
TypeScript
Created
Sep 20, 2026
Updated
Oct 5, 2026

Introduction

@comecaramelos/dsh-hover-information

Aditional info in web UI.

Preview card

Configurable metrics block, all gated by a Settings → Plugins card:

Preview card panel

  • Copy session ID / Copy workspace path icons on the card's header row — ⧉ copy ID / ⧉ copy path beside the status dot and the relative time, instead of the stock whole-card copy button.
  • Metrics block: turns, steps, tokens sent/received, cache tokens, compactions, purges (tool-result prunes), context window, subagents, model, tool calls, active time and created date — toggled per metric.

Sidebar

  • Document-preview header tools: the sidebar's open-file panel grows two additional copy buttons: file content and file path.

Background jobs

  • Kill button on live jobs: a ✕ on each running row in the session header's background-job list (cancel, not force).

Model selector

  • Provider in the selector: tooltip and visible value read Provider > Model.

Install

From npm:

dsh plugin --profile web add @comecaramelos/dsh-hover-information

Manual install:

mkdir -p ~/.dsh/profiles/web/node_modules/@comecaramelos
ln -s /path/to/dsh-hover-information \
  ~/.dsh/profiles/web/node_modules/@comecaramelos/dsh-hover-information

and add this to ~/.dsh/profiles/web/package.json:

{
  "dependencies": {
    "@comecaramelos/dsh-hover-information": "link:/path/to/dsh-hover-information"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "@comecaramelos/dsh-hover-information"
      ]
    }
  }
}

Then restart the web host — browser bundles don't hot-update, and the live dsh web gateway is never restarted by tooling.

Develop

npm install
npm run build      # tsc (host) + tsc typecheck + esbuild (browser) → lib/
npm test           # builds first, then node --test

Sources live in src/host/** (host half) and src/client/** (browser half); src/index.ts is the host's re-export-only face, and scripts/build-client.mjs collapses the browser half into one lib/client.js lazy-CJS bundle. lib/ is build output and is git-ignored. Every consumer — the profile row, the browser bundle and the tests — resolves it through package.json#exports, so run the build after editing sources and before pointing a profile checkout at this tree. See AGENTS.md for the layout and the verification recipe.


CONTRIBUTING | LICENSE