Guides

Roo Code

Last updated

Roo Code (the VS Code extension descended from Cline) ships a built-in "OpenAI Compatible" provider for exactly this kind of custom gateway. Point it at Tempr and every model on your allowlist — Claude, GPT, Gemini, whatever you've configured — becomes available through one provider entry instead of one per vendor.

  1. Create a virtual key

    In the Portal, create a Gateway virtual key. Keys are prefixed tvk_ and shown once at creation.

  2. Add a provider key

    Gateway is BYOK: add a key for at least one provider from the supported list.

  3. Configure Roo Code

    Open the Roo Code settings panel, set API Provider to OpenAI Compatible, Base URL to https://api.temprhq.io/v1, and API Key to your virtual key.

  4. Choose a model

    Enter a model id in the fully-qualified provider/model form, e.g. anthropic/claude-sonnet-4-5, whatever is on your virtual key's allowlist.

Codebase indexing

Roo Code's codebase indexing embeds your code so it can search it by meaning. It can embed through Tempr too, with the same virtual key, so it needs no separate embedding provider account. It also needs a Qdrant vector database, local or cloud, to store the vectors.

  1. Open the indexing settings

    Click the indexing status icon at the bottom right of Roo Code's chat input, and turn indexing on.

  2. Point the embedder at Tempr

    Set Embedder Provider to OpenAI Compatible, Base URL to https://api.temprhq.io/v1, and API Key to your virtual key.

  3. Choose an embedding model

    Set Model to an embedding model from a provider you have a key for, such as openai/text-embedding-3-small, google/gemini-embedding-001 or mistral/codestral-embed. If Roo asks for the model's dimension, use its default from the embeddings models table (1536 for text-embedding-3-small). The model has to be on your virtual key's allowlist.

  4. Connect Qdrant and start

    Enter your Qdrant URL (and Qdrant API Key if it needs one), then start indexing.

Each batch Roo sends is one Gateway request, billed at the model's input price with your own provider key, and appears in your request logs. Changing the embedding model or its dimension means re-indexing. See Embeddings for every provider and model.

What's next