For the complete documentation index, see llms.txt. This page is also available as Markdown.

Zoo Code Integration

Connect Zoo Code to the nexos.ai API Gateway to use the models available in your nexos.ai platform directly inside Visual Studio Code.

Zoo Code supports any OpenAI-compatible endpoint through its OpenAI Compatible provider. By pointing that provider at the Gateway, every request Zoo Code makes (chat, tool calls, optional codebase indexing) is routed through nexos.ai using your nexos.ai API key, with the usual load balancing, cost tracking and observability.

Coming from Roo Code? Roo Code was discontinued on May 15, 2026 and its extension is no longer maintained. Zoo Code is the community continuation of the same codebase, so the nexos.ai setup is almost identical. See Migrating from Roo Code below.

What is Zoo Code?

Zoo Code is a free, open-source (Apache 2.0) AI coding agent for Visual Studio Code, developed by former Roo Code contributors after the Roo team wound down the extension. It gives you "a whole dev team of AI agents in your editor": it can read and edit files, run terminal commands, browse the web and use MCP servers to complete multi-step tasks.

Key features:

  • Modes – built-in Code, Architect, Ask, Debug and Orchestrator modes, plus custom modes, keep the model focused on a specific kind of work.

  • Provider agnostic – works with dozens of providers and any OpenAI-compatible endpoint, including the nexos.ai Gateway.

  • Native tool calling – tools are sent using the OpenAI function-calling schema and tool arguments stream incrementally.

  • API configuration profiles – several provider/model profiles that can be switched from the chat window or pinned to specific modes.

  • MCP support – connect Model Context Protocol servers to extend the agent with external tools.

  • Codebase indexing – semantic search over your project using an embedding model and a Qdrant vector store.

  • Auto-approve – gradually allow Zoo Code to perform actions without confirmation as you gain confidence.

Useful links: Zoo Code documentation, GitHub repository, VS Code Marketplace listing.


Prerequisites

  • A nexos.ai API key (user key or team key). See How to generate a nexos.ai API key.

  • Visual Studio Code 1.84.0 or later (Cursor, VSCodium and Windsurf also work, see installation below).

  • At least one model in your nexos.ai workspace that supports the Chat Completions endpoint and native tool calling. Zoo Code has no XML fallback: a model without function calling cannot be used at all.


How to connect Zoo Code with nexos.ai

1

Generate your nexos.ai API key

In your nexos.ai workspace open the API Keys tab, select Generate API Key, enter a name for the key and click Generate. Copy the key immediately: it is shown only once and cannot be retrieved after the dialog is closed.

The key inherits the settings configured by your organization owner (enabled models, fallbacks, limits). API usage requires purchased API credits.

exclamation
2

Install the Zoo Code extension

You can install Zoo Code in several ways:

  • VS Code Extensions tab (recommended) – open the Extensions view (Ctrl+Shift+X / Cmd+Shift+X), search for "Zoo Code", select the extension published by ZooCodeOrg and click Install. This works in VS Code and Cursor.

  • Command line – run the following in a terminal:

After installation a Zoo Code icon appears in the VS Code Activity Bar.

3

Configure the OpenAI Compatible provider

Open the Zoo Code panel by clicking the Zoo Code icon in the Activity Bar. On first launch a welcome screen asks you to choose your LLM provider; later you can reach the same form through the gear icon → Providers in the Zoo Code panel.

Fill in the provider settings as follows:

Setting

Value

API Provider

OpenAI Compatible

Base URL

https://api.nexos.ai/v1

API Key

The nexos.ai key generated in step 1

Model

The ID of a model available in your workspace, exactly as returned by GET /v1/models (see step 4)

Use Azure

Leave unchecked

Extra Body

Leave empty (optional provider-specific JSON fields; do not put secrets here)

Then confirm the form with the button at the bottom of the screen (Let's go! on the welcome screen, Save in Settings).

Optionally expand Model Configuration to tell Zoo Code about the model you selected. The values can be copied from the /v1/models response:

Zoo Code field

Source in /v1/models

Why it matters

Context Window

context_length

Zoo Code uses it to condense the conversation before the limit is reached

Max Output Tokens

max_tokens

Upper bound for a single response

Image Support

model capabilities

Enables sending screenshots/images to the model

Input Price / Output Price

pricing

Only used for the cost estimate shown in the task header

4

Choose a model

Once the Base URL and API key are filled in, Zoo Code tries to load the model list from the provider's /models endpoint and offers it in the Model field. If the list does not load, or you want to double-check a model's capabilities, query the nexos.ai Models endpoint directly:

Each entry in data contains the id to paste into the Model field, together with context_length, max_tokens, pricing and the supported endpoints. Matching of the model ID is case-insensitive but otherwise exact. You can also use the internal nexos_model_id value instead of the display name.

When picking a model for Zoo Code make sure that:

  • its endpoints include chat_completion (Zoo Code talks to the OpenAI Compatible provider through the Chat Completions API), and

  • it supports native tool calling / function calling. Frontier coding models such as the current Claude Sonnet/Opus, GPT-5 family or Gemini Pro models do; small or older models often do not.

5

Send your first message

Open a project folder, pick Code mode in the Zoo Code chat window and send a simple request, for example "Explain what this repository does". The response should stream in and any file reads should appear as tool calls in the task timeline. The request is visible in your nexos.ai usage dashboard, which confirms that traffic is flowing through the Gateway.

Zoo Code now routes all requests through the nexos.ai API Gateway, giving you access to multiple LLM providers through a single endpoint with centralized cost tracking, limits and observability.


Advanced configuration

API configuration profiles

You will usually want more than one nexos.ai model, for example a strong model for Code and Architect modes and a cheaper, faster model for Ask or Debug. Zoo Code handles this with API configuration profiles:

  1. Open Settings (gear icon) → Providers and click + next to the profile dropdown.

  2. Give the profile a name such as nexos – Claude Sonnet or nexos – GPT small.

  3. Select OpenAI Compatible, enter the same Base URL and API key, and a different Model ID.

  4. Repeat for each model you want to use.

Switch between profiles from the dropdown in the Settings panel or from the API Configuration dropdown directly in the chat window. In the Prompts tab you can assign a default profile to each mode; Zoo Code remembers the last profile used per mode. Hover over a profile to pin it to the top of the list.

Codebase indexing with nexos.ai embeddings (optional)

Advanced feature for power users: semantic search over your project. It requires an embedding model and a self-hosted or cloud Qdrant vector database. Skip this unless you need it.

Show setup steps

The embedding requests are routed through the nexos.ai Gateway, which exposes an OpenAI-compatible Embeddings endpoint.

  1. Start a Qdrant instance, either Qdrant Cloud (free tier) or locally:

  1. In Zoo Code open Settings → Codebase Indexing and enable it.

  2. Set Embedder Provider to OpenAI Compatible.

  3. Set Base URL to https://api.nexos.ai/v1 and API Key to your nexos.ai key.

  4. Set Model to the ID of an embedding model available in your workspace (an entry from /v1/models whose endpoints include embedding) and enter its Embedding Dimension.

  5. Set Qdrant URL (for the local container: http://localhost:6333) and the Qdrant API key if your instance requires one.

  6. Click Save and Start Indexing.

MCP servers

MCP servers are configured independently of the model provider (Zoo Code panel → MCP Servers). They work unchanged with the nexos.ai Gateway, as long as the selected model supports tool calling.


Migrating from Roo Code

If you followed the previous Roo Code integration guide, you can carry your configuration over instead of setting it up again:

  1. In Roo Code, open Settings and choose Export. Save the settings file somewhere safe.

  2. Install Zoo Code (step 2 above).

  3. In Zoo Code, open Settings and click Import Settings, then select the exported file. Zoo Code merges the imported provider profiles (including your nexos.ai OpenAI Compatible profile), modes and other settings into its own configuration.

  4. Verify the imported profile still points at https://api.nexos.ai/v1 and that the model ID is still available via /v1/models.

  5. Uninstall the archived Roo Code extension (RooVeterinaryInc.roo-cline) to avoid two agents competing for the same keyboard shortcuts.

Zoo Code project files (.roo/ rules, custom modes, .roomodes) are still recognised, so per-repository configuration usually needs no changes. See the official Roo to Zoo migration guide for details.


Troubleshooting

  • "Model Not Found" – the Model field must contain a model ID exactly as returned by GET /v1/models for your key (case does not matter). If the model is missing from the list, ask your workspace administrator to enable it.

  • Connection errors or 404 on every request – check that the Base URL is exactly https://api.nexos.ai/v1, including /v1, and that Use Azure is unchecked.

  • The agent answers in plain text but never edits files, or errors mention tools – the selected model does not support native tool calling. Switch to a model that does (see step 4).

For detailed logs open View → Output in VS Code and select Zoo Code. Community help: Zoo Code Discord, GitHub Issues.

Last updated