Probe0 vs Portkey

Portkey is infrastructure you deploy for an organisation: a gateway in front of your services, with governance, guardrails, and durable logs. Probe0 is a proxy that runs on my laptop and yours, sitting under Claude Code, Codex, and Cursor so their calls get cached, tiered, and capped before they leave the machine.

An AI gateway and observability control plane with an Apache-2.0 self-hosted core, plus VPC, airgapped, and managed cloud deployments.

FeatureProbe0PortkeyEdge
Setup for one developer's CLIsOne proxy plus one certificate, once. Claude Code, Codex and Cursor all route through it with no per-tool config.Point each tool at the gateway endpoint or SDKProbe0
Where prompts, cache and ledger liveOn your Mac. No Probe0 server exists to send them to.Self-hosted, VPC, airgapped, or managed cloudProbe0
Cache hitsServed from local disk. Never touch the network.Gateway cache, reached over the networkProbe0
Local model routingSends work to a model already loaded in Ollama or LM Studio, retries weak answers on the cloudOllama and self-hosted models supported as providersProbe0
Cost attributionModel, tokens, real cost, latency, and which process made the call40+ metrics, logs and traces by service and workspaceProbe0
Semantic cache inside agent tool loopsLocal vector index, strict similarity floor, refuses any conversation carrying tool callsSemantic caching is a core, mature gateway featureProbe0
What happens at the spend limitHard cap per run and per day: warns, then pauses the runBudgets and rate limits per org and workspaceProbe0
Knowing which feature saved the moneyEvery module toggles independently and reports its own savings; plan-tier advice from real usageGateway-wide metrics, logs and tracesProbe0
Provider and model breadthWhat coding agents actually call, maintained by meHundreds of providers, well over a thousand modelsCompetitor

Portkey's provider catalog is the real thing: hundreds of providers and well over a thousand models, maintained centrally, which is a scale of coverage no single-machine tool should pretend to match. What it does not address is the specific problem of one developer whose coding agents are quietly spending money on their own laptop. A gateway assumes you control the services making the calls, and I do not control Claude Code, Codex, or Cursor. They are CLIs with their own request logic, and getting all of them through a gateway means fighting each tool's configuration separately, then re-fighting it after each update. Probe0 installs as a local proxy with a certificate once, and after that every agent CLI on the machine goes through it without knowing. The ledger records model, token counts, real cost, latency, and the process that made each call, so I can see that a background agent burned forty cents while I was reading a diff.

Nothing leaves the machine to make that happen. The exact cache is a local disk store, so a hit costs no network round trip at all and works with the wifi off. The semantic cache is a local vector index. There is no Probe0 server for any of it to reach, which means the question of what a vendor retains from my prompts does not arise. That matters more now than it did: Portkey was acquired by Palo Alto Networks and sits inside their security platform, so the direction of the free and open tiers is a question worth asking them rather than me. The Apache-2.0 core is still self-hostable, and self-hosting is a real answer to the data question, but it is an answer that costs you a deployment to run and patch.

The savings modules each switch on and off independently and each report what they actually saved, because I did not want to trust a summary number I could not decompose. Local Routing sends a request to whatever model is already loaded in Ollama or LM Studio and retries on the cloud when the answer comes back weak. Model Tiering tries the cheap model first. Request Coalescing collapses simultaneous identical calls into one upstream request, which matters more than it sounds when three agent processes are running. Spend Guard sets a hard cap per run and per day, warns, then pauses rather than mailing you about it afterwards. The semantic cache refuses to match any conversation carrying tool calls, because a plausible-but-wrong hit inside a tool loop corrupts the run in ways that cost more to untangle than the call would have cost to make. Because the ledger knows real usage, Probe0 also tells you when you are paying for a plan tier above what you consume. The limits are the obvious ones: macOS only, private beta, sign-in through Google or GitHub, and no multi-user story at all.

The verdict

If you are one developer on a Mac watching AI coding agent spend climb, Probe0 is the one to install: caching, local LLM routing, per-process cost attribution, and a cap that actually pauses, all running on your own machine with no server in the path and no per-tool setup. Portkey is the better pick in one situation, and it is a real one: more than one person needs governed access to models, with certifications, guardrails, and durable logs in front of production services. That is a different job from the one your laptop has. The two also compose fine, Probe0 in front of your agents and Portkey in front of what you ship, but if you only install one thing this week, install the one that sees the calls your agents are making right now.

Questions

Is Probe0 a good Portkey alternative?
Only for the single-developer case. If you want an LLM proxy for your own AI coding agent traffic with local LLM routing and LLM cost control on one Mac, Probe0 covers it. If you need team access control, compliance certifications, or a gateway in front of production services, Portkey does that and Probe0 does not.
Can I use Portkey to cut my Claude Code and Cursor costs?
You can, but you have to point each coding agent CLI at your gateway endpoint and keep those settings working across tool updates. Probe0 takes a different route: one local proxy plus a certificate installed once, after which every agent CLI on the machine routes through it with no per-tool configuration.
Does Probe0 send my prompts anywhere?
No. The proxy, the exact cache on disk, the semantic vector index, and the request ledger all live on your machine, and there is no Probe0 server for them to talk to. Requests only leave the machine when they go to the model provider you were already calling.
Portkey has semantic caching too. What is different about Probe0's?
The index is local rather than hosted, and it applies a strict similarity floor plus a hard rule: it refuses to serve a cached match for any conversation carrying tool calls. A wrong hit in the middle of an agent tool loop corrupts the run, which costs more than the call it saved.

Get started

Switch from Portkey to Probe0