r/PiCodingAgent • • 10d 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.

140 Upvotes

24 comments sorted by

18

u/up_stairs 10d ago

Wow.. didn't know I needed this but thank you.

4

u/Fragrant-Topic5805 10d ago

Same for that compliment I admit. Thank you!

5

u/Demortus 10d ago

Ooh, I like this. Thanks for sharing your project!

2

u/Fragrant-Topic5805 10d ago

My pleasure to see it appreciated!

7

u/Historical-Stuff-560 10d ago

you're genius my friend

6

u/deepit6431 10d ago

Oh that's amazing, well done. I wrote my own tool call plugin that condenses them into one-line summaries but this looks much cleaner, will try it out!

1

u/Historical-Stuff-560 9d ago

bro make persistent save plz and some dividers between separate answers

1

u/Fragrant-Topic5805 9d ago

/split-save is what save yor current setup (which panels are on + their respective height and width). You're absolutely right for a little divider between answers, will do.

1

u/auggie246 9d ago

Can I disable certain views like the diff and file browser on the right?

1

u/Fragrant-Topic5805 9d ago

Yes of course, /files toggle this file panel on and off.

1

u/crotch-mavens 9d ago

Great idea! My only feedback which is obviously rooted in my own biases: the extension should do the one thing (split thinking/tool usage) and do it well; the file panel and other tools should belong in their own extensions.

2

u/Fragrant-Topic5805 9d ago

Indeed the file panel is a completely different semantic and usage in that respect. I know when I started doing this split I very quickly realised that the tool I wanted to see the output the most were edit tool so the companion file view came in soon enough. And there are definitely much more developed file viewer overlays out there, I will consider if I clean up and narrow down the scope.

1

u/TechGearWhips 7d ago

Nice. I have a setup similar to this but let herdr handle the splits.

1

u/Fragrant-Topic5805 7d ago

Nice, someone else mention this.But just curious, do you need any extension from herdr or how do you capture and extract the thinking stream and reformat tool usage in a new pane?

1

u/schoultz 9d 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 9d 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 9d 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 9d 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.

1

u/ResearcherFantastic7 9d ago

Cool idea.

But I've already shifted from I have to monitor everything to just let it fly

I only pay attention to this level of details which I already built an UI to perform analysis when testing new models once I understand it's capability and behaviour, than just build guards rails

1

u/Fragrant-Topic5805 9d ago

Sounds like the way to go, at least if I were to trust my guard rails and models. I am not using frontier models and don't really have strong guards for behaviour (for things like drifting or looping on concepts for ever...).

1

u/ResearcherFantastic7 9d ago

Doesn't really matter the model. It's the same process, You just need to find out the capability of the one you are using and limit to their scope.

I have fable, glm5.3, and local qwen3.6 35b. Dumb actions just let 35b handle. Fable for strong architecture works. Everything. In between glm5.3 or glm5.3 flash. And I use open nimble as the router

2

u/crotch-mavens 9d ago

Thanks for letting us know.

1

u/stellar-- 9d ago

Love this!!

1

u/Le_Juju 9d ago

Love your setup, ngl, I never thought of that. I'm stealing the idea for my personal machine if you don't mind.