AI assistant
An optional in-app assistant that uses a chat model you provide. Only personal-finance, app-usage and privacy topics are allowed.
How do I enable it?
Open Settings → AI Assistant, switch it on, paste the API base URL (e.g. https://api.openai.com/v1), the model name (e.g. gpt-4o-mini), and your API token. Hit Test connection, then Save.
Which providers work?
Anything that speaks the OpenAI Chat-Completions API: OpenAI, OpenRouter, Groq, Together, local Ollama (http://host:11434/v1), LM Studio, vLLM, llama.cpp server, etc.
How is a connection’s availability checked?
Each connection has an Availability check setting. Fast only calls /models — quick, but a proxy such as LiteLLM answers even when the model behind it is offline. Model listed additionally requires your model id to appear in that list. Real request (default) asks the provider’s /health for the model and otherwise sends a 1-token request, so a downed backend shows up. If the proxy answers but the model does not, the badge turns amber Degraded. Settings checks all connections when you open it and then quietly every 5 minutes while the tab is visible; each badge shows when it was last checked.
What can it do?
Prefill the Add-Transaction form from a sentence like “I spent 50 at Coop on groceries, paid by credit card”; answer questions about your data (“where did I spend most last month?”) by calling read-only tools; read bank and credit-card statements you upload on the Statements screen (PDF or a photo/screenshot) and turn them into comparable rows; and explain app features and the privacy notice. It will refuse any other topic.
Can I talk to it instead of typing?
Yes, if one of your AI connections has a transcription model set (Settings → AI Assistant, e.g. whisper-1 or a local faster-whisper model). A microphone button then appears in the chat: record, stop, and the text lands in the input box for you to review before sending. Audio is recorded as a 16 kHz mono WAV, sent to that provider only, and never stored — the activity log keeps only the transcript preview.
Does it write to my data?
No. The chat only prepares a draft for the Add screen, and the classification passes (statement lines, pending transactions) only fill suggestion fields that you accept or ignore — you always review and save manually. All other tools are read-only.
What is sent to my provider?
Your messages, plus the results of any read tool the model decides to call (transactions, balances, category totals). See the privacy page for the full data flow.
Where is my API token stored?
Server-side in the ai_endpoints table, one per connection. It is not returned to the browser, but the server operator can read it — treat it like other credentials on this instance.