Oh My Pi ❤️
Written on
This note goes to all those of you who still use the default application provided to them by their LLM provider. I suppose, mostly that's going to be users of Claude Code and Codex: there is a whole world of harnesses out there for you to explore!
I know, I know, you have better things to do! Like get work done. Bikeshedding harnesses is the least of your priorities, I get it! Let me counter with the following: with a better harness you'll get better work done, probably faster too! I suppose it's a bit like learning vim. Once you know it, you suddenly become so much more productive, and before you have invested the time, it feels like a totally pointless exercise. Pointing and clicking works too!
Ok, ok. Since this is a post about oh my pi (omp is what it's usually known by), I'll cut to the chase.
I have done quite a lot of experimenting with different coding harnesses. From opencode, the ones built into various editors like those of JetBrains or the ones in VS Code and Zed, to pi, to the ones provided by DeepSeek. They all work fairly well. After all, LLMs have gotten quite exceptionally capable. The best one I have found by far is omp. The reasons I love it so much, and I think you'll love it too, are:
- When using
omp, the LLM doesn't seem to get stuck or stop working half-way through nearly as much as in other harnesses (using the very same LLM, mind you!). This was the initial reason I fell in love withomp. In many other harnesses, when asking for a moderately complex task to be done, or a task consisting of a set of partially overlapping tasks, only some would end up done even though the harness would tell me it was complete. WithompI end up with all my work done for me. ompdoesn't get distracted. Maybe this is a character flaw of mine, rather than a weakness of other harnesses, but I usually have new ideas and supplementary info I'd like to provide an LLM with while it's working. Using most other harnesses I have experienced that the more (partially) relevant input I give it while it is working, the less likely it is to stay on task.omp, on the other hand, takes my input, notes it in its list of things to look at and do, and then chugs on as if nothing has happened.omphas an advisor mode which is the most amazing invention since agents were introduced in my opinion. It lets a second LLM read along and correct the one thinking, planning, and implementing while it's working! As a result, I see way less over-engineering, way less scope creep, way less drifting into some tangential work that was never asked for.ompalso has the notion of different roles and you can assign different models to those roles. As such, search can be done by a cheaper model, whereas gnarly implementation work can be done by a more sophisticated model. But more than that, the config doesn't need to be set in stone. When work is assumed to be relatively straightforward,ompadjusts the model and reasoning level for me on the fly, and likewise, if something turned out to be complex, it brings the bigger models to the table.- oh, and
omphas avimmode too 😀
As you can tell, I am quite enthused!
If I have sparked your interest, you can give it a shot here: https://omp.sh.