Cool idea, but I keep wondering why there’s no browser version of LM Studio. LM Studio is cool, but setting everything up on ONE device is of no value to me.
I happen to be somewhat familiar with OpenCode and am considering using it as a personal AI workspace (some chat & agentic behavior,
not worrying about initiative behavior just yet, I’d try to DIY memory with local files and access to my notes) because it seems to have a decent ecosystem.
Pi appears to have a smaller, less “pre-made” ecosystem, but with more flexibility, enthusiasm and extensibility.
Is this correct? Should I look towards Pi over OpenCode? What are the UI options?
I've been using PI for this - just switch to "oh my pi" and am liking it!
Honestly, it's been a dream, I have it running in a docker-sandbox with access to a single git repo (not hosted) that I am using for varied things with my business.
Try it out, it's super easy to setup. If you use docker sandbox, you can just follow what is necessary for claude, spin up the sandbox, exit out, exec into it with bash and switch to Pi.
I have the same question as you, but I want to add that I used OpenCode for general tasks like writing, organization and such but with a context of .md files and it works wonders. And like you, I am considering trying a better suited harness for this task.
I looked a bit into the reasoning for Pi’s design (https://mariozechner.at/posts/2025-11-30-pi-coding-agent/#to...) and, while it does seem to do a lot of things very well around extensibility, I do miss support for permissions, MCP and perhaps Todos and a server mode. OpenCode seems a lot more complete in that regard, but I can well imagine that people have adapted Pi for these use cases (OpenClaw seems to have all of these). So it’s definitely not out of the race yet, but I still appreciate OpenCodes relative seeming completeness in comparison.
As soon as your agent can write and execute code, your permissions are just a security theater. If you care, just do proper sandboxing. If not, there are extensions for that.
> MCP
Again, Pi is extensible.
pi install pi-mcp-adapter
Now, you can connect to any mcp.
> and perhaps Todos
At least 10 different todo extensions. Pick which one you like. If you don't like any of them, ask Pi to write one for you.
> and a server mode.
Pi has rpc mode, which is a kind of server. If that's not enough, you could extend it.
> OpenCode seems a lot more complete in that regard,
Yes, but good luck working with Opencode if you don't like their plan-mode. Or todo support. And MCP. You pay their cost in complexity and tokens even if you don't use them or you don't like how they work.
> but I can well imagine that people have adapted Pi for these use cases (OpenClaw seems to have all of these). So it’s definitely not out of the race yet, but I still appreciate OpenCodes relative seeming completeness in comparison.
There's also an oh-my-pi fork if you want an out-of-the-box experience. Still, in my experience, nothing beats Pi in terms of customizability. It's the first piece of software that I can easily make completely to my liking. And I say that as a decade old Emacs user.
To be honest, none for what I am using for (organizing documents, cross-referencing information, writing summaries of documents). Howeverm it feels wrong using OpenCode for this. I somehow think there must be a better way of doing this.
Can you shed some light on the speed difference of the direct integration vs. ACP?
I’m still looking for a generic agent interaction protocol (to make it worth building around) and thought ACP might be it. But (and this is from a cursory look) it seems that even OpenCode, which does support ACP, doesn’t use it for its own UI. So what’s wrong with it and are there better options to hopefully take its place?
I've used ACP extensively because agent-shell in emacs uses it, although the Anthropic license change means I'm not sure if I can continue to use Claude through it without getting banned. I kind of wish it integrated more tightly but also you can't really expect someone to have magit involved such that agent-shell (or the like) starts interacting with emacs directly. I'd love it if it did though.
I've started using OpenCode for some things in a big window because its side-by-side diff is great.
Yeah, ACP adds another layer of marshaling/unmarshaling (or two-one on each side) and can be slower than API calls on occasion. Like MCP, it adds JSON overhead that doesn’t really need to be there.
The best option will always be in-memory exchanges. Right now I am still using the pi RPC, and that also involves a bit of conversion, but it’s much lighter.
Logseq is probably the closest we had, but it doesn’t quite reach the Obsidian polish and is now moving off of plain text files (somewhat sadly but understandably).
I do this too. Relatively small changes, atomic commits with extensive reasoning in the message (keeps important context around). This is a best practice anyway, but used to be excruciatingly much effort. Now it’s easy!
Except that I’m still struggling with the LLM understanding its audience/context of its utterances. Very often, after a correction, it will focus a lot on the correction itself making for weird-sounding/confusing statements in commit messages and comments.
> Very often, after a correction, it will focus a lot on the correction itself making for weird-sounding/confusing statements in commit messages and comments.
I've experienced that too. Usually when I request correction, I add something like "Include only production level comments, (not changes)". Recently I also added special instruction for this to CLAUDE.md.
reply