Phase 5: AI provider system with local and cloud support

- Implement AIProvider base interface with chat() and is_available()
- Add LocalProvider connecting to bundled llama-server via OpenAI SDK
- Add OpenAIProvider for direct OpenAI API access
- Add AnthropicProvider for Anthropic Claude API
- Add LiteLLMProvider for multi-provider gateway
- Build AIProviderService with provider routing, auto-selection,
  and transcript context injection
- Add ai.chat IPC handler supporting chat, list_providers, set_provider,
  and configure actions
- Add ai_chat, ai_list_providers, ai_configure Tauri commands
- Build interactive AIChatPanel with message history, quick actions
  (Summarize, Action Items), and transcript context awareness
- Tests: 30 Python, 6 Rust, 0 Svelte errors

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-26 16:25:10 -08:00
parent 415a648a2b
commit d67625cd5a
11 changed files with 735 additions and 28 deletions

View File

@@ -8,6 +8,7 @@ import sys
from voice_to_notes.ipc.handlers import (
HandlerRegistry,
hardware_detect_handler,
make_ai_chat_handler,
make_diarize_handler,
make_export_handler,
make_pipeline_handler,
@@ -27,6 +28,7 @@ def create_registry() -> HandlerRegistry:
registry.register("diarize.start", make_diarize_handler())
registry.register("pipeline.start", make_pipeline_handler())
registry.register("export.start", make_export_handler())
registry.register("ai.chat", make_ai_chat_handler())
return registry