Acai is native SwiftUI: one small binary, no Electron, no bundled runtime, no account. It talks to Anthropic, OpenAI, Gemini, Bedrock or a gateway on your own machine, using your key. Chats are Markdown files in your home directory.
macOS 14 or later · bring your own API key
Which files still parse the old front matter?
Two of them. I read the history directory to check.
OKFParser.swift and HistoryStore.swift. The rest go through the shared decoder already.
No account. No runtime. No lock-in.
Everything Acai knows lives in ~/.acai — a TOML file, your chats as Markdown, and the tools and agents you point it at. Nothing is hidden in a database, and nothing is exposed to a model unless you switch it on.
base_url away.config.toml holds providers, prompt and switches. ⌘R reloads settings, servers and skills without a restart.A provider is a few lines of TOML. Keep several and switch between them from the toolbar — a frontier model for hard work, something local for the rest.
default_provider = "claude"
system_prompt = "You are Acai, a concise and helpful assistant."
max_tool_rounds = 8
[providers.claude]
kind = "anthropic"
model = "claude-opus-5"
api_key_env = "ANTHROPIC_API_KEY"
max_tokens = 8192
[providers.local]
kind = "openai"
model = "llama3.3"
base_url = "http://localhost:11434"
~/.acai.~/.acai/tools. Remote A2A agents go in ~/.acai/agents. Nothing is offered to a model until you enable it for that chat.make app.