As sibling said, Pi is great, and you can absolutely run it directly (there's even a plugin to use itself as a sub agent), but I mainly run it as a sub agent from other harnesses, for example running a more capable model in copilot, and then delegating simpler chunks to pi (using a cheaper model) as the sub agent. I've tried gas town and some others but never got into that way of working. I'm going to try opencode though as a less vendor specific harness than copilot/claude/gemini.