Back to Guides & Cookbooks
How to Connect Cadreen as a Model Provider
Cadreen speaks the OpenAI API format. Any tool that works with any OpenAI-compatible provider works with Cadreen — just change the base URL. You get governance, memory, traces, and self-healing on top.
Quick Start
Base URL
https://accomplishanything.today/api/v1/cadreenAPI Key
sk_cadreen_...— get from SettingsModel
"cadreen"— required by clients, Cadreen ignores itcurl
BASH
curl -X POST https://accomplishanything.today/api/v1/cadreen/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk_cadreen_..." \
-d '{
"model": "cadreen",
"messages": [
{"role": "user", "content": "Hello"}
]
}'}Python
TEXT
from openai import OpenAI
client = OpenAI(
base_url="https://accomplishanything.today/api/v1/cadreen",
api_key="sk_cadreen_...",
)
response = client.chat.completions.create(
model="cadreen",
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)Node.js
TEXT
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://accomplishanything.today/api/v1/cadreen",
apiKey: "sk_cadreen_...",
});
const response = await client.chat.completions.create({
model: "cadreen",
messages: [{ role: "user", content: "Hello" }],
});
console.log(response.choices[0].message.content);Go
TEXT
client := openai.NewClient(
"sk_cadreen_...",
"https://accomplishanything.today/api/v1/cadreen",
)
resp, err := client.Chat.Completions.New(ctx, openai.ChatCompletionNewParams{
Model: "cadreen",
Messages: []openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Hello"),
},
})Note
The
model field is required by OpenAI-compatible clients but Cadreen ignores it. Cadreen decides which model to use internally based on the request.Platform-Specific Setup
TEXT
// Cursor Settings → Models → Add Model
{
"name": "Cadreen",
"baseURL": "https://accomplishanything.today/api/v1/cadreen",
"model": "cadreen",
"apiKey": "sk_cadreen_..."
}TEXT
// opencode.json
{
"provider": {
"name": "@ai-sdk/openai-compatible",
"baseURL": "https://accomplishanything.today/api/v1/cadreen/v1",
"apiKey": "sk_cadreen_..."
},
"model": "cadreen/cadreen"
}TEXT
# config.yaml
models:
- name: Cadreen
provider: openai
baseURL: https://accomplishanything.today/api/v1/cadreen
model: cadreen
apiKey: sk_cadreen_...TEXT
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="cadreen",
openai_api_base="https://accomplishanything.today/api/v1/cadreen",
openai_api_key="sk_cadreen_...",
)TEXT
from llama_index.llms.openai import OpenAI
llm = OpenAI(
model="cadreen",
api_base="https://accomplishanything.today/api/v1/cadreen",
api_key="sk_cadreen_...",
)TEXT
import litellm
response = litellm.completion(
model="openai/cadreen",
api_base="https://accomplishanything.today/api/v1/cadreen",
api_key="sk_cadreen_...",
messages=[{"role": "user", "content": "Hello"}],
)What Cadreen Adds
You don't choose Cadreen instead of your model. You choose structure around it. Same API, same tools — but every request is governed, remembered, and traced.
GovernanceEvery tool call checked against your rules. Approvals, blocks, escalations — you decide.
MemoryRemembers across sessions. Facts, preferences, past decisions — searchable and versioned.
Intelligence TracesSee why every decision was made. What it checked, what it remembered, what it decided.
Self-HealingRetries failed tool calls automatically. Analyzes errors, fixes arguments, tries again.
Auto-LearningTurns successful patterns into permanent knowledge. Gets better over time.
What Cadreen Adds Over Raw API Calls
temperature, top_pIgnored — Cadreen manages internallymodel fieldRequired but ignored — use "cadreen"Response metadataIncludes confidence, governance decision, trace IDChain-of-thoughtStripped — not visible to clientn parameterAlways 1 — one completion per request