Docs

Architecture

One app, two processes — what actually runs, where, and on which ports.

What actually runs on my machine?

Two things. The Donna app is the window you see. Her brain is donna-server, a small Rust server bundled inside the app that owns the database, memory, scheduler, and integrations. The app starts it automatically on launch and stops it when you quit.

This split is deliberate: the same server binary can run on an always-on box instead (see self-hosting), and the app becomes a thin client of it.

What ports does Donna use?

  • 8377: the built-in server. If something else already uses it, Donna picks a random free port instead.
  • 11434: the local model runtime (Ollama), when you use the free local option.

Both listen on 127.0.0.1 only, so nothing is exposed to your network. Requests to the server require a bearer token that Donna generates on first run and stores with owner-only file permissions.

Where does Donna keep her files?

OSData folder
macOS~/Library/Application Support/ai.donna.app
Windows%APPDATA%\ai.donna.app
Linux~/.local/share/ai.donna.app

Inside: server/ (the brain’s database, knowledge base, and credentials), server-token (the local auth token), and ollama/ (the managed model runtime, if you chose the local option). Local models themselves are stored by the runtime under ~/.ollama/models.