# assistant Two settings pages for desktop-assistant, the daemon behind the assistant canvas (`../../assistant/`). **Assistant** edits the daemon's `~/.config/desktop-assistant/config.toml` and switches its tools. The model fields (server, temperature, tool rounds, thinking) save on Enter, and an emptied field falls back to the daemon's default, shown as its placeholder; the defaults come from `assistant.py --defaults`, so they are never copied here. The system prompt has its own box, Save and "Use the default". The tool environment (`[env]`) is one row per key, with an add row below. A tool's switch renames `tools/.toml` to `.toml.off`, which the daemon's `*.toml` glob skips. The daemon reads all of this only at startup, so after a change the page says so and offers Restart, which runs `assistant.sh restart`; a daemon that does not come back shows the script's status, whose log tail says why. The file is edited line by line (`Config.js`) so the comments the example ships with survive: an unset key sits commented out, setting it activates its line, and unsetting comments it back out. Every write first parses the whole new file with `tomllib`, then replaces the old one atomically, so an edit can never leave a config the daemon refuses to start with. **Ask presets** edits the canvas's canned questions for staged files: label, question, and the file kinds each is offered for. They live in `Prefs` and the canvas reads them live, so changes apply at once; "Reset to defaults" drops the saved list and brings back the built-in one in `../../assistant/Presets.js`. A new preset gets the fallback icon. Search finds the model fields, every `[env]` key, every tool and every preset by name. Check: `node desktop/modules/assistant/test_config.js`.