Back to directory

dsh-replay

In a curated listMaintenance: Active

mingozhou/dsh-replay

Replay, audit, compare, inspect costs, and export DSH agent sessions in the Web UI.

View on GitHubHomepage
$ dsh plugin --profile <profile> add @mingozhou/dsh-replay

17

stars

0

forks

TypeScript

Language

MIT

License

2026-08-17

Created

2026-11-12

Last push

MIT-licensed DSH plugin that turns session logs into a post-run review: cost, time, audit findings, diffs and a redacted share export, entirely read-only.

DSH integration

Native runtime

Author-claimed

Safety audit

Unaudited

Last verified

2026-11-13

License

MIT

01What can it help you accomplish?

  • Find out what one finished DSH session actually cost and where the time went

    A report with a 0–100 run score, six metrics compared against your last 10 sessions, a user/model/tool lane chart and per-step context growth

    DSH users who finish a long agent run and cannot tell from the raw log what it cost or where it stalled

  • Audit what the agent did — risky commands, file changes, failures

    Severity-ranked audit findings for bash / pwsh, a rebuilt diff per file from `write` / `edit` / `apply_patch`, and a clickable "needs attention" list

    People running vibe-coded sessions who approved a lot of prompts and want to review them afterwards

  • Share a session review with someone who does not run DeepSeek Harness

    A redacted single-file HTML export or a Markdown summary, plus a comparison view across two runs

    Teams and maintainers writing up an incident, a cost review or a debugging thread

02How to install into DeepSeek Harness

Prerequisites

  • A DSH install with a profile you can modify — the README uses `--profile web` and, for the desktop app, the plugin store
  • Node.js is not needed for the desktop-store path; source / CLI users install through their existing `pnpm dsh` or `dsh` binary

Installation steps

  1. 01

    Desktop app: open the plugin store on the Harness **Plugins** page, search `@mingozhou/dsh-replay` and click install, then restart Harness

  2. 02

    Source users: run `pnpm dsh plugin --profile web add @mingozhou/dsh-replay` from the Harness repo

  3. 03

    CLI users: `dsh plugin --profile <profile> add @mingozhou/dsh-replay`

    $ dsh plugin --profile <profile> add @mingozhou/dsh-replay

  4. 04

    Restart Harness completely, then open http://127.0.0.1:3080

Verify the integration

  • `dsh --profile <profile> --dump-config` contains a `# == @mingozhou/dsh-replay` block
  • The sidebar shows a "session replay" button and each session view gets a Replay tab; after upgrading to 1.0 the tab bar shows "report" and "file changes"

Rollback

  • Desktop app: uninstall from the plugin store
  • Source / CLI: `pnpm dsh plugin --profile web remove dsh-replay` (or `dsh plugin --profile <profile> remove dsh-replay`), then restart Harness
  • Manual fallback: drop `dsh-replay` from both `dependencies` and `dsh.profile.bundles` in the profile `package.json`, run `pnpm install`, restart

03DSH integration and capability boundaries

DSH integrationNative runtime

Native DSH plugin bundle: a host half (`src/index.ts`) serving read-only HTTP endpoints for sessions, incremental events, summary caches and the viewer, plus a browser half (`src/client/`) adding a Replay tab next to the built-in Trajectory tab and a "session replay" sidebar button

  • Run report

    one finished (or still running) DSH session→0–100 run score, six metrics vs. the median of your last 10 sessions, lane chart of user/model/tool time, cumulative cost and per-step context size

    recomputes the summary on the host and caches it; the browser never downloads the full session logs
  • Cost estimation in CNY

    each step's model, timestamp and token split (uncached input / cache read / cache write / output)→per-step and total cost priced against the DeepSeek peak / off-peak table, editable in the UI and convertible to USD

    pricing table and redaction options live in browser localStorage
  • All-sessions dashboard

    the most recent `summaryLimit` sessions (default 300)→spend by day / project / model, weekday × hour heatmap, most expensive sessions, per-tool failure share

    the first open folds every session log into a summary and is slow; later opens hit the cache
  • Audit and file-change view

    bash and pwsh / powershell calls, plus `write` / `edit` / `apply_patch` calls in the log→severity-ranked findings (recursive delete, `curl | sh`, `iwr | iex`, sudo, force push, credentials on the command line) and a per-file diff

    changes made through shell commands are not reconstructed
  • Redacted share export

    a whole session, one turn, or an index range→a single offline HTML file or a Markdown summary with keys, tokens, credential assignments and home-directory usernames masked

    redaction is rule-based best effort — review the export before publishing it

04Who is it for? When not to use it?

Good for

  • DSH users who finish a long agent run and cannot tell from the raw log what it cost or where it stalled
  • People running vibe-coded sessions who approved a lot of prompts and want to review them afterwards
  • Teams and maintainers writing up an incident, a cost review or a debugging thread

Not for

  • 1.0 targets session log format v4 (Harness 0.2.x) and also reads older formats, but Harness is still in preview and its plugin API moves — an upgrade can break the plugin, and a plugin name Harness cannot resolve fails silently, so check with `--dump-config`.
  • Every amount is an estimate priced from an editable table, so it will not match the bill; cache writes, provider credits and discounts all cause drift, and file changes made through shell commands are invisible to the diff view.
  • Redaction is rule-based and best effort — keys, tokens, credential assignments, URL passwords and home-directory usernames are masked, but you must look over the export before publishing it.

05Compatibility, maintenance and safety notes

  • Replay never re-sends a session to the model and never spends tokens; to re-run from a point you select the event in the timeline and use "fork from here", which only exists inside Harness — the demo and exported HTML do not have it.
  • 1.0 targets session log format v4 (Harness 0.2.x) and also reads older formats, but Harness is still in preview and its plugin API moves — an upgrade can break the plugin, and a plugin name Harness cannot resolve fails silently, so check with `--dump-config`.
  • Every amount is an estimate priced from an editable table, so it will not match the bill; cache writes, provider credits and discounts all cause drift, and file changes made through shell commands are invisible to the diff view.
  • Redaction is rule-based and best effort — keys, tokens, credential assignments, URL passwords and home-directory usernames are masked, but you must look over the export before publishing it.
2026-08-172026-10-20v1.0.0

MIT · README evidence only, latest release v1.0.0, safety not audited

06Frequently asked questions

How do I install dsh-replay into DeepSeek Harness?

Desktop app: open the plugin store on the Harness Plugins page, search the full package name `@mingozhou/dsh-replay` and click install, then restart — no CLI or Node.js needed. Source users run `pnpm dsh plugin --profile web add @mingozhou/dsh-replay` inside the Harness repo; CLI users run `dsh plugin --profile <profile> add @mingozhou/dsh-replay`. Confirm with `--dump-config`, which should print a `# == @mingozhou/dsh-replay` block.

Does replaying a session re-run it and cost tokens?

No. Replay only reads the append-only session log — it does not call the model and produces no cost. If you want to continue from a specific step, select that event in the timeline and use "fork from here", then continue the new session in Harness. That button only appears inside Harness, because it needs the host's client `sessions` service.

What does it store, and where?

The host half serves read-only HTTP endpoints and computes the all-sessions summary on the host side, cached there — the browser never downloads full session logs. The pricing table, ignored audit rules and redaction options live in browser localStorage. Uninstalling leaves no state anywhere else: the README says the plugin writes nothing outside its own profile entry.

Why does the cost not match my bill?

Amounts are estimates priced step by step from an editable table (DeepSeek's official CNY prices with peak / off-peak periods). Cache writes, provider credits and discounts all cause differences, so check the price table and peak windows under ⚙ first, and treat the totals as a review aid.

Is the exported HTML safe to share?

It is redacted on a rule basis — API keys, tokens, credential assignments, passwords in URLs and home-directory usernames are masked, and email masking is optional. The README is explicit that this is best effort, so look over the redaction preview and the export before publishing it.

08Data and sources

  • Author-claimedgithub.com8ee9096bfc5e…

    给 DeepSeek Harness 会话出一份复盘报告:花了多少钱、时间去哪了、哪里出了错、改了哪些文件、有没有危险操作——然后脱敏后一键分享。

  • Author-claimedgithub.com8ee9096bfc5e…

    2. **每个会话视图里的 Replay 标签页**(和【轨迹】并排):直接打开当前会话的报告。

  • Author-claimedgithub.com8ee9096bfc5e…

    src/index.ts 宿主半:只读 HTTP 接口(会话、增量事件、汇总缓存、查看器)

This page is generated from the project’s public documentation, repository metadata and a structured parse of DSH Plugins; last verified on 2026-11-13. Found an error? Submit a correction.

🏆

Best DeepSeek Harness Plugins

Twelve plugins worth installing first — picked from the whole catalog, across every category.

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.