Animated thinking dots for Duncan's loading state
Details
Replace the barely-visible indeterminate ProgressBar + static "Thinking..." text
with an animated "Thinking." → "Thinking.." → "Thinking..." cycle (400ms per
frame) driven by a timer in AiChatMessageViewModel. The animation starts when
the message enters Loading state and stops when streaming/ready begins. Uses
italic styling for visual distinction from actual response content.
Desktop 1.63.0 → 1.63.1.
Chat-based intent execution and AI tray tab highlighting
Details
Duncan can now execute real actions (create tasks, events, notes, etc.) when users
ask in chat. The chat system prompt includes a dynamic intent catalog built from all
active IIntentProvider plugins. The AI responds with [ACTION] blocks containing
intent_id and slots, which are parsed and executed via the new ExecuteDirectAsync
method on IIntentEngine — bypassing the suggestion system for immediate execution.
Confirmation or error messages appear inline in the chat.
AI tray tabs (Chat/Intents/History) now show active state using the view-toggle
pattern with Classes.active bindings driven by IsChatTab/IsIntentsTab/IsHistoryTab
computed properties. Panel visibility is now VM-driven via IsVisible bindings,
removing the imperative ApplyTabVisibility code-behind.
Cloud token budgets bumped: Medium 800→1200, Long 2000→2500, MaxSentences(Long)
30→40 to accommodate intent-aware responses with JSON action blocks.
SDK 1.63.0→1.64.0 (new IIntentEngine.ExecuteDirectAsync interface method).
Desktop 1.62.2→1.63.0.
Expand AI & Intent System RAG documentation for Duncan
Details
The shell-ai RAG chunk was too sparse for Duncan to explain its own
features. Expand it with detailed interaction instructions, provider
configuration details, response length behavior, and AI memory.
Add a new shell-intents RAG chunk documenting the full intent lifecycle
(signal → classification → slot extraction → execution → confirmation),
listing every available intent across all 14 plugins with descriptions
and example natural language queries.
Update APP_CONTEXT.md with a comprehensive AI & Intent System section
including a full intent catalog table, RAG explanation, and content
suggestion documentation.
This ensures Duncan can answer questions like "what are intents?",
"how do I interact with you?", and "what can you do?" with accurate,
context-aware responses from the RAG index.
Add shell-level RAG content provider for global features
Details
Introduces ShellContentProvider implementing IIndexableContentProvider to
index shell-level features into the RAG vector index. This allows Duncan
to answer questions about global shortcuts, Universal Search, Knowledge
Graph, Dashboard, AI services, Info Panel, Cloud Sync, themes, speech
input, reminders, security, and the plugin ecosystem — without needing
plugin-specific context. Registered via CapabilityBroker so RagIndexService
discovers it alongside plugin providers during full index.
Fix DispatcherPriority, revert auto-note on intents, add missing nav icons
Details
- Fix DispatcherPriority.Layout → Render (Layout doesn't exist in Avalonia)
- Revert auto-note creation from intent suggestions — intents should only
show action buttons, not auto-create notes. Auto-note stays in the
DatasetInsightOrchestrator for user-initiated insights only.
- Add Target icon (Habits plugin) and CurrencyDollar icon (Finance plugin)
to IconData with GetIcon switch cases
Get notified about new releases