I found that opencode absolutely lets you do everything that pi does. With a few niceties in the UI on top.

Opencode doesn't even allow providing your own system prompt.