The things our friends keep asking.
otterly is a small, opinionated package with a specific scope. The questions below cover what it does, what it doesn't, and where the lines are, especially around deployment and team use, because that's where people's assumptions tend to outrun reality.
It spawns the claude CLI installed on your machine and exposes its output as an OpenAI-compatible HTTP API on localhost:11434. When your app POSTs to /v1/chat/completions, otterly translates that into a claude invocation, captures the streamed response, and re-formats it as an OpenAI completion. Everything happens locally.
The package itself has one runtime dependency (ws) and ships as ~45 kB. It is not a model, not a fork, not a proxy in the cloud, just a thin translator between two APIs on the same machine.
Have a question we didn't answer?
Open an issue on GitHub. If multiple people ask the same thing, it lands here next.