Setup guides for 27 tools and frameworks
Configs for the agents, chat apps and app frameworks developers actually use, taken from each tool’s own docs, plus recipes with code that runs.

A gateway is only useful if the thing you already run can point at it. So this week went into setup guides for 27 tools, and the docs grew from 20 pages to 46. To be precise about what that means: the three API surfaces are tested directly, including tool calling and streaming. The per-tool configs are taken from each tool’s current official documentation rather than run end to end here. If one is wrong, mail support and it gets fixed.
Coding agents: Claude Code, Codex CLI, Aider, Zed, Kilo Code, OpenHands, Goose, Hermes, OpenClaw, opencode, Roo Code, Cursor, Cline and Continue. Chat and automation: LibreChat, Open WebUI, Jan and n8n. And a new section for people building their own applications rather than driving an agent: LangChain, LlamaIndex, Pydantic AI, CrewAI, Instructor, DSPy, the Vercel AI SDK, Mastra and the raw OpenAI SDK.
Checking each config against current documentation instead of writing from memory turned out to matter more than expected. Our own Aider snippet was wrong: Aider needs the openai/ prefix on the model id and reads OPENAI_API_BASE, not OPENAI_BASE_URL. Goose does not use OPENAI_BASE_URL at all, it splits the value into OPENAI_HOST and OPENAI_BASE_PATH. Open WebUI writes its environment variables to the database on first boot and ignores them afterwards. And Instructor below 1.15.4 silently drops base_url, which means your traffic goes to OpenAI carrying a Hyphen key. Every one of those is documented now.
There are also six recipes with code that actually runs: streaming, tool calling on both the OpenAI and Anthropic surfaces, structured output, a 50-line agent loop, handling the 429 when you hit your cap, and long-context work with minimax-text-01. Every snippet is syntax-checked in CI terms, 54 Python blocks and 22 JavaScript and TypeScript blocks.
Two honest notes came out of the writing. The M-series models are reasoning models, so a small max_tokens can be spent entirely on internal reasoning and return empty content. Give them room, 2000 or more, and the problem disappears. And MiniMax does not support response_format, so every structured-output path in our docs goes through tool calling instead of pretending JSON mode works.
If you build applications rather than run agents, the pitch is narrower than the tooling suggests. Any library built on the OpenAI SDK works by setting two things, the base URL and the key. What you get on top is a hard monthly ceiling, so an unattended loop cannot run up a bill. The worst case is a 429, not an invoice.