The last couple of weeks, I've been actively using omp for work - https://github.com/can1357/oh-my-pi

It's a terminal interface—like claude code—that lets you connect several different AI subscriptions and automatically choose the right one at the right moment, which saves a lot of tokens.
For example, you can hook up openai codex, claude code, and cursor. The config includes nine built-in roles: default, slow, plan, smol, task, tiny, vision, commit, advisor.
default is the model that loads when the application starts and interacts with you; slow is a smart model that takes over when there's something to ponder, like architecture or conducting a review; task is the main model for solving primary tasks; commit is for generating commits, and so on.
Here's my current config:
- default - openai-codex/gpt5.6-sol
- task - anthropic/claude-opus-5-1
- commit - cursor/gpt-5.4-mini
- smol - openai-codex/gpt-5.5
Then, when we start tackling a task, omp creates a plan and iteratively breaks tasks into subtasks. The main basic subtasks will be handled by opus, while easy subtasks, like finding something in the code, will be handled by the smol role on gpt-5.5. The commit will be written by gpt-5.4-mini from cursor, which costs almost nothing.
You can also hook up your local models and delegate certain roles to them.
⠀
Over the week, it feels like I've at least stopped hitting subscription ceilings—limits are being used steadily, and everything fits within the weekly window, even though the development pace has significantly increased over the past week. In the near future, I want to connect a local qwen for super-simple tasks and see how many tokens such a system saves in a couple of weeks.