Some checks failed
Validate / Hassfest (push) Has been cancelled
Integrate Claude AI into the notification system for intelligent conversational interactions and AI-powered captions. New modules: - ai/service.py: Claude API client with conversation history, caption generation, and album activity summarization - ai/telegram_webhook.py: Telegram webhook handler for incoming bot messages, routes to AI service for responses Features: - Conversational bot: users chat with the bot about albums - AI captions: intelligent notification messages based on album context (people, locations, dates) - enabled per target via "ai_captions" config flag - Album summaries: "what's new?" triggers AI-generated overview - /start command with welcome message - Webhook register/unregister endpoints Architecture: - Per-chat conversation history (in-memory, capped at 20 messages) - Graceful degradation: AI features completely disabled without IMMICH_WATCHER_ANTHROPIC_API_KEY env var (zero impact) - AI caption failure falls back to Jinja2 template rendering - Health endpoint reports ai_enabled status Config: IMMICH_WATCHER_ANTHROPIC_API_KEY, IMMICH_WATCHER_AI_MODEL, IMMICH_WATCHER_AI_MAX_TOKENS Server now has 45 API routes (was 42 after Phase 5). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Plans
This folder contains the primary architecture plan and phase-specific subplans for the Immich Watcher project restructuring.
Structure
primary-plan.md-- Master plan with architecture decisions and phase overviewphase-1-core-library.md-- Extract shared core libraryphase-2-haos-refactor.md-- Wire core into HAOS integrationphase-3-server-backend.md-- Build standalone FastAPI serverphase-4-frontend.md-- Build SvelteKit web UIphase-5-haos-server-sync.md-- Optional HAOS-Server integration
Tracking
Each plan uses checkbox tracking:
[ ]-- Not started[x]-- Completed[~]-- In progress[-]-- Skipped/deferred
Phase subplans are created when work on that phase begins (not all upfront).