For readers wondering, OpenRouter isn’t capable of caching as effectively as DeepSeek is because they will, for instance, switch inference providers in the middle of a session.
https://openrouter.ai/docs/guides/routing/provider-selection
I stopped using opencode because it has some issues with caching, so I suppose it doesn't do this
Using this interesting framework called Cordis I've recent discovered.