Hi HN,
I built PrismCat because I got tired of not knowing what LLM SDKs (like LangChain or various OpenAI/Anthropic wrappers) were silently injecting into my prompts behind the scenes. It's often hard to debug why a streaming request froze, or why a function-calling agent returned malformed JSON, without diving deep into SDK code.
PrismCat is a single-binary, self-hosted proxy and UI designed to run silently 24/7 as an LLM "black box" logger.
How it works:
It uses subdomain routing to achieve transparent proxying. For example, if you add an upstream named openai, PrismCat exposes [http://openai.localhost:8080](http://openai.localhost:8080).
Modern operating systems and browsers resolve *.localhost to 127.0.0.1 automatically, so you don't even need to edit your /etc/hosts file. You just change one line in your code—the base_url—and everything gets captured transparently (including Server-Sent Events/streaming).
Key features: - Fully local-first: written in Go, stores data in SQLite, never sends your keys or prompts to a third party. - Interactive Playground: Tweak and replay failed requests in the UI without re-running your scripts. - SSE capture: Captures and reconstructs SSE chunks so you can inspect the raw flow. - Request Override (Opt-in): Intercept and rewrite outgoing requests/headers without code changes.
I'd love to hear your feedback on the implementation (especially the subdomain routing approach) and what features you'd like to see next!
Comments URL: [https://news.ycombinator.com/item?id=48279360](https://news.ycombinator.com/item?id=48279360)
Points: 1