OpenAI-Compatible Endpoints
Point at any OpenAI-shaped API
The OpenAI chat-completions API shape has become the industry’s lingua franca — vLLM servers, corporate AI proxies, Azure OpenAI deployments, self-hosted gateways, and countless hosted services all speak it. The OpenAI Compatible provider entry points Nexgile Code at any such endpoint: you supply the URL, the key, and the model id, and optionally teach the product what the model can do.
Use this entry when your target isn’t one of the named providers. (For OpenAI’s own API, use the dedicated OpenAI entry; for LM Studio’s local server, the LM Studio entry adds niceties like speculative decoding.)
Core fields
Section titled “Core fields”Open Settings → Providers, choose OpenAI Compatible, and fill in:
| Field | Notes |
|---|---|
| Base URL | The endpoint root, e.g. https://llm-proxy.mycorp.internal/v1 or http://localhost:8000/v1 |
| API Key | Whatever the endpoint expects as a bearer key; anything non-empty works for servers that don’t check |
| Model | The model id the server knows, e.g. gpt-oss-120b — the picker offers ids fetched from the endpoint’s /models route, and you can type one manually if discovery fails |
Behavior toggles
Section titled “Behavior toggles”- Enable streaming — on by default; disable only for endpoints that can’t stream responses.
- Include max output tokens — on by default; sends the max-tokens parameter with requests. Turn off for servers that reject it.
- Enable Reasoning Effort — for endpoints serving reasoning models: sends a reasoning-effort level (Low / Medium / High / Extra High) with each request.
- R1 format — labelled Enable R1 model parameters in the UI. Adjusts the request format for R1-style reasoning models; turn it on when such a server returns 400 errors or garbled reasoning with the standard format.
- Azure — check when targeting an Azure OpenAI deployment, and optionally set the Azure API version (a default version is applied if you leave it unchecked).
Custom headers
Section titled “Custom headers”Corporate proxies often demand extra headers (tenant ids, routing hints, static auth tokens). The Custom Headers section lets you add any number of header name/value pairs that are sent with every request:
X-Org-Tenant: platform-engX-Routing-Region: eu-westUse the + button to add a row, and the remove control to delete one.
Describing the model’s capabilities
Section titled “Describing the model’s capabilities”Unknown endpoints can’t tell Nexgile Code what their model supports, so the panel includes a model-configuration section where you declare it: context window size, max output tokens, image support, prompt-cache support, and per-token prices (used for the live cost readout in the task header). Sane defaults are applied, but setting the real context window matters — it drives context management, including when automatic condensing kicks in.
Common gotchas
Section titled “Common gotchas”- Missing
/v1. Most OpenAI-shaped servers expect the version prefix in the base URL. If you get 404s,http://host:8000/v1(nothttp://host:8000) is usually the fix. - Model id must match exactly. The server rejects ids it doesn’t serve; copy the id from the endpoint’s own model list.
- Wrong context window declared. If you claim 128K but the server serves 8K, prompts get truncated server-side and the agent behaves erratically — set the honest value.
- Tool calling is required. Nexgile Code drives everything through native tool calls. Endpoints or models without function-calling support will not work as agents, even if plain chat works.
- Streaming quirks. Some proxies buffer or break server-sent events; if responses only ever arrive all-at-once or hang, disable Enable streaming.
- Slow self-hosted backends. Raise
nexgile-code.apiRequestTimeout(default 600 seconds) if big-prompt requests time out. - Costs show as zero. Unless you enter prices in the capability section, the task-header cost stays at $0.00 — fine for internal servers, misleading for paid ones.
Example: pointing at a vLLM server
Section titled “Example: pointing at a vLLM server”Base URL: http://gpu-box.internal:8000/v1API Key: not-used-but-requiredModel: openai/gpt-oss-120bStreaming: enabledContext: 32768 (set in the model configuration section)Save it as its own configuration profile (e.g. vllm-lab) so you can switch between it and a hosted frontier profile per task — see Providers Overview.