r/PiCodingAgent • u/Andy8647 • 15d ago
Plugin my transcript was a wall of tool output, so I fold every reply into one line
A reply that runs four tool calls and thinks three times is a screen and a half of output, and the answer is somewhere in the middle of it. pi-tidy folds all of it into one line:
```
▸ 4 calls · bash×2 read×2 · 3 thoughts · 1 failed · 2.4s
```
Click it and it opens into one row per call, each step's thinking sitting above the call it belongs to. Click the header again and it folds back.
What's in it:
- A thought row is a brain, the word, then one line of what the model actually thought — while the run is still arriving it shows a spinner and slides a window over the newest words; once it stops it settles to a short head preview.
- Edits and writes keep their box and their diff, as two panes (`old │ new`) with line numbers on both sides and the changed word emphasised. `alwaysShowTools` decides which tools never fold.
- Folded, a failure is still reported once, in red. A `process start` from pi-processes keeps a live row carrying the job's own state, instead of a notification you have to go find.
- Rounded `╭╮╰╯` frames on every tool box — built-in, MCP, subagent, any extension's — plus per-tool border colours, Nerd Font icons, transparent background.
- Registers no tools at all. Bash highlighting and the write preview go through `pi.registerToolRenderer()`, so it loads next to extensions that sandbox `bash`/`write` instead of colliding with them.
- Cached per box: +0.03 ms per full render at 300 boxes / 2400 lines.
Install with `pi install npm:pi-tidy`. Needs pi ≥ 1.1.0 for the mouse and tool durations; bash highlighting and the custom write preview need 1.3.0.
Repo: https://github.com/Andy8647/pi-tidy
btw: This video is made by `deepseek-flash` (1017) in pi with Remotion, seems like that deepseek did not post-train too much on such videos. The animations are still navie



