ccdwyer/diff-seismograph

Claude Code 插件实时绘制工作会话编辑的终端地震仪,大幅变更时闪出 QUAKE 横幅,并提供 /quake 仓库热力图。
ccdwyer/diff-seismograph

Diff Seismograph 挂接 session.start、command.run、tool.call 和两个 ui.render 组件,在提示列上方显示双通道状态带,把新增和删除的行绘制为逐渐衰减的地震轨迹。大约 100 行或更多的编辑会触发 QUAKE 横幅,/quake 命令会打开面板,显示完整的工作会话轨迹和按字节数为已跟踪文件调整大小的 squarified treemap 热力图。它从 Claude Code 自己的记录中统计编辑,只在打开 /quake 时在本地运行 git,把计数存储在工作会话插件状态中,不会通过网络发送任何内容。
请先查看作者 README 确认 marketplace 和插件名称;命令可能随仓库结构改变。
claude plugin marketplace add ccdwyer/diff-seismograph claude plugin install diff-seismograph

Band trace for small edits, a QUAKE M4.3 banner on a 150-line Write, then /quake with the repo heat map. Watch the MP4
A live seismograph of your session's edits, drawn in the terminal.
+added −removed · files.◆ QUAKE M4.7 server.ts banner for a few seconds./quake opens a pane with the whole session's seismograph and a heat map of the repo: a squarified treemap of every tracked file, sized by bytes, where the files changed this session glow from purple through red and orange to white-hot. The hottest boxes are labeled with their +added −removed./quake band off hides the band; /quake band on brings it back.Edits, Writes, notebook edits and shell commands that change files (via Claude Code's own bashEditDiff record) all count. Failed or staged edits don't. When Claude Code couldn't measure a change (a rewrite too large to diff, or a shell diff it skipped or cut short), the file still lights up and is marked as having unmeasured changes. Line counts are never invented: a change too large to diff (a 10 MB+ rewrite, a file the shell diff left unexpanded, or a git checkout/pull/reset whose diff was skipped) counts as a quake at the threshold with +0 −0, partial. A shell diff Claude Code shares across parallel calls is counted once. Backgrounded shell commands carry no diff, so they don't appear.
The band and pane draw with Raster cells, so they need a terminal; on the desktop app you get a text sparkline and per-file totals instead.
Events this mod hooks, as claude plugin validate reads the module:
session.startcommand.run{command=quake}tool.callui.render{component=AbovePrompt}ui.render{component=Pane, requestId=diff-seismograph}Engine calls it makes: $.clock.every, $.command.register, $.fs.stat (via realPath), $.process.run (via scanRepo), $.session.cwd (via scanRepo), $.state.get, $.state.set, $.ui.blit (via tick), $.ui.open, $.ui.resolve.
Its tool.call hook only observes: it reads each finished call's record of changed lines and never refuses or rewrites a call.
It runs entirely on your machine and sends nothing over the network. It counts added and removed lines from Claude Code's own records of each edit, and runs git locally (git rev-parse and git ls-tree) only when you open /quake, to size the heat map. Counts live in the session's plugin state; no file contents are stored.
The mod collects no analytics or telemetry, and its author receives no data from it.
Full policy: PRIVACY.md.
MIT
/plugin marketplace add ccdwyer/claude-mods
/plugin install diff-seismograph@ccdwyer-mods
/reload-plugins
claude plugin validate .
claude plugin test .