中文 · English
推荐用 npm(可钉版本):
dsh plugin --profile web add dsh-watcher@0.4.4也可以装 latest:
dsh plugin --profile web add dsh-watcher备选:从 GitHub 直装(跟默认分支最新提交):
dsh plugin --profile web add github:aa2246740/dsh-watcherPATH 上需要官方 dsh(或 npx @deepseek-ai/dsh)和 pnpm。dsh plugin add 会在 $DSH_HOME/profiles/web 里跑 pnpm,并因为本包装了 dsh.bundle.patch 而写入 profile bundles。然后重启这个 Host,再刷新页面。它只写 profile,不会热挂正在跑的进程。
仓库已提交 lib/,npm / git 安装不用再构建,也不走 prepare / allowBuilds。需要 DeepSeek Harness 0.1.5-rc.2,Node ^22.19.0 或 >=24。
DeepSeek Harness Web 的只读插件。点会话标题栏里的眼睛,把 Session 收成一张能折叠的工作路径:这轮走了几步、跑了几次、花了多久;再展开某一步看并行分支、工具结果,或一条默认折着的推理记录。
它不往对话里塞消息,不编隐藏思维链,也不替代官方 Trajectory。
归类只叠能证明相同的调用。两条不同的 bash 不会被捏在一起。模型阶段只显示供应商已经写进 Session 的可见 reasoning;没有记录就写未记录。
已经 clone 过的目录也可以:
git clone https://github.com/aa2246740/dsh-watcher.git
dsh plugin --profile web add ./dsh-watcher同样需要 pnpm,然后重启 Host 并刷新页面。
dsh plugin --profile web remove dsh-watcherDSH.app 的 desktop profile 不接受 github:。用 dsh web 装进 web profile。
设置页和会话 HUD 的 Token 总数旁有 估算费用(不是「总价值」)。按模型的输入 / 输出 / 缓存桶对照 pricing/models.yaml 计价;缺行显示 未知,不会当成 $0。部分已知时主数字只显示已标价金额,未标价写在脚注。这是估算,不是账单。默认表含 DeepSeek、MiniMax、OpenAI、Anthropic、Gemini、Grok、GLM、Qwen 主流行,不联网。设置里打开的是当前生效价格表;保存只把改动过的行写入 localStorage 键 dsh-watcher:pricing-override:v1。欢迎对默认表提 PR。
交互约定在 DESIGN.md。MIT。
详情面板(点任意一条记录后出现的左栏)这轮修了一串体验问题:
- 能收起来了。 停靠布局下
返回工作路径之前被 CSS 藏了起来,面板展开后无处可退。 - 收起是一段动效,不是"抽走"。 详情内容先向右淡出,再收窄整列 —— 关闭边缘扫过时不会切到半行字;展开是反向同一套。
- 整块面板不再左右闪。 列宽每帧在变,而面板坐标由观察器重算、晚一帧,右边缘就来回跳;现在动效期间钉住面板外框,只有左边缘随布局移动。
- 头部状态行不再被盖。
对话轮次 … · … 个步骤 · …之前会钻到右侧卡片底下;子块改为 border-box,过长会自动换行。
历史版本见 CHANGELOG.md。
日常安装不用这一步。改 TypeScript 后用 pnpm 重建已提交的 lib/:
pnpm install
pnpm test
node scripts/link-harness-dependencies.mjs /path/to/harness
pnpm buildpnpm build 需要能解析 @deepseek-ai/dsh-* peer 的本机 Harness 检出。装插件不要走这条路径。
冷会话的 Chat 数据尚未到达时,Watcher 显示等待提示,数据到达后再挂载面板。




