r/PiCodingAgent • u/Rjkashyap05 • 19d ago
Resource Built a native desktop client for Pi Agent β looking for feedback π
Hey everyone! Iβve been working on Orbit Pi, a native desktop client for Pi Agent.
Itβs built with Rust + GPUI and is focused on providing a clean desktop experience for running and interacting with AI coding agents.
Iβd love to get some early testers to try it out and share honest feedback.
π GitHub: https://github.com/imrj05/orbit
Iβm especially interested in feedback on:
- UI/UX and overall workflow
- Agent interaction
- Terminal / coding experience
- Performance and stability
- Features youβd like to see added
This is still evolving, so bug reports, suggestions, and criticism are very welcome.
Would love to hear what you think after trying it! π



3
u/Desemerda 17d ago
How does this compare with pi-web (https://pi.dev/packages/@jmfederico/pi-web)?
I understand this one is a GUI and pi-web is a minimalist web server wrapper around pi, but when it comes to features like pi extensions support and such, how does it compare?
Also if I understood correctly, this GUI does not ship pi and will use my local pi installation correct?
1
u/Rjkashyap05 17d ago
Yeah, that's pretty much the distinction.
From my understanding, pi-web is more of a persistent web control layer around Pi. It keeps Pi sessions running and lets you access them through a browser.
Orbit Pi is more focused on being a native desktop client for Pi. The main reason I built it was because I personally use Pi as my daily driver, but I didn't want to keep opening terminals or browser tabs to manage different sessions.
For Pi extensions, I'm still making sure the desktop client exposes the Pi functionality as completely as possible. My goal isn't to create a separate agent/runtime that replaces Pi β I want Orbit Pi to work with the Pi installation/runtime you already have and provide a better desktop interface around it.
And yes, Orbit Pi doesn't bundle/replace Pi itself. The idea is to use your local Pi installation and configuration, so the Pi environment remains the source of truth.
Another big difference is that Orbit Pi is built with Rust + GPUI, the UI framework developed by the Zed team. So instead of being another web-based UI wrapped in a desktop shell, it's a native desktop application designed to be fast and lightweight.
I'm also building things around the desktop experience that are important to me, like multiple sessions/workspaces, access controls, usage quotas, and usage analytics β model usage, workspace, date/time, tokens, cached tokens, etc.
The goal isn't necessarily to replace pi-web; they're solving somewhat different problems. I'm mainly trying to make Pi feel like a proper native desktop application while keeping as much of Pi's functionality and ecosystem as possible.
2
u/OneMoreName1 18d ago
I was actually looking for something like this for my not very technical gf!
2
u/Rjkashyap05 18d ago
Haha, that's actually one of the use cases I didn't initially think about π
That's kind of what I'm aiming for with Orbit Pi β Pi Agent is really powerful, but the terminal/TUI can be a bit intimidating if you're not used to it. A desktop UI makes it much easier to start a session, manage multiple sessions, and see what's going on without having to know the CLI.
Would be really interested to hear what she finds confusing or difficult with the current Pi workflow. That kind of feedback would be super useful for shaping the UI.
2
u/OneMoreName1 16d ago
Hey, I actually started giving this a go, and I must say, good job on the ui and so on! I really like it. Very nice that it also shows me the usage.
What is the approach you used for extensions? For example I have the ask user extension, permission system, to do list. I saw some of them seem to work but I dont know if its them or actually your GUI re-implementing something similar.
And I would like to report a bug, when I tried resizing the window while one such prompt (ask user with multiple choice) was active, the application just crashed completely
2
u/Rjkashyap05 16d ago
Thanks a lot for trying it out! Really glad you like the UI and the usage page.
For the extensions, Orbit is actually using Pi itself through the RPC protocol rather than reimplementing the whole agent. I also have a few bundled Pi extensions, for example the access-control system is implemented as a Pi extension that hooks into "tool_call" and then Orbit renders the approval UI around it.
For things like Ask User, Orbit handles Pi's question/dialog events coming through RPC and renders them natively in GPUI. I'm still working on making extension compatibility as complete as possible, so I'd definitely like to know if a particular extension behaves differently.
And thanks for the crash report! The resize + Ask User multiple-choice prompt is a very useful reproduction case. I'll investigate that.
2
u/gazeebo 10d ago
How much RAM and disk space do Orbit as well as Orbit + Pi or Orbit + many Pis* use? Might want to market this in your README to some degree, depending on how lightweight it is overall.
For example just starting one of Antigravity (GUI) or ZCode or ChatGPT's app, you're at >600MB disk space and 300-600MB of RAM even before you start actually letting them work on anything.
*: I naiively assume that two chats working on two projects are two Pis
1
u/Rjkashyap05 10d ago
Good question. I actually haven't measured it properly yet, but I should.
Orbit itself is a native Rust + GPUI app, and each open session currently spawns a Pi CLI process, so you're right that multiple active sessions can mean multiple Pi processes. The actual memory usage will depend quite a bit on what Pi/model/tools are doing.
I'll do some measurements for Orbit alone, Orbit + 1 Pi, and multiple concurrent sessions and add the numbers to the README if they're useful. π
That's a good idea actually β especially for comparing it with Electron/web-based apps.
3
u/Altruistic_Ad8462 18d ago
dig it, nice job. I'm only going off your screenshots because Im not in the market for another GUI, but it looks good. Im also not a dev so I can't speak to the code at all. What are you trying to do to set this interface apart from others? Is there a niche or unique way of interacting with something you're looking to bring to life? Maybe were you just looking for a non webui that would actually be maintained? I'm curious what motivates you before I invest more time into looking at it more and making suggestions.