DSH Hub
dsh-replay cover

MingoZhou/dsh-replay

dsh-replay

UIWeb UI8 GitHub stars· updated 2026-08-20

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

Install

npx @deepseek-ai/dsh plugin --profile <your-profile> add @mingozhou/dsh-replay

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

README badge

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

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

From the README

Excerpt from MingoZhou/dsh-replay, cleaned of badges and images.

dsh-replay

Time machine for your agent sessions.<br/> Replay · Audit · Cost · Fork tree · Compare — inside the DeepSeek Harness web UI.

🎮 Live demo · 中文文档 · Install · FAQ

😫 Sound familiar?

You kick off an agent task, come back after dinner, and:

  • "It ran for 5 hours and burned 18M tokens — on WHAT?"
  • "Which tool call ate all that wall-clock time? Was it stuck?"
  • "Did it touch my .env? Did it rm -rf anything? Who approved that?"
  • "How much did this session actually cost me?"
  • "I forked the session yesterday — where exactly did the two histories diverge?"
  • "I want to show a teammate this hilarious failure — do they need to install the whole harness?"

DeepSeek Harness keeps a beautiful append-only log where everything that reached the model is reconstructible — but ships no viewer for it. dsh-replay is that viewer. One plugin, and every question above becomes one click.

✨ What you get

Timeline replayScrub through every turn, step, message and tool call; play back at 1–16×; click any event for raw prompt/args/results/durations
📊 Overview dashboardHero stats, cumulative token chart with crosshair, tool-time ranking — where the time and tokens actually went
💰 Cost estimate≈ dollar cost from disjoint token accounting (cache-aware); editable pricing table, DeepSeek / Claude / OpenAI / Gemini defaults
🛡️ Security auditRules-based scan: dangerous shell (rm -rf, sudo, curl-pipe…), sensitive paths (.env, ~/.ssh…), sandbox/permission changes, denied approvals — ranked, clickable, extensible
🌿 Fork treeThe whole session lineage as a clickable tree, fork boundaries labeled, subagents marked
⚖️ CompareAny two sessions side by side: stats, tool mix, token deltas, exact divergence seq for forks
📤 One-click HTML exportBake a session into a single offline .html — attach it to a bug report or send to a teammate; they get the full interactive replay with zero installs
🔍 Filter & searchFree-text search across messages/args/results + kind filters, right in the playback bar
🌏 EN / 中文Whole UI switches language (findings and meta labels included); auto-detected, one-click toggle

Dark mode follows the harness theme. Loading and empty states are hosted by Jing Xiaoshen (鲸小深), our original whale-catgirl mascot (hide her with .dshr-mascot { display: none }).

🚀 Quick start

1️⃣ Try it first — zero install

Online demo: https://mingozhou.github.io/dsh-replay/ — three sample sessions, full UI, zero install.

2️⃣ Install into DeepSeek Harness — one npm command

The npm package ships prebuilt: no cloning, no building, no allowBuilds approval.

# released CLI (npm i -g @deepseek-ai/dsh); list your profiles with: ls ~/.dsh/profiles
dsh plugin --profile <your-profile> add @mingozhou/dsh-replay

# harness running from a source checkout (`pnpm dsh web` uses the profile named "web"):
#   run inside the harness repo directory
pnpm dsh plugin --profile web add @mingozhou/dsh-replay

Verify with dsh --profile <your-profile> --dump-config (expect a # == @mingozhou/dsh-replay section), then restart the harness (dsh web --profile <your-profile> / pnpm dsh web) and open http://127.0.0.1:3080. You now have two entries:

Related plugins