Comment by apatheticonion
7 days ago
For me, the only utility OpenRouter gives me is billing consolidation - I don't really need the routing capabilities because I use Bifrost for that.
As a router, it's not very feature rich. For example I restricted the available models to the ones I want to use however the `/models` endpoint still lists all the models, making my LLM client list the 200+ models available on the service (even though they will throw an error if I try to use them).
With Bifrost, I can also create model aliases with custom configuration - for example I can create a model alias `deepseek-v4-flash-nothink` which disables thinking. I can create `deepseek-v4-flash-caveman` which injects the caveman skill (to save tokens) etc.
Plus I can contribute to Bifrost, which I can't do with OpenRouter.
Did you look at LiteLLM at all? It seems fine but Bifrost looks interesting too.
Yeah I looked at it, LiteLLM is functionally more mature.
The only reason I didn't go for it is I'm not a fan of Python dependency management, Bifrost is just a single executable that uses nearly no memory and is lightning fast.
LiteLLM is bad. Shit performance, buggy, and none of it surprising if you look at the tangled mess that is their codebase.
Can you configure Bifrost using entirely config files without the web interface? Can it run without a database or anything stateful? I'm using LiteLLM but it is not trivial to run.
You can configure it with just config files.
Database is optional, if you add one, you get advanced caching.
It's just a single executable.