docs: update architecture and features for calendar + RAG scoping
- architecture.md: add Event model, services/events.py, routes/events.py, CalendarView.vue, EventSlideOver.vue; update Conversation and Project data model tables with new columns; update RAG Pipeline section with three-value scope system, search_projects/set_rag_scope tools, and project summary background job; fix dead-code note for models/event.py; update execute_tool() signature docs; add services/projects.py entry - features.md: replace CalDAV section with full Calendar section covering internal store, AI tools, HomeView widget, and optional CalDAV sync; update AI Chat scope chip description; remove done "Calendar view" item from roadmap Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+11
-4
@@ -43,7 +43,7 @@ Tasks carry status (`todo` → `in_progress` → `done`), priority (`none`/`low`
|
||||
Full conversation history with SSE streaming. Features:
|
||||
- **RAG** — Semantically relevant notes (≥ 0.60 cosine similarity) auto-injected as context. Notes 0.45–0.60 shown in sidebar as "Suggested."
|
||||
- **Attach notes** — Paperclip icon to include specific notes in context.
|
||||
- **Project scope** — Restrict RAG to a single project's notes via the sidebar selector.
|
||||
- **RAG scope chip** — Pill above the input bar shows the current note scope. Click to switch: "Orphan notes only" (default — project notes stay out of general chat), any active project, or "All notes." Scope is persisted per conversation. The AI can also call `search_projects` and `set_rag_scope` mid-conversation to switch scope automatically; the chip pulses when this happens.
|
||||
- **Tool calls** — The assistant can create/update notes, tasks, projects, milestones, search the web, check weather, read RSS, query calendar events, and more. Tool calls display inline with confirm/deny for creates.
|
||||
- **Thinking mode** — Toggle extended reasoning for complex questions.
|
||||
- **Abort** — Stop button cancels in-flight generation.
|
||||
@@ -70,9 +70,17 @@ Full conversation history with SSE streaming. Features:
|
||||
|
||||
The assistant can search the web (SearXNG) and fetch pages, synthesising findings into notes. A lightweight `search_web` tool answers quick questions inline without saving. Requires `SEARXNG_URL` to be configured.
|
||||
|
||||
## CalDAV Calendar
|
||||
## Calendar
|
||||
|
||||
Connect an external CalDAV server (Nextcloud, Radicale, etc.) and manage calendar events via natural language. Tools: `create_event`, `list_events`, `search_events`, `update_event`, `delete_event`. Activated when user configures CalDAV credentials in Settings → Integrations.
|
||||
`/calendar` shows a full FullCalendar view (month, week, day). Click an empty slot to create an event; click an existing event to edit or delete it via a slide-over panel.
|
||||
|
||||
**Internal events store** — Events are stored in the app database (`events` table), making them available without any external calendar. Fields: title, description, start/end datetime, all-day toggle, location, colour.
|
||||
|
||||
**AI tools** — `create_event`, `list_events`, `search_events`, `update_event`, `delete_event` all operate on the internal store. Tool-call result cards in chat are clickable and open the same EventSlideOver for editing.
|
||||
|
||||
**HomeView widget** — The dashboard shows today's and the next 7 days' events as clickable cards above the hero project.
|
||||
|
||||
**CalDAV sync (optional)** — Connect an external CalDAV server (Nextcloud, Radicale, etc.) in Settings → Integrations. Events sync bidirectionally via a `caldav_uid` field.
|
||||
|
||||
## Sharing and Collaboration
|
||||
|
||||
@@ -119,7 +127,6 @@ Settings are tabbed:
|
||||
|
||||
## Roadmap
|
||||
|
||||
- Calendar/timeline view for tasks with due dates
|
||||
- Email integration (read/send via IMAP/SMTP tools in chat)
|
||||
- Session invalidation on user deletion
|
||||
- Flutter push notifications (requires FCM/APNs — separate from web VAPID)
|
||||
|
||||
Reference in New Issue
Block a user