@mingozhou/dsh-replay 0.3.3 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,54 +56,38 @@ Dark mode follows the harness theme. Loading and empty states are hosted by **Ji
56
56
 
57
57
  ## 🚀 Quick start
58
58
 
59
- ### Try it first (zero install)
59
+ ### 1️⃣ Try it first — zero install
60
60
 
61
- **Online demo:** https://mingozhou.github.io/dsh-replay/ — or locally:
61
+ **Online demo:** https://mingozhou.github.io/dsh-replay/ — three sample sessions, full UI, zero install.
62
62
 
63
- ```sh
64
- git clone https://github.com/MingoZhou/dsh-replay.git
65
- cd dsh-replay
66
- npm install && npm run build
67
- npm run demo # → http://localhost:4173
68
- ```
63
+ ### 2️⃣ Install into DeepSeek Harness — one npm command
69
64
 
70
- ### Install into DeepSeek Harness
71
-
72
- **Case A — you use the released CLI** (`npm i -g @deepseek-ai/dsh`):
65
+ The npm package ships **prebuilt**: no cloning, no building, no `allowBuilds` approval.
73
66
 
74
67
  ```sh
75
- # build the plugin once
76
- cd <path-to>/dsh-replay && npm install && npm run build
68
+ # released CLI (npm i -g @deepseek-ai/dsh); list your profiles with: ls ~/.dsh/profiles
69
+ dsh plugin --profile <your-profile> add @mingozhou/dsh-replay
77
70
 
78
- # add it to the profile you actually use (list them: ls ~/.dsh/profiles)
79
- dsh plugin --profile <your-profile> add <absolute-path-to>/dsh-replay
80
- dsh --profile <your-profile> --dump-config # expect a "# == dsh-replay" section
81
- dsh web --profile <your-profile>
71
+ # harness running from a source checkout (`pnpm dsh web` uses the profile named "web"):
72
+ # run inside the harness repo directory
73
+ pnpm dsh plugin --profile web add @mingozhou/dsh-replay
82
74
  ```
83
75
 
84
- **Case B — you run the harness from a source checkout** (`pnpm dsh web`):
85
-
86
- ```sh
87
- # build the plugin once
88
- cd <path-to>/dsh-replay && npm install && npm run build
89
-
90
- # note: `pnpm dsh web` boots the profile named "web"
91
- cd <path-to>/deepseek-harness
92
- pnpm dsh plugin --profile web add <absolute-path-to>/dsh-replay
93
- pnpm dsh --profile web --dump-config # expect a "# == dsh-replay" section
94
- pnpm dsh web
95
- ```
96
-
97
- Open http://127.0.0.1:3080 — you now have **two entries**:
76
+ 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**:
98
77
 
99
78
  1. the **Session Replay** button at the bottom-left of the sidebar (opens a full-screen modal with a session picker), and
79
+
100
80
  2. a **Replay** tab inside every open conversation.
101
81
 
102
- Installing from npm (`dsh plugin --profile <p> add dsh-replay`, once published) or from a git URL also works; git installs run the package's `prepare` build, which the harness requires you to allowlist in the profile's `pnpm-workspace.yaml`:
82
+ ### 3️⃣ Install from a cloned repo (development / unreleased changes)
83
+ ```sh
84
+ git clone https://github.com/MingoZhou/dsh-replay.git
85
+ cd dsh-replay
86
+ npm install && npm run build # lib/ is a build artifact — required after every fresh clone
87
+ npm run demo # local demo → http://localhost:4173
103
88
 
104
- ```yaml
105
- allowBuilds:
106
- dsh-replay: true
89
+ # then point your profile at the folder instead of npm:
90
+ dsh plugin --profile <your-profile> add <absolute-path-to>/dsh-replay
107
91
  ```
108
92
 
109
93
  ## 🧹 Uninstall
package/README.zh.md CHANGED
@@ -54,58 +54,48 @@ DeepSeek Harness 有一套优雅的 append-only 日志,官方承诺"到达模型
54
54
 
55
55
  深色模式跟随 Harness 主题。加载与空状态由原创鲸猫娘吉祥物 **鲸小深** 值班(不喜欢可一行 CSS 隐藏:`.dshr-mascot { display: none }`)。
56
56
 
57
- ## 🚀 快速上手
58
-
59
- ### 先试试(零安装)
60
-
61
- **在线 Demo:** https://mingozhou.github.io/dsh-replay/ ,或本地跑:
62
-
63
- ```sh
64
- git clone https://github.com/MingoZhou/dsh-replay.git
65
- cd dsh-replay
66
- npm install && npm run build
67
- npm run demo # → http://localhost:4173
68
- ```
69
57
 
70
- ### 装进 DeepSeek Harness
58
+ ## 🚀 快速上手
71
59
 
72
- **情况 A —— 你用的是发行版 CLI**(`npm i -g @deepseek-ai/dsh`):
60
+ ### 1️⃣ 先试试(零安装)
73
61
 
74
- ```sh
75
- # 先构建插件(一次即可)
76
- cd <插件路径>/dsh-replay && npm install && npm run build
62
+ **在线 Demo:** https://mingozhou.github.io/dsh-replay/ —— 三个示例会话、完整 UI、零安装。
77
63
 
78
- # 加进你实际在用的 profile(列出所有 profile:ls ~/.dsh/profiles)
79
- dsh plugin --profile <你的profile> add <插件绝对路径>/dsh-replay
80
- dsh --profile <你的profile> --dump-config # 应出现 "# == dsh-replay" 一段
81
- dsh web --profile <你的profile>
82
- ```
64
+ ### 2️⃣ 装进 DeepSeek Harness —— npm 一条命令
83
65
 
84
- **情况 B —— 你从源码仓库跑 Harness**(`pnpm dsh web`):
66
+ npm 包是**预构建成品**:不用 clone、不用 build、不用 `allowBuilds` 放行。
85
67
 
86
68
  ```sh
87
- # 先构建插件(一次即可)
88
- cd <插件路径>/dsh-replay && npm install && npm run build
89
-
90
- # 注意:`pnpm dsh web` 实际挂载的是名为 "web" 的 profile
91
- cd <Harness源码路径>/deepseek-harness
92
- pnpm dsh plugin --profile web add <插件绝对路径>/dsh-replay
93
- pnpm dsh --profile web --dump-config # 应出现 "# == dsh-replay" 一段
69
+ # 发行版 CLI(npm i -g @deepseek-ai/dsh);查看已有 profile:ls ~/.dsh/profiles
70
+ dsh plugin --profile <你的profile> add @mingozhou/dsh-replay
71
+
72
+ # 从源码仓库跑的 Harness(`pnpm dsh web` 挂载的 profile 名是 "web"):
73
+ # 在 harness 仓库目录里执行
74
+ cd 'path_to_your_project/deepseel-harness'
75
+ pnpm dsh plugin --profile web add @mingozhou/dsh-replay
76
+ # 然后重启就可以使用了
94
77
  pnpm dsh web
95
78
  ```
96
79
 
97
- 打开 http://127.0.0.1:3080 ,你会得到**两个入口**:
80
+ 用 `dsh --profile <你的profile> --dump-config` 验证(应出现 `# == @mingozhou/dsh-replay` 一段),然后重启 Harness(`dsh web --profile <你的profile>` / `pnpm dsh web`),打开 http://127.0.0.1:3080 。你会得到**两个入口**:
98
81
 
99
82
  1. 侧栏左下角的 **会话回放** 按钮(弹出带会话选择器的全屏弹窗);
83
+
100
84
  2. 每个会话视图里的 **Replay** 标签页。
101
85
 
102
- 从 npm(发布后 `dsh plugin --profile <p> add dsh-replay`)或 git URL 安装也可以;git 安装会执行包的 `prepare` 构建,Harness 要求在 profile 的 `pnpm-workspace.yaml` 里显式放行:
86
+ ### 3️⃣ 克隆仓库安装(开发调试 / 试未发布的改动)
87
+
88
+ ```sh
89
+ git clone https://github.com/MingoZhou/dsh-replay.git
90
+ cd dsh-replay
91
+ npm install && npm run build # lib/ 是构建产物,每次重新 clone 后都要构建
92
+ npm run demo # 本地 demo → http://localhost:4173
103
93
 
104
- ```yaml
105
- allowBuilds:
106
- dsh-replay: true
94
+ # 然后让 profile 指向文件夹而不是 npm:
95
+ dsh plugin --profile <你的profile> add <插件绝对路径>/dsh-replay
107
96
  ```
108
97
 
98
+
109
99
  ## 🧹 卸载
110
100
 
111
101
  官方姿势(**即使 Harness 启动不了也能用**,因为它只是在 profile 目录里跑 pnpm):
package/lib/client.js CHANGED
@@ -2469,7 +2469,7 @@ function apply(ctx) {
2469
2469
  return module.exports;
2470
2470
  };
2471
2471
  if (typeof window !== 'undefined' && window.__ModuleLoader__) {
2472
- window.__ModuleLoader__.load({ id: 'dsh-replay', factory: factory });
2472
+ window.__ModuleLoader__.load({ id: '@mingozhou/dsh-replay', factory: factory });
2473
2473
  } else if (typeof module !== 'undefined' && module.exports) {
2474
2474
  module.exports = factory(typeof require === 'function' ? require : function (id) {
2475
2475
  throw new Error('unresolvable external: ' + id);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mingozhou/dsh-replay",
3
- "version": "0.3.3",
3
+ "version": "0.4.1",
4
4
  "description": "Session replay, fork-tree, audit & compare visualization for DeepSeek Harness — time machine for your agent sessions",
5
5
  "main": "lib/index.js",
6
6
  "directories": {
package/scripts/build.mjs CHANGED
@@ -91,7 +91,7 @@ ${cjs}
91
91
  return module.exports;
92
92
  };
93
93
  if (typeof window !== 'undefined' && window.__ModuleLoader__) {
94
- window.__ModuleLoader__.load({ id: 'dsh-replay', factory: factory });
94
+ window.__ModuleLoader__.load({ id: '@mingozhou/dsh-replay', factory: factory });
95
95
  } else if (typeof module !== 'undefined' && module.exports) {
96
96
  module.exports = factory(typeof require === 'function' ? require : function (id) {
97
97
  throw new Error('unresolvable external: ' + id);