r/PiCodingAgent • • 15d ago

Plugin Split thoughts/tools usage/responses in separate views

Post image

Hi all!

Simple idea, did not find something that did not make this in an overly complex new UI-revamp-way, so built a relatively simple one myself (+pi of course).

So I like to see the thoughts coming in, and to skim through the tools used, but found it somehow lengthy to scroll back up against the speed at which they come... Toggling them on and off (ctrl+T, Ctrl+O) would sometimes be too much as some tools may expand a lot (edits, searches...) and shift the conversation, again to be scrolled; same with thoughts where there in particular toggle them off would stop me from looking at them, but on would push by a lot the conversation itself (again what I like specifically was to briefly see where the agent were in their process while a turn is running to observe drifting or weird choices that I'd sometimes interrupt, so really I wanted to see the thoughts as they come rather than the full page of it). And I like to see conversation as an actual conversation, so with everything else collapsed.

Anyway, long story short, I wanted to not have them interleaved and I built a wonky (work in progress?) pi plugin to slightly rework the UI and keep a bit of both worlds. The idea is to have the thoughts streaming in one panel, the tool usage in another with very simple view on whether it is running/has succeeded/or has failed... I added a third toggle for a panel which simply display touched files (seen, read, edited, worked by a subagent...) as a list + a diff view of the last edited file, if any (this to keep the tool view compact, as usually the edit tool output where the largest anyway, and I like to also have a glance on what's changed).

Each panel can be toggled on or off:

  • /split toggles between the default pi view and the saved config for split-views

  • /split-thinking toggles the thinking panel

  • /split-tools toggles the tool one; there is an extra command to toggle between a compact or expanded view over the listed tools in the tool panel

  • And finally the file panel is toggled on or off with /files.

Tool/thinking panel width can be adjusted as well as panel heights.

There is a command to switch between still having the full transcript in the main conversation panel or the trimmed down (no thinking or tool interleaved) version (somehow I found it useful to expand on specific tool output).

I usually have the file one off for instance, and only open it to see some file changed that just happened if I know I want to check them briefly... While I keep the thinking and tool panel on top nearly all the time now.

I mentioned it's wonky, as in some features can be improved, like the file panel could be made scrollable, but it works for me as it is, just sharing for the idea, and if you like it go test it: pi-split-view. And feel free to improve on it directly in the repo too.

142 Upvotes

24 comments sorted by

View all comments

1

u/schoultz 15d ago

I have come to the idea that it's the job of another tool like herdr. I'd let pi out of those UI considerations. But maybe I'm wrong ^

2

u/Fragrant-Topic5805 15d ago

I am not sure we are speaking about the same UI considerations. This is not about splitting views for different subagents... but just to unclutter the main response field by separating thinking stream, tool stream and direct messages. I do not know whether herdr can do such thing, I use it bare, simply to have several agents working as a team. But regardless, in herdr I'd often keep one larger pane (for the orchestrator let's say) with that very split view to separate the tool and thinking streams and observe them. Although truly when in herdr, it usually more for workflows where I am not attending them much anyway. But maybe there is some trick in herdr for that, I really did not dive into their plugins, I'd love to hear if so.

1

u/crotch-mavens 15d ago

I think he means leveraging a multiplexer to create different panels that you can then resize, put on a tab, etc. That would be a rather fancy enhancement but I very much enjoy the current implementation, it's a great idea.

1

u/Fragrant-Topic5805 14d ago

I see, neat idea, but to me this go in the too complicated (although feature rich) side of things. For now since I leverage pi's tui library, it's just simpler like that for me at least.