@mingozhou/dsh-replay

sessiontested: passnpmMIT

Replay sessions on a playable timeline with per-step token usage, audit sensitive operations, estimate cost, view fork lineage, compare sessions, and export standalone HTML replays.

下载量 / Downloads
1,372
依赖体积 / node_modules
1.12 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add @mingozhou/dsh-replay

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

<div align="center">

<img src="https://raw.githubusercontent.com/MingoZhou/dsh-replay/main/assets/jingxiaoshen.png" width="120" alt="鲸小深,dsh-replay 吉祥物" />

dsh-replay

给 DeepSeek Harness 会话做只读复盘。<br/>

成本 · 审计 · 分支树 · 对比 · 可分享 HTML —— 不调用模型,不消耗 token。

[English](README.md) · 在线 Demo · [安装](#安装) · [为什么不是 Trajectory?](#为什么不是-trajectory) · [隐私](PRIVACY.md)

![npm](https://www.npmjs.com/package/@mingozhou/dsh-replay)

![downloads](https://www.npmjs.com/package/@mingozhou/dsh-replay)

![ci](https://github.com/MingoZhou/dsh-replay/actions/workflows/ci.yml)

![license](./LICENSE)

![dsh](https://github.com/MingoZhou/dsh-replay#兼容性)

Desktop 一键安装: 插件 → Add plugin → @mingozhou/dsh-replay → Install → 重启。
Web/源码:[dsh plugin --profile <profile> add …](#安装)。

<img src="https://raw.githubusercontent.com/MingoZhou/dsh-replay/main/assets/demo-zh.webp" width="880" alt="dsh-replay 15 秒演示:档案、成本、审计、导出" />

<sub>15 秒演示 · 示例会话 · 导出的 HTML 完全离线、只读<br/>GIF 备用 · 完整 demo</sub>

</div>

这里的“回放”是只读的。 dsh-replay 不会把会话重新发给模型,不写日志,也不消耗 token。它只是解析 append-only 日志并渲染出来。详见 [FAQ](#faq)。
历史注记(保留原文,不做删除):~~DeepSeek Harness 有一套优雅的 append-only 日志,官方承诺“到达模型的一切都可从日志重建”——但它没有配查看器。dsh-replay 就是那个查看器。~~
这句话写于 2026-08,当时是事实。自 DSH 0.2.1-rc.2 起,官方 Web UI 已内置 Trajectory(轨迹) 视图,覆盖当前会话的事件账本。dsh-replay 现在做的是 档案层:所有会话、成本、Windows 可用的安全审计、分支/对比,以及可脱敏分享的 HTML。[下面有对照](#为什么不是-trajectory)。

安装

DeepSeek Harness Desktop(推荐)

1. 左侧栏打开 插件(Plugins)。

2. 点 Add plugin / 添加插件。

3. 输入 @mingozhou/dsh-replay,点 Install。

4. 重启 Harness。

Desktop 的 profile 由 Electron 应用独占管理,dsh plugin --profile desktop … 会被拒绝(profile "desktop" is managed exclusively by the Electron application)。这不是插件坏了,请用插件页安装。

<img src="https://raw.githubusercontent.com/MingoZhou/dsh-replay/main/assets/plugins-installed.png" width="720" alt="DeepSeek Harness 插件页中的 dsh-replay" />

<sub>插件 → 已安装插件。这是 0.4.1 的条目;0.4.2 会显示新的描述。</sub>

Web UI / 源码模式

# 发行版 CLI(npm i -g @deepseek-ai/dsh)
dsh plugin --profile <你的profile> add @mingozhou/dsh-replay

# 从 Harness 源码跑(profile 名为 web)
cd deepseek-harness
pnpm dsh plugin --profile web add @mingozhou/dsh-replay

用 dsh --profile <你的profile> --dump-config 确认出现 @mingozhou/dsh-replay / replay 行,然后重启 Harness。

从源码安装(开发 / 未发布改动)

git clone https://github.com/MingoZhou/dsh-replay.git
cd dsh-replay
npm install && npm run build      # lib/ 是构建产物
npm run demo                      # http://localhost:4173,不需要 Harness

让 profile 指向文件夹:

dsh plugin --profile <你的profile> add <插件绝对路径>/dsh-replay

卸载

  • Desktop:插件 → dsh-replay → Remove。
  • Web:dsh plugin --profile <你的profile> remove @mingozhou/dsh-replay
  • 手动兜底:从 profile 的 package.json 的 dependencies 和 dsh.profile.bundles 两处删除 @mingozhou/dsh-replay,在该目录 pnpm install,重启。

为什么不是 Trajectory?

Trajectory 对当前会话很好:实时账本、时间概览、逐条 token、思考、系统提示词、虚拟滚动。只需要这些,直接用官方视图就好。dsh-replay 解决的是会话结束之后、以及官方视图没回答的问题:

· 官方 Trajectory · dsh-replay

范围 · 当前会话 · 所有会话 + 档案仪表盘

时间线 · 原生、实时、虚拟化 · 回放、思考、系统提示词、工具摘要

成本 · token 计数 · 分模型成本、USD/CNY、可编辑价格表

风险 · — · Windows 可用的审计、基线抑制、密钥脱敏

血缘 · — · 分支树 + 精确分岔 + 成本/风险差值

分享 · 原始会话 ZIP · 脱敏、离线、可交互 HTML

数据 · 会话内 · 本地档案;无遥测

两者可以共存。dsh-replay 不是替代 Trajectory,而是回答“这么多会话里发生了什么、花了多少钱、哪里有风险、怎么给同事看”。


你会得到什么

📊 档案仪表盘 · 这台机器上的所有会话:本月/全部 token、估算成本、高危发现,按标题/ID/工作区搜索。

💰 分模型成本 · 缓存感知的 token 统计、分模型明细、USD/CNY、可编辑价格表。多模型会话不再把全部 token 按一个费率算。

🛡️ Windows 可用的审计 · 同时识别 pwsh/PowerShell/cmd 和 bash;递归删除、凭据读取、外传、持久化、策略变更。会话初始的 permission/sandbox 视为基线,不再每次报 2 条 serious。

🔐 密钥脱敏 · 常见 API key、.env 赋值、私钥、用户主目录。导出前显示将遮罩多少处。

📤 可分享 HTML · 把一个会话烤进单个离线 .html:对方零安装、无网络、不调用模型。适合 bug report 和复盘。

🌿 分支树 · 完整血缘、子 Agent、fork 边界,点击直达。

⚖️ 对比 · 任意两个会话:指标、工具分布、成本/风险差、完整血缘关系、两边首个差异事件。

⏪ 时间线 · 1–16 倍速回放、思考、系统提示词、搜索、类型过滤、键盘导航;工具标签是命令/路径/URL 摘要,不再是 JSON 墙。

🌏 中英双语 · 应用 UI 可切换中英文;DSH 注入的会话视图标签由宿主决定。

仪表盘、成本、审计、导出

<div align="center">

<img src="https://raw.githubusercontent.com/MingoZhou/dsh-replay/main/assets/overview-zh.png" width="880" alt="概览与成本估算" />

<img src="https://raw.githubusercontent.com/MingoZhou/dsh-replay/main/assets/audit-zh.png" width="880" alt="安全审计:基线抑制、密钥脱敏" />

<img src="https://raw.githubusercontent.com/MingoZhou/dsh-replay/main/assets/export-zh.png" width="880" alt="脱敏、离线 HTML 导出对话框" />

</div>

更多:仪表盘 · 时间线 · 分支 · 对比


0.4.2 改了什么

这是一次“还活着”的维护版,优先修信任和首次体验:

  • 审计正确性:pwsh/PowerShell/cmd、Windows 删除/提权/凭据/外传;初始 permission/preset / sandbox/mode 不再报;普通 write/network 不再刷屏。
  • 成本正确性:分模型累计;混合模型分别计价;价格表可编辑;USD/CNY。
  • 分享安全:脱敏预览 + 数量 + 大小;未脱敏导出需要显式勾选;导出视图不再显示空的 Forks/Compare。
  • 真的变小了:client bundle 2.0 MB → 232 KB;吉祥物 1.4 MB → 73 KB;README GIF 28.8 MB → 164 KB;15 秒 WebP 116 KB。
  • 时间线更好用:思考、系统提示词、模型选择、工具摘要、键盘导航;过滤时保持选中事件。
  • 档案仪表盘:所有会话、本月/全部、token、成本、风险、搜索、工作区过滤。
  • 隐私/安全:API 默认仅 loopback;密钥脱敏;新增 [PRIVACY.md](PRIVA

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::3,最后更新 2026-10-20

Links

GitHub · Homepage · npm

Same category