Configuration¶
The daemon reads a single optional file at startup:
~/.config/dragomand/config.toml
($XDG_CONFIG_HOME/dragomand/config.toml when XDG_CONFIG_HOME is set.)
Every setting has a sensible default and the file may be absent entirely. A malformed file or an unknown key is a hard error: the daemon refuses to start rather than silently ignore a typo, and the reason appears in the journal.
The easiest way to change a setting is through the daemon itself, which applies it at once and writes it to the file, keeping its comments:
dragomanctl config memory_budget_mb 256
Settings screens (such as the Dragomand module in KDE's System Settings)
use the same SetConfig D-Bus method. After editing the file by hand,
the change takes effect when the daemon next starts; because it exits
when idle, that happens soon on its own. To apply it immediately:
systemctl --user stop dragomand.service
All settings and their defaults¶
# ~/.config/dragomand/config.toml
# Rough memory budget for loaded models, in MiB. One active pair costs
# about 260 MiB, so the default fits two.
memory_budget_mb = 512
# How many recently used routes stay warm when idle.
keep_warm = 2
# How long an unused route stays warm, in seconds.
keep_warm_seconds = 600
# The daemon exits this long after the last activity, once nothing is
# loaded any more. Seconds.
idle_exit_seconds = 60
# Master network switch. false disables downloads and update checks
# entirely; installed models keep working.
network = true
# Opt into Mozilla's pre-release models.
allow_prerelease = false
What the settings mean in practice¶
memory_budget_mb- The ceiling for model memory. When loading another pair would exceed it, the least recently used pair is evicted first. Lower it on small machines (256 keeps one pair warm); raise it if you switch between many pairs and have memory to spare.
keep_warmandkeep_warm_seconds- A loaded model answers in tens of milliseconds; loading one takes a few seconds. These two settings control how many recently used pairs stay loaded while idle and for how long. The pair in active use is always kept.
idle_exit_seconds- How quickly the daemon leaves memory entirely once idle and empty. Exiting is cheap: D-Bus activation restarts it transparently on the next request.
network- With
network = false, any operation that would go online fails with a clear error (NetworkDisabled) instead. Use this for strictly offline machines fed by model packages or a pre-filled store. allow_prerelease- Mozilla marks some model versions as pre-releases. They are skipped by
default; set
trueto test them.
Memory pressure¶
Independently of the budget, the daemon watches system memory pressure (kernel PSI, and systemd memory pressure signals) and unloads models immediately when the system is struggling. No configuration is needed; the budget is the steady-state limit, pressure handling is the emergency brake.