wsxwj123/dsh-plugins--packages-turn-scrubber7

dsh-turn-scrubber

在 DSH 对话右侧提供线性波形条、支持悬停涟漪与点击跳转的会话轮次导航插件。

AI 分析

核心用途是提供长对话的快速视觉定位。适合在拥有极多对话轮次的会话中,需要通过右侧波形条直观感知轮次分布并快速平滑滚动跳转的用户。

包名
dsh-turn-scrubber
版本
0.1.0
许可证
MIT
最近更新
2026年8月17日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wsxwj123/dsh-plugins#c451cddbfe9953029eeb4f0e2ecb331a490adac0&path:packages/turn-scrubber

dsh-turn-scrubber

A Codex-style turn cluster for the DeepSeek Harness Web GUI: a block of thin horizontal lines pinned to the right edge of the conversation, vertically centered. Each user turn is one line — idle lines are uniform, short and unobtrusive; hovering ripples them like a waveform; clicking a line smooth-scrolls to that turn.

Ported from claude-gui's TurnScrubber idea, re-styled as a linear waveform per user preference.

Preview

Turn scrubber real preview

Behavior

  • Idle: a cluster of equal-length short ticks (3–17px, growing gently with turn count), 6px off the window edge, faint — invisible while chatting.
  • Hover: a continuous Gaussian-falloff wave — the line nearest the pointer magnifies to 2.4× and brightens; neighbors taper 1.7× → 1.1× → 1×. The peak glides smoothly (fractional position, not per-line jumps).
  • Tooltip: after 220ms a summary card fades in ("回合 N" + the first 200 chars of the turn).
  • Click: rAF-eased smooth scroll to the turn's anchor row.
  • The cluster is a fixed control, not a minimap: it does not map message positions and stays vertically centered while you scroll.
  • Hidden on narrow viewports ( cd dsh-plugins dsh plugin --profile web add "link:$PWD/packages/turn-scrubber"

After installation, restart the existing `dsh web` process and refresh its current URL. Do not start a second replacement server.

> After any profile install, verify that `~/.dsh/profiles/web/node_modules/@deepseek-ai` was not created as a physical directory. DSH core packages must resolve through the profile fallback symlinks to preserve Cordis/Tool Symbol identity (see [deepseek-harness discussion #783](https://github.com/deepseek-ai/deepseek-harness/discussions/783)).

## Build

```bash
pnpm install          # from the monorepo root
pnpm build            # pnpm -r build → packages/turn-scrubber/lib/

The client bundle is built with the official DSH client-bundle preset shape (window.__ModuleLoader__.load), a purity gate that forbids non-platform @deepseek-ai value imports, and CSS Modules inlined as `` tags. Virtual ids are repo-relative — the built bundle contains no machine paths.

Known boundaries

  • The cluster overlays the message area's right padding (the chat column is centered); on narrow windows it may overlap text.
  • Compaction removes anchors of compacted turns, so their markers disappear — expected DSH behavior.
  • The rail is a per-conversation overlay for the active session.