feat: add Pi provider integration via RPC #6685
Replies: 23 comments
|
yas before anything else pls 🫶 |
|
Could this use core Right at the top of Pi RPC docs it says:
|
Think at this point you are not making a wrapper anymore, you're making a pi-desktop app. |
|
Yes I realized this this morning, but also I know that Theo put everything into making this app efficient and performant (mostly in UI sense). This is then a completely architectural questions If something like this would even be wanted in T3 code. Considering sometimes a single instance of claude code or opencode can use more than 1GB or RAM, while I've seen Pi sessions run even the biggest sessions at 100-300MB, then putting them into one process, one could have a lot of sessions running without their computer breaking a sweat. |
But also technically if T3 code supports Pi once, it would probably be quite easy to make a ts file that runs all Pi sessions inside one process and exposes to T3 code normally. |
|
I'm going to create a PR that adds the groundwork for this (no functionality changes yet) to keep it small and reviewable. |
|
This is super interesting :) |
|
Perhaps would make sense to use https://github.com/svkozak/pi-acp instead of a pi specific implementation. |
|
so this getting implemented or nay? |
|
I moved over to Paseo to be able to work with Pi on the desktop. |
Paseo looks nice actually. Why do you want to move away from it? |
|
I made a fork based on this issue and added Pi support. I would open a PR if Theo would actually like us opening those, check the PR template. 😂 Anyway, here is my fork: MajesteitBart/t3code Summary of what's addedAdds Pi Agent as a first-class T3 Code provider using Pi RPC mode.
|
|
I had just found this when I started working on it. |
|
Looking forward to T3 Pi support, thanks guys for all the work! Personally, I did a shitty vibe-coded Pi web gateway myself (as probably everyone else has 😄 ), but this will be a game changer for me. |
|
Looking forward for official pi support in t3 code. Theo teased t3 code mobile app. Adding pi support before the official release of that would be a killer feature. I am running local models with small context window and pi is the only agent that is minimal and less bloated. Personally very excited for t3 code mobile app as that would fit in perfectly into my workflow. |
|
@melounvitek I tried your gateway, and it has nice UI and I like how it integrates into existing Pi! I just opened it on my machine and all my Pi sessions were visible there, even my skills worked. I maybe will keep using it until something better will apear. Sad it's in Ruby, I do no understand why would anyone use Ruby in 2026? 😆 |
|
Mine is not Vibe Coded - I think I might open a PR - the main issue is - there is just no way to do a proper provider and it not be 1000 lines and I know how @t3dotgg feels about that. So probably not gonna happen. It's smaller than the OpenCode repo in the number of files added and touched - but I just don't see a way around it. Tried really hard to follow same conventions. https://github.com/1337hero/t3code/tree/feat/pi-provider The easier solution however would be to just offer a much smaller provider that doesn't cover everything - but you can't do that properly. I use a local models to experiment. While I bounce between my Max 20X Claude plan and 100 OpenAI plan - the main reason I tinker with Pi is as a local model harness. And it might be a lot easier to build out a provider for local models. I think that could be kept a lot smaller and tigther. You just don't want some huge thing that is difficult to maintain for either developers or Claude. |
|
Any updates on this from official maintainers? |
|
I'm not sure Pi is on their radar. I closed my PR as there is still more work to do. I might try again. |
|
Hmm, looks like it's probably not gonna happen in a near future, right? :( My shitty Pi-specific gateway I mentioned earlier actually got better (and is no longer in Ruby), I now use it as my daily driver. But having T3 code Pi support would really be great. Hope it is gonna happen eventually! |
Yeah they said they're not adding providers right now: #4355 (comment) |
|
Just wanted to add my two cents that I would really like this feature. pi is cheaper than opencode because it bloats the context less, and I like it much better. I have use cases where I hugely use the customization and have the system prompt rewritten, and it would be really nice to have it in t3 code, specifically the ability to access and work with it remotely. I have a service I threw together that works, but it's not as nice as what this would give me (connection from all my devices in the same place I do other coding). |



Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Implement Pi as a first-class provider in T3 Code.
There is already a working reference implementation on my fork that can be used for guidance:
IgorWarzocha#1
Do not treat that PR as something to merge directly. Treat it as a reference for architecture, failure cases, and scope.
The goal is to add Pi cleanly through T3’s existing provider/orchestration model rather than bolting on a Pi-specific path.
What to build
Add Pi as a real provider across the stack so that:
Implementation direction
Use Pi in RPC mode.
Do not embed Pi in a one-off way or create a Pi-only frontend flow. The implementation should fit the same general shape as the existing provider stack so future providers canfollow the same path.
The work should roughly cover:
Important constraints
Please keep the implementation aligned with how T3 already works.
Specifically:
Pitfalls to watch for
These are the main failure modes to avoid:
Those should not render as empty assistant messages in chat.
user-visible answer.
must clean up correctly.
on PATH.
cost or see warnings unnecessarily.
Scope guidance
An initial implementation does not need to solve every future provider concern, but it
should not paint the codebase into a corner.
A good result would:
Non-goals for v1
These do not need to be solved unless they fall out naturally from the implementation:
Acceptance criteria
All reactions