Splits the AI tab into Configuration, Categorization, and Chat sections
with independent feature toggles. Both toggles are disabled when Ollama
URL or model is not configured. ChatPanel FAB is gated on isChatEnabled.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Settings > AI tab now includes context size slider (2048–131072) with VRAM
estimate and a chatbot name field. ChatService reads both dynamically instead
of hardcoding num_ctx=16384 and "Purrse AI". Chat panel FAB and empty state
use mdi-cat icon to match the rest of the app.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Instead of showing defaults as greyed-out placeholder text, populate
textareas with the actual default prompt text so users can directly
edit it. Add {categories}, {examples}, and {transactions} placeholders
so users control where dynamic data is inserted in the prompts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add SystemPrompt and UserPromptTemplate fields to AI categorization
settings so users can customize the prompts sent to Ollama without
code changes. Null/empty values fall back to built-in defaults.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds local LLM-based transaction categorization using Ollama:
- Settings UI to configure Ollama URL, model, confidence threshold
- Auto-categorization during bank sync and file import
- Manual "Classify Uncategorized" button on Transactions screen that respects active filters
- Payee default category learning loop for classified transactions
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>