Akili OS

Bring your own models

Akili's models are included, but nothing forces you to use them. Point Akili Code at your own provider account, or at a model running on your own hardware.

Your own provider account

Open Settings → Add a provider and pick a preset. It fills in the API shape and endpoint; you add the key and choose a model.

PresetAPI shape
AnthropicMessages API
OpenAIChat Completions
Kimi (Moonshot)Chat Completions
z.ai / GLMChat Completions

Keys you bring are yours. They are stored in your per-user config directory — ~/.config/akili-code/settings.toml on Linux and macOS, %APPDATA%\akili-code\settings.toml on Windows — and never written into a project, because projects get committed.

The model field is free text as well as a dropdown, so a model released after your build still works: type its id.

A model on your own machine

Any server speaking the OpenAI-compatible Chat Completions shape works — llama.cpp's server, Ollama, LM Studio. A loopback endpoint needs no API key and none is demanded:

# ~/.config/akili-code/settings.toml
active_provider = "local"

[providers.local]
kind = "openai"
base_url = "http://127.0.0.1:8080/v1"
api_key = ""
model = "your-model-name"

Only loopback is exempt from the key requirement, and the whole host has to be loopback — 127.0.0.1.example.com is somebody else's server.

Akili Code asks your server how big its window really is rather than guessing from the model name. llama.cpp publishes this at /props; if yours does not, the gauge falls back to a conservative table. A wrong guess here is how an agent packs a prompt eight times too large and fails a minute in.

Expectations for local models

Small models follow multi-clause instructions unreliably and many do not emit tool calls at all. Akili Code recovers a call the model wrote as prose rather than reading the silence as "nothing to do", and it trims its own tool list on a small window so the first turn does not spend minutes in prefill. Local is for privacy and cost, not for speed.