Use CORe anywhere
The CORe API is OpenAI-compatible. That means any tool that lets you point at a custom OpenAI-style endpoint already works with CORe; Cursor, Continue, Aider, Zed, Open Interpreter, MSTY, and more. Here's the config for each.
TL;DR - paste this into any OpenAI-compatible tool
- Base URL
https://opencore.one/v1- API Key
ck-...(create one at /api-dashboard)- Model
core-6.2· orcore-6.1,core-4,core-warp,core-turbo
Cursor
Cursor is an AI-first VS Code fork. Point it at CORe via Settings → Models → Override OpenAI Base URL.
- Open Cursor Settings (
Cmd/Ctrl + ,). - Go to Models.
- Toggle on Override OpenAI Base URL.
- Set the base URL to
https://opencore.one/v1. - Set the OpenAI API Key to your
ck-...key. - In the model list, add a custom model:
core-6.2. - Switch the active model to
core-6.2and chat away.
Continue (VS Code / JetBrains)
Continue is an
open-source coding assistant for VS Code and JetBrains. Add CORe by editing
~/.continue/config.json.
{
"models": [
{
"title": "CORe 6.2",
"provider": "openai",
"model": "core-6.2",
"apiBase": "https://opencore.one/v1",
"apiKey": "ck-your-key-here",
"contextLength": 262144
}
],
"tabAutocompleteModel": {
"title": "CORe Warp (autocomplete)",
"provider": "openai",
"model": "core-warp",
"apiBase": "https://opencore.one/v1",
"apiKey": "ck-your-key-here"
}
}
Save the file. Continue picks up changes automatically. Use core-warp for
tab autocomplete (low latency) and core-6.2 for the chat sidebar (full
reasoning).
Aider
Aider is a CLI
pair-programmer that edits files directly in your repo. Use the
--openai-api-base and --openai-api-key flags.
export OPENAI_API_BASE="https://opencore.one/v1"
export OPENAI_API_KEY="ck-your-key-here"
aider --model openai/core-6.2 src/
The openai/ prefix tells Aider to use the OpenAI provider; the model name
after the slash is the CORe friendly id. Add --no-stream if you'd rather
see whole responses at once instead of streaming.
Zed
Zed's AI assistant supports any OpenAI-compatible endpoint via its settings file.
{
"language_models": {
"openai": {
"version": "1",
"api_url": "https://opencore.one/v1",
"available_models": [
{ "name": "core-6.2", "max_tokens": 262144 },
{ "name": "core-6.1", "max_tokens": 262144 },
{ "name": "core-warp", "max_tokens": 262144 }
]
}
},
"assistant": {
"default_model": { "provider": "openai", "model": "core-6.2" },
"version": "2"
}
}
Set the API key via Zed's Settings → AI → OpenAI API Key, or through the
command palette: assistant: configure.
Open Interpreter
Open Interpreter runs code locally based on natural-language instructions. Configure with environment variables or CLI flags.
export OPENAI_API_KEY="ck-your-key-here"
export OPENAI_API_BASE="https://opencore.one/v1"
interpreter --model openai/core-6.2
For agentic workflows where you want fast iteration, swap to core-warp.
For longer reasoning with thinking mode, keep core-6.2.
MSTY
MSTY is a local-first AI chat app. Add CORe under Settings → Remote Model Providers → Add Provider.
- Open MSTY Settings.
- Go to Remote Model Providers.
- Click Add Provider and choose OpenAI Compatible.
- Endpoint:
https://opencore.one/v1 - API Key:
ck-... - Pull / refresh model list. CORe 6.2, 6.1, 4, Warp, and Turbo should appear.
cURL / Python / Node
Direct HTTP usage. The CORe API matches the OpenAI Chat Completions spec exactly, so any official OpenAI SDK works with two lines changed.
curl https://opencore.one/v1/chat/completions \
-H "Authorization: Bearer ck-your-key-here" \
-H "Content-Type: application/json" \
-d '{
"model": "core-6.2",
"messages": [{"role": "user", "content": "Hello"}]
}'
from openai import OpenAI
client = OpenAI(
base_url="https://opencore.one/v1",
api_key="ck-your-key-here",
)
resp = client.chat.completions.create(
model="core-6.2",
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://opencore.one/v1",
apiKey: "ck-your-key-here",
});
const resp = await client.chat.completions.create({
model: "core-6.2",
messages: [{ role: "user", content: "Hello" }],
});
console.log(resp.choices[0].message.content);
Full request/response reference, tool calling, streaming, and multimodal usage are documented in the API docs.
OpenCode
OpenCode is a terminal agentic coding tool with many providers. To add us:
- Go to the path for config (
~/.config/opencode, or on WindowsC:\Users\{username}\.config\opencode). - Create (or edit)
opencode.json. - Paste (or append) the following:
- Reopen OpenCode. Use one credential source: a configured
options.apiKeyoverrides the key saved by/connect, even when an environment variable resolves to empty. To use/connect, removeprovider.opencore.options.apiKeyand explicitAuthorizationoverrides from all active global, project, andOPENCODE_CONFIGconfigurations. Alternatively, keep"apiKey": "{env:OPENCORE_API_KEY}"and ensure that variable contains the raw key in the process launching OpenCode. - Type
/connect - In the providers, search or select
OpenCORe, or chooseOtherand enter exactlyopencoreas the provider ID. Paste the full rawck-...key, without quotes orBearer. The shortened key shown after creation is not usable. - Switch the active model by using
/modelsif you didn't already switch. Select anopencore/...model. - For Xenon 9, Xenon 9s, or Xenon 9 Code, use OpenCode's variant selector (default shortcut:
Ctrl+T) to cycle reasoning levels. Restart OpenCode after changing its configuration.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"opencore": {
"npm": "@ai-sdk/openai-compatible",
"name": "OpenCORe",
"options": {
"baseURL": "https://opencore.one/v1"
},
"models": {
"xenon-9": {
"name": "Xenon 9",
"reasoning": true,
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" },
"max": { "reasoningEffort": "max" }
}
},
"xenon-9s": {
"name": "Xenon 9s",
"reasoning": true,
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" },
"max": { "reasoningEffort": "max" }
}
},
"xenon-9-code": {
"name": "Xenon 9 Code",
"reasoning": true,
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" },
"max": { "reasoningEffort": "max" }
}
},
"xenon-8": {
"name": "Xenon 8"
},
"xenon-8-code": {
"name": "Xenon 8 Code"
},
"xenon-8s": {
"name": "Xenon 8s"
},
"core-7-ultra": {
"name": "CORe 7 Ultra"
},
"core-7-lite": {
"name": "CORe 7 Lite"
},
"core-7-code": {
"name": "CORe 7 Code"
},
"safertitan": {
"name": "SaferTitan"
},
"agintek": {
"name": "Agintek"
}
}
}
}
}
Xenon 9 reasoning levels: low, high, and max. These are native, provider-managed effort levels, not fixed token counts. OpenCode exposes them as native variants. For apps that discover models through /v1/models, the API also lists suffixed IDs such as xenon-9-high, xenon-9s-low, and xenon-9-code-max.
Other API clients can send reasoning_effort or reasoning_budget with one of those levels. A supplied budget overrides the effort, which overrides the model suffix; base model IDs without controls leave provider defaults unchanged. The current Xenon 9 backend does not support numeric reasoning-token caps: numeric reasoning_budget or thinking_budget requests return a clear error rather than silently ignoring the cap. Reasoning levels do not change max_tokens or disable request timeouts.
Any other OpenAI-compatible tool
Most modern AI tools accept three settings: base URL, API key, and model name. If your tool has those three fields, CORe works.
- Base URL:
https://opencore.one/v1 - API key field: usually labeled "OpenAI API Key" or "API token"; use your
ck-... - Model name:
core-6.2(or whichever model fits your use case)
If a tool requires a specific scheme like openai/<model> or
provider/model, prefix with openai/; e.g.
openai/core-6.2.