Connect Kilo Code to NekoCloud
This guide adapts the tool’s official third-party provider documentation for NekoCloud. It does not imply official certification of this service. NekoCloud has not individually tested the toolchains described here. These are configuration references and acceptance steps for you to perform; no paid requests were made while preparing this guide. Install the tool, create a NekoCloud API key, and confirm the model is available in the model plaza and your key’s group. Replace REPLACE_WITH_MODEL_ID with the exact model ID, not its display name.
Current entry point: Providers → Custom provider
Open Kilo Code → Settings (gear) → Providers, scroll to the bottom, and click Custom provider. This guide follows the current official custom-provider dialog, not the older unified API Provider panel description. Back up or record existing configuration first. Create a separate provider without overwriting existing providers or manually replacing the entire kilo.jsonc file.
| Dialog field | NekoCloud example |
|---|---|
| Provider ID | nekocloud; if it exists, edit that entry or choose another unique ID |
| Display name | NekoCloud |
| Provider API | OpenAI Compatible (Chat Completions) |
| Base URL | https://api.nekocloud.vip/v1 |
| API key | REPLACE_WITH_API_KEY, replaced with your own key |
| Models | Add the actual model replacing REPLACE_WITH_MODEL_ID |
| Headers | Normally leave empty; do not add a conflicting Authorization header |
After you enter the URL and key, Kilo can query the provider’s model list. This sends a network request but is not a model-inference test. If detection succeeds, select the exact model ID. If it fails, add an available ID manually rather than assuming that the entire chat API is unavailable. Display names and request IDs differ; check them before submitting. Enter the key itself; this guide does not assume the UI expands environment variables.
Click Submit to save, then choose the new provider’s model in the model picker. Advanced fields require editing the actual kilo.jsonc according to the official Custom Models guide. Do not guess token limits, tool-calling capabilities, or variants, or copy another service’s numbers. Save editor files, run VS Code’s Developer: Reload Window, start a new task, and confirm the provider and model again.
Provider API determines the protocol
OpenAI Compatible is for Chat Completions. Use OpenAI Responses only after confirming the model route supports it; its base URL remains https://api.nekocloud.vip/v1. Anthropic Messages is a separate option. NekoCloud’s Anthropic root is https://api.nekocloud.vip; after switching, check the actual path according to that option’s URL rules. Do not change only the URL while retaining the OpenAI protocol.
Although the official documentation says Kilo supports full endpoint URLs, this guide consistently uses the base URL without /chat/completions or /responses to avoid confusing automatic path construction and model discovery. Model discovery, saving settings, and ordinary chat do not prove a native tool round trip. Observe a real read-only call, its result, and the model’s subsequent answer. UI and adapters may change between versions; if the Providers entry point above is absent, check your version and official documentation first.
Acceptance: reply, usage record, and a read-only tool round trip
These steps send model requests and may incur charges. Run them only with your consent. Disable automatic approval, automatic command execution, and unnecessary background requests first. Use a small workspace without sensitive information.
- Start a new conversation, confirm the active provider and model, and send “Reply only OK; do not call tools.” After a normal reply, check the NekoCloud dashboard’s usage records for matching request time, model, and usage/token information. Client cost estimates are not the NekoCloud bill.
- Send “Use only a file-reading tool to read the first few lines of the existing README.md. Return its first line and a one-sentence summary. Do not edit files, run commands, or access the network.” If there is no README.md, choose another existing non-sensitive text file and change the prompt’s path; do not ask the agent to create a file.
- Manually approve that read-only call. Confirm the task trace contains an actual tool name, arguments, and file-reading result, followed by a model answer based on that result. A reply merely claiming to have read the file is not a pass. Check usage records again and verify that the workspace was not modified.
A text reply proves only the chat connection. Matching usage records confirm the request reached the intended account. The tool invocation, tool result, and subsequent model answer must all complete to pass this read-only round trip. If a step fails, stop retrying and retain the request time, model, error code, and redacted request ID rather than repeatedly starting long tasks.
Safety and troubleshooting
Back up existing configuration and merge only the new provider or model entries. Do not replace the whole file or remove other models, rules, tools, or login information. Enter the key itself without a Bearer prefix; REPLACE_WITH_API_KEY is only a placeholder. Never commit real keys, authorization headers, secret-bearing configurations, or sensitive source code to Git, include them in screenshots, or send them to support. Protect local configuration and backup copies too.
For 401 errors, check the active configuration, key, and authentication source. For missing models, check the exact ID and key-group permissions. For 404 errors, check the URL and protocol; avoid duplicate /v1 segments or using a full request path as the base URL. For 429 errors, reduce request frequency according to the response and usage records rather than retrying indefinitely. Do not disable TLS verification, expand execution permissions, or change system network settings to troubleshoot. With Remote SSH, WSL, or containers, ensure configuration and environment variables belong to the host actually running the extension, not just your local terminal.