Skip to content

Configuration

Kiki's agent reads its settings from /etc/kiki/agentd.toml. The image ships a sensible, privacy-preserving default; you can edit it on a running device or bake a different default into a custom image.

The default

toml
[inference]
default_model   = "granite4.1:3b"        # set at build via DEFAULT_MODEL
ollama_url      = "http://localhost:11434"
local_model_dir = "/var/lib/kiki/models"

[router_policy]
allow_remote                     = false
allow_third_party_remote         = false
default_privacy_level            = "standard"
preferred_model                  = "auto"
disable_remote_below_battery_pct = 15
disable_third_party_for_voice    = true
trace_decisions                  = false

Inference

KeyMeaning
default_modelThe model used unless a task overrides it.
ollama_urlWhere the local model server listens.
local_model_dirWhere on-device model weights are stored.

Router policy — local-first

The router decides which model and provider handle each request. The defaults keep everything on your device:

KeyDefaultEffect
allow_remotefalseNothing leaves the device unless you opt in.
allow_third_party_remotefalseEven with remote on, third-party providers stay off until allowed.
default_privacy_level"standard"Baseline sensitivity applied to requests.
preferred_model"auto"Let the router choose, or pin a model.
disable_remote_below_battery_pct15Fall back to local on low battery.
disable_third_party_for_voicetrueKeep voice away from third-party providers.
trace_decisionsfalseWhen true, log why the router chose each provider.

See Models for how routing picks between local and cloud.

Changing it

  • On a running device — edit the file and restart:

    sh
    sudo systemctl restart agentd
  • At build time — change the default model with a build arg, or edit the template before building a custom image.

  • Across a fleet — when devices are in the cloud, configuration can be delivered centrally and applied atomically.

Service flags

sh
agentd --config /etc/kiki/agentd.toml   # config path (default shown)
agentd --no-fleet                        # don't connect to the cloud
agentd --no-wm                           # run headless, no desktop

Kiki OS, Desktop & SDK are open source. See Licensing.