Settings and permissions
The Settings page is the user-facing control plane for chat defaults, memory, voice, permissions, agents, and destructive actions.
Chat defaults
Settings manages these chat preferences:
- Thinking mode: shows a short reasoning trace before answers.
- Deep reasoning: runs a draft and self-check pass before the final answer.
- Autonomous search: lets Munin decide when live web data is needed.
- Search by default: starts new messages with web search enabled.
These values are stored in SharedPreferences and read by ChatController when it builds state.
Memory and personalization
The Memory page shows the durable profile facts held by MemoryProfileService.
Users can:
- Search facts.
- Add a fact manually.
- Remove a fact.
- Clear all facts.
This page manages profile memory, not the raw SQLite chat transcript.
Device fit
Device fit controls the performance profile stored under StorageKeys.performanceMode.
Profiles:
- Auto: choose from device RAM.
- Battery: smaller context, capped output, CPU preference.
- Max: larger context and GPU preference.
The app applies the selected mode through GemmaModelService.applyPerformance.
Voice settings
Voice settings include:
- Voice conversation route.
- Wake word enablement.
- Wake word phrase.
Wake word state is persisted in SharedPreferences and applied through DeviceActions.setWakeWordEnabled.
Permission rows
Settings exposes permission surfaces with clear status:
- Default assistant: opens the Android assistant selection screen.
- Overlay: requests draw-over-apps permission for floating voice surfaces.
- Usage access: allows recently used app lookup.
- Device control: opens the accessibility permission path for control actions.
Permission rows do not pretend a permission is granted. They query native state and show live granted or denied status.
Agent and tools
The Agent and Tools section links to:
- MCP Servers.
- Skills.
MCP server settings manage server connection, discovered tools, enabled flags, and always-allow flags. Skills settings manage bundled skills, URL-imported SKILL.md files, custom skill selection, and removal.
Haptics
The haptics switch updates StorageKeys.hapticsEnabled and the global NativeHaptics.enabled flag. This ensures provider-less haptic calls obey the setting immediately.
Data actions
The Data section groups destructive controls:
- Clear all chats.
- Wipe memory.
- Delete model.
These actions are intentionally not mixed with normal preferences.