Hacker News new | ask | show | jobs
by toddmorey 27 days ago
Does anyone use an agnostic TUI or harness for development tasks that can fairly seamlessly switch between providers?

I'm wanting local context in the spirit of "here are 3 AI providers available, for coding tasks use this one... and for writing prose use this one... and for generating images use this one..." etc.

12 comments

https://opencode.ai/

OpenCode was the first agent harness I used, and I have always like it. You can configure a wide variety of providers, but it's open source and has a number of core contributors.

The other opinionated option is Pi (the Pi agent harness). This is a great lightweight option and also supports a number of providers. You can also use local model servers.

have used both pi and opencode for the last 6 months, haven't opened a proprietary harness (cc, codex, cursor) in that same amount of time. right now i'm on pi and i can switch seamlessly between any model across any provider i want, even mid session. can even point them at locally running models.

i think people don't realize how much better life is over on this side, cc and codex rely entirely on vendor lock in imo.

Does a mid-session provider switch result in loading the entire context into the new model, inflating session cost?

I don't think I understand the token/cost implications of this feature

Its nice if you used local, but needed å beefier modell, or more context Window. It will eat input tokens, but you do that all the time unless you have input caching.
Yes you pay a big burst right after switching. After that, everything is cached and it's smooth sailing.
Try the role-model Pi extension I built, to let Pi determine when to switch to a different model in your pool.

https://github.com/try-works/role-model

Haha I pretty much commented the same thing one minute apart.
You can use Claude Code with a self hosted model no problem. I don't believe you can switch during a session though.
codex is open source https://github.com/openai/codex/ it's definitely geared towards openai but it is completely open source
Are you using openrouter or something else?
why did you switch from oc to pi?
i like the more minimal design of the tui, feels more integrated with my existing terminal workflows. oc always looked a little out of place. i really like pi's extension ecosystem as well.
Same here. Moving from OC to Pi also taught me one more time that less is more and I don't need most of the features I thought I needed.
I’ve written a skill for codex and Claude code that designates an orchestrator on the primary worktree and is agnostic about what type of AI workers are on the N supporting worktrees.

The orchestrator knows which AI client is running in any given worktree, so it would be fairly easy to designate which AI should receive what kind of tasks.

You run either Claude or Codex in tabs for each work tree. I do have some AI TUI specific instructions, for instance codex is primitive at monitoring compared to CC. So, there are additional notes for Codex workers on how to properly monitor for new "mail."

You work with the orchestrator on the primary worktree and allow it to delegates tasks to the workers and answer their smaller questions.

It surfaces results and assisting them with context clearing when needed.

The orchestrator and workers communicate using a simple shared file system under tmp/* and together they can handle a big and varied workload.

I use iterm2, so I’ve also added iterm2 specific python that allows the orchestrator to “kick” a worker or perform tasks otherwise veto'd by the TUIs (ie /clear) by modifying the input and submitting it.

Is this open source?
It is not, I suppose it could be but it would be good to get feedback first. If you see this please shoot me an email.
You can do this with role-model, the model router I've built. It routes based on roles and tasks among other things. It has an extension for Pi that lets your coding agent specify request metadata for roles and capabilities etc.

https://github.com/try-works/role-model

If you haven't yet you should give a chance to https://pi.dev

I've been using it exclusively (and extending it, see https://a.l3x.in/ai) for months with mainly GLM-4.7 then 5.1 and now 5.2 and I could hardly be any happier.

I'm still working on a "Github/Forgejo first" based workflow but also quite happy with it already, basically most of my sessions run as a ci/cd job (triggered by "/pi" comments) and generate PRs or push commits to PRs, see https://github.com/shaftoe/pi-coding-agent-action

Circus Chief allows you to do this: https://github.com/ferrislucas/Circus-Chief

(Full disclosure: it’s my project)

I’ve been using Crush with Openrouter and have good success lately

https://github.com/charmbracelet/crush

I use the one that I've been developing since 2023. It's intended to be used in exactly this spirit! Written in Go, has image support (which has yet to be fleshed out).

It supports MCP (unlike Pi), sandboxing (with user-mode networking), and runs efficiently at huge contexts.

https://codeberg.org/mlow/lmcli

(The screenshot in the folder is a little bit out of date, but is still representative of the overall look)

I stumbled upon https://omp.sh and haven't really felt the need to ever use anything different.
"omp is a fork of Pi by Mario Zechner, rewritten as a coding-first surface: sessions, subagents, slash commands, extensions — all TypeScript..."
Also Goose from the Agentic AI Foundation (AAIF) (subsidy of the Linux Foundation).

https://goose-docs.ai/

I use Kilo Code for that it's based in OpenCode and it's OpenSource.

I prefer having a GUI for diffs and session history,but if you prefer TUI you can just use OoenCode

You can use Aivo with Claude Code. But… if you want freedom, I’m finding Pi to be frankly amazing. I detested OpenCode.

Pi with some of the top plugins and hashline edits is very good. I stopped using MCPs because of their post about it, and instead rely on better command line tools.

Get the OpenCode Go subscription, add the plugin to enable Go’s caching, and my god, you’ve got nearly unlimited M3 calls. It’s not Opus-level quality, but that’s why you plan and review with better models. Open Router is also a good pairing for Pi.

To your specific request: sounds like you want custom agents :) That’s really easy to build in Pi, just ask it. My planning agent is basically a sub-agent-driven workflow that GLM orchestrates. You can have specific agents run specific models for specific tasks.