Duncan AI improvements: bubble positioning, token streaming, auto-insight notes
Details
- Fix speech balloon arrow seam by using open path (no top-edge stroke)
- Dynamically position balloon over AI star icon instead of hardcoded margin
- Clicking balloon now opens AI tray (intents) instead of just dismissing
- Add token streaming for local LLM inference — responses appear progressively
instead of all-at-once after full generation completes
- Add StreamCompleteAsync to IAiProvider with default fallback implementation
- LocalLlamaProvider streams tokens via onToken callback during InferAsync loop
- New ChatMessageState.Streaming state for progressive content display
- Auto-create a Notes page when Duncan generates an intent suggestion insight
- Show "View Note" button alongside the intent action for quick navigation
- Handle view_page: action routing in intent suggestion message handler
Use minimal plugin context in AI prompt, defer details to RAG
Details
Replace full DetailedDescription injection with a single-line plugin
identifier. The full feature description is indexed as a RAG chunk by
each plugin's IIndexableContentProvider, so it only surfaces when
semantically relevant to the user's query — not on every message.
AI panel UX improvements: persistent panel, resize handle, plugin context injection
Details
Three changes to the AI assistant tray:
1. Panel no longer closes on click-away. Users must explicitly close via the
close button or Escape key, matching the expectation that the panel stays
open while working.
2. Added drag-to-resize handle (same pattern as InfoPanel) allowing users to
widen or narrow the tray between 320-700px. Default remains 400px.
3. Active plugin context is now injected into the AI system prompt. When the
user navigates to a plugin, the AI receives the plugin's name, description,
tags, and category. Plugins can optionally set DetailedDescription on
PluginMetadata for richer context (feature list, capabilities, quick actions).
This lets the AI answer questions like "what is this plugin?" and "what can
I do here?"
SDK 1.63.0: Added PluginMetadata.DetailedDescription property.
Desktop 1.62.0.
Add centralized APP_CONTEXT.md with app and shell feature documentation
Details
Documents all shell-level features (Knowledge Graph, Dashboard, Universal
Search, Command Palette, Quick Actions, AI Services, Cloud Sync, etc.) and
lists all available plugins with brief descriptions. References per-plugin
PLUGIN_CONTEXT.md files for detailed documentation.
Fix semantic search model buttons overlapping model name in AI settings
Details
Stack the model name and Downloaded/Delete buttons vertically instead of
side-by-side to prevent overlap when the settings panel is narrow. Bump
desktop version to 1.61.1.
Get notified about new releases