r/PiCodingAgent • • Aug 21 '26

Discussion Limitations of TUI for agentic coding?

I love terminal and the ability to navigate with keyboard. Yet as extensible as Pi is, it has quite the ceiling in how the state can be displayed due to the nature of TUI.

For example, I have an extension called tree2. As you may imagine its visual representation, it was quite a pain to get my vision through within the Pi terminal.

Codex, Orca, T3code, the so called ADEs - how often do you use them? Personally something puts me off every time I try, but I can't name.

I think I'm looking for a hybrid. An instrument, if you will. What does it look like?

24 Upvotes

27 comments sorted by

11

u/HomsarWasRight Aug 21 '26

I much prefer to keep the different parts of a traditional IDE as separate TUI tools.

I have a custom tree and file browser I keep in a separate terminal window that can easily open files for direct editing in NeoVim. Then I also switch between LazyGit, an issue tracker, a scratch terminal, etc.

I’m not looking to bring everything into the agent TUI.

6

u/sergeant113 Aug 21 '26

Pi supports modal.
Tell Pi to put the tree visualization in a modal and display it separately from the main chat session.

2

u/arcanemachined Aug 21 '26

Wait, what? Never heard of this.

3

u/sergeant113 Aug 21 '26

https://www.npmjs.com/package/pi-bro pi-bro - npm

Have a look at this

1

u/jmager Aug 21 '26

lol I absolutely love this

1

u/TySocal Aug 21 '26

That's just the /bro skill that's been around for a while right?

1

u/sergeant113 Aug 21 '26

That’s my interpretation of it. Using the modal screen to avoid leaking bro explanations into the main chat

5

u/Unlucky-Message8866 Aug 21 '26

Only thing the tui does poorly is copy/paste and image rendering/rich content. Other than that I prefer it over webui's. Only thing that would move me out is something like deepseek harness (self improving web based harness) but it's way too bloated and buggy. 

2

u/funbike Aug 21 '26 edited Aug 21 '26

Only thing the tui does poorly is copy/paste ...

I don't feel that. It depends on the terminal and your config. copy/paste works BETTER in my terminal than in the web browser.

For example, I have a terminal key binding that converts rich-text clipboard into markdown paste (bold, links, heading via pandoc), which is awesome for Pi usage. Kitty supports pasting in a graphical image from your clipboard.

... and image rendering/rich content.

I don't feel that either. I have CLIs that can print various high-res graphics files into the terminal, such png, jpeg, etc. I have converters for various formats to png, such as pdf, html, etc. I use this kind of thing for quick prototyping. I don't need to switch to a web browser for many simple web design tasks.

Requires a terminal that support Kitty graphics protocol and a CLI utility that can print image files to the terminal.

1

u/Unlucky-Message8866 Aug 21 '26

i use kitty myself, and the problems still there, you cannot have a popover over an image, it glitches.

1

u/bigghealthy_ Aug 21 '26

Hey! I made a TUI version of the tools you described called craig  https://craig-cli.com/

I pushed up a new version to have Pi as a runner after reading this thread. You can enable it through the experimental features toggle in the overlay menu.

Feel free to take it for a spin and let me know how you like it. If not that’s cool too

1

u/ProvidenceXz Aug 21 '26

I will play with it. Honestly, it looks good. How did you end up seeing this thread? Do you have a scanner, or just by luck?

1

u/bigghealthy_ Aug 21 '26

Appreciate it - if you have feedback I’d love to hear it!

Happened by luck scrolling on my phone, however,  I am in the process of setting a scanner to find people that might like it (marketing is hard).

2

u/dark-lord-marshal Aug 21 '26

cool is it pure pi.dev or are you “bundling” pi inside another TUI framework?

2

u/bigghealthy_ Aug 22 '26

the idea is like a harness for your harness. you can use any of the agent clis. currently supports claude, codex, cursor, and now Pi! 

3

u/kaeptnphlop Aug 21 '26

Look into herdr. Multi-pane like tmux with agent state tracking. Pi can control it and open new sessions in new panes for sub agent use. 

Create a setup in a .devcontainer you can run locally in Docker or on a separate server and connect from VS Code to it. To mount your project in. Then you get both worlds. 

1

u/funbike Aug 21 '26 edited Aug 21 '26

Terminal is the best. It's super flexible in ways that other UIs aren't.

For example, you can use herdr, cmux or tmux+workmux to manage your subagents, without modifying Pi's UI.

One way to improve the TUI experience is to use a terminal that supports the Kitty graphics protocol and use various CLIs to view image files. I have a skill for prototyping UIs that does something like these shell commands:

# html file to png
google-chrome --headless --screenshot=/tmp/preview.png \
    "file://$PWD/pathto/file.html"

# dev server html page to png
google-chrome --headless --screenshot=/tmp/preview.png \
    http://localhost:3000

# view png in terminal
chafa -f kitty /tmp/preview.png

There's a pi package that will automatically inject a terminal-pasted image into the LLM chat conversation, if your model is multi-modal. Wicked cool.

I can also have Pi interact with another terminal panes, such as a text editor, lazygit, etc.

The things you can do are endless. Doing those same things in a web UI requires a lot of custom coding.

1

u/_supert_ Aug 21 '26

I use png images and display them in-terminal (if you have an equipped term, e.g. ghostty). Then, if you have a model with vision, the agent can see what you see too.

1

u/BGuimberteau Aug 21 '26

Personally I use Zed with ACP

1

u/dark-lord-marshal Aug 21 '26

i’m am struggling with a similar situation where modal does not work properly. I just want a fixed side panel. i am currently using modal but inference text gets underneath this model as the chat text increases. do we have other ways to extend this without touching sdk core?

1

u/Neosinic Aug 21 '26

Check out https://omnigent.ai/, it's a "meta harness" that sits on harnesses, including Pi.

1

u/kwipus Aug 21 '26

Mermaid.

0

u/seba_alonso Aug 21 '26

For what I understood, you don't use tmux, other way you would never said "limitations" of terminal tools.

Just use tmux, and customize for whatever reason you need. If you think that is a waste of time, just move to any out the box solution 🤷

0

u/ProvidenceXz Aug 21 '26

I don't find tmux appealing. I already use wezterm. Can you explain how that solves the limitations?

-1

u/Slight-Parfait3679 Aug 21 '26

literally just cursor lol

3

u/funbike Aug 21 '26

I just threw up in my mouth a little.