Allo Router
Allo Router plans which AI plan should take which job before limits reset. It prints a proposal. It does not run the jobs.
If you pay for more than one AI plan, each one has its own limit and its own reset. Capacity on one can expire while another has already run out. You list your plans, what is left, when each resets, and your jobs. Allo Router ranks the plans by how much is left against how soon each resets, and tells you where each job should go first: the plan closest to expiring that can still take it.
It reads two files you keep. One is your plans: what is left, when each resets, and which kinds of data each may touch. The other is your jobs. You type the readings in. A reading older than 24 hours is flagged. You start the jobs yourself.
It does not call a plan, log in, send anything, or make a network request. Nothing is started for you.
Install
Needs Python 3.9 or newer. No dependencies. Install with pip install . from a checkout of the repository (not on PyPI yet), or run python3 allo.py directly.
mkdir my-router && cd my-router
allo-router init # writes pools.json and tasks.json
allo-router # prints the plan
allo-router set <pool> pct=55 # record a fresh reading
Without installing, replace allo-router with python3 /path/to/allo.py.
Free and MIT licensed. Source: github.com/eudotong1/allo.