Files
FabledScribe/docs/features.md
T
bvandeusen bf292e6019 docs: remove extraneous content — pipeline internals moved to architecture, changelog removed
- features.md: remove SQL impl detail from tasks section, sw.js reference from PWA section,
  and entire "LLM Chat — Internal Pipeline" section (moved to architecture.md)
- architecture.md: add "LLM Pipeline Internals" section (intent routing, tool loop, duplicate
  guards, context window, research pipeline, image cache)
- development.md: remove site-specific NFS path from custom runner instructions
- Remove changelog.md (duplicates git history)
- README.md: remove changelog link

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 08:38:44 -04:00

8.6 KiB
Raw Blame History

Features

Notes

Write in Markdown with a live-preview editor (Tiptap/ProseMirror). Headings, bold, italic, lists, code blocks, and task checklists render inline. A slash-command menu (/) inserts common blocks.

Wikilinks — Link notes with [[Title]] or [[Title|Display Text]] syntax. Clicking a wikilink navigates to (or auto-creates) the referenced note. The editor suggests existing note titles as candidate links while typing [[. Backlinks appear in the note viewer sidebar.

Tags — First-class ARRAY[text] column. Tag autocomplete in the editor sidebar suggests existing tags. Hierarchical tags (project/webapp) supported — filtering by project matches all project/* children. Tags are browsable via the knowledge graph.

Version history — Every body edit snapshots a version (up to 20 per note). Browse and restore from the editor's History panel. Diff view shows changes against the current body.

AI writing assist — Select a passage or work on the full document. Give an instruction ("make this more concise", "add examples"). The assistant streams a proposal; a diff view shows changes to accept or reject. Drafts persist across page loads.

Link suggestions — The editor detects note titles appearing as plain text in the body and suggests converting them to wikilinks.

Tasks

Tasks carry status (todoin_progressdone), priority (none/low/medium/high), due date, milestone assignment, and a parent task (sub-tasks).

Task work logs — Append progress log entries to a task with optional duration. Time tracking is visible in the task editor sidebar.

Sub-tasks — Any task can have child tasks via parent_id. The task viewer shows sub-tasks inline.

Convert freely — Convert a note to a task (sets status=todo) or a task back to a note from the viewer toolbar.

Projects and Milestones

Projects — Group related notes and tasks. Each project has a title, description, goal, status (active/completed/archived), and a colour.

Milestones — Ordered stages within a project. Tasks are assigned to milestones. Milestone completion percentage shown on the project page.

Kanban view/projects/:id groups tasks by milestone in a kanban-style column layout with status-advance buttons directly on cards (→ advance, ✓ complete).

Project Workspace/workspace/:projectId opens a three-panel environment (tasks / chat / notes) locked to a project. The AI assistant creates and updates content directly in the workspace; new notes auto-load in the editor and the task list refreshes automatically after tool calls.

Knowledge Graph

/graph renders all notes, tasks, and tags as a D3 force-directed graph. Tag nodes cluster notes that share tags; invisible project hub nodes attract project members. Physics controls: repulsion, link distance, link strength, hub pull, gravity. Click any node to open a slide-in peek panel. Click a tag node to filter the notes list.

AI Chat

Full conversation history with SSE streaming. Features:

  • RAG — Semantically relevant notes (≥ 0.60 cosine similarity) auto-injected as context. Notes 0.450.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.
  • 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.
  • Message queue — Messages sent while generation is in progress are queued and drained sequentially.
  • Save to note — Save any assistant reply directly as a note.
  • Bulk delete — Select and delete multiple conversations.
  • Retention — Conversations auto-pruned after configurable days (default 90).

Daily Briefing

/briefing is a scheduled, dialogue-based morning briefing. The assistant compiles tasks, calendar events, projects, weather forecast, and RSS digest at configurable times, then checks in throughout the day. You can reply interactively.

Schedule — Configurable slots: morning (default 4am compile), midday (8am check-in), evening (12pm check-in), night (4pm). Scheduler catches up missed slots on startup.

Configuration — Settings → Briefing: enable toggle, location geocoding, office days, time slot toggles, RSS feed management, push notification toggle.

RSS feeds — Add feed URLs with optional name and category. Feeds are fetched and cached; the briefing digest includes recent items. Category badges shown in the UI. Feeds can be manually refreshed.

Weather — Location-based forecast via Open-Meteo. Multiple locations supported (home, work, or any city name). Geocoding via Nominatim.

Profile note — The assistant maintains a profile note for each user that it updates based on briefing conversations, improving personalisation over time.

Web Research

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

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.

Sharing and Collaboration

Share — Share any project or note/task with users or groups at viewer/editor/admin permission levels. Share button in the viewer/project toolbar opens a dialog.

Groups — Admins create platform-wide groups and assign users member/owner roles. Share a resource with a group in one action.

Shared with me/shared lists all incoming shared projects and notes with permission badges.

Notifications — Bell icon in nav shows unread count (60s polling). Notifications generated for: project shared, note shared, added to group. Click navigates to the resource.

Push notifications — Web Push (VAPID) notifies when AI generation completes, even in another tab. Works over HTTPS only. Configurable per-user.

Quick Capture

Quick capture from the Android app routes to the intent classifier. It creates notes, tasks, or projects based on content — using the user's configured model, not the hardcoded default.

Data Export and Backup

  • Personal export — Settings → Data: download all notes/tasks as a Markdown ZIP (with YAML frontmatter) or JSON array.
  • Admin backup — Full application backup (version 2): includes projects, milestones, task logs, AI drafts, note versions, push subscriptions. ID remapping on restore for cross-instance migration.

PWA

Installable as a desktop or mobile app. Service worker caches the shell; push notifications are suppressed when the relevant tab is already focused. Works over HTTPS only in Firefox.

Settings

Settings are tabbed:

Tab Contents
General Assistant name, default model, model management (pull/delete)
Account Email change, password change, session invalidation
Notifications Push notification subscription, briefing push toggle
Integrations CalDAV configuration, SearXNG status
Data Personal export, backup/restore (admin)
Briefing Enable, location, office days, slots, RSS feeds, weather
API Keys Create/revoke API keys, Fable MCP download and install
Config (admin) Base URL, SMTP, OIDC settings
Users (admin) User list, invite links, registration toggle
Logs (admin) Error, audit, and usage logs with search
Groups (admin) Create/manage groups and membership

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)
  • Flutter milestone support in project view

Keyboard Shortcuts

Key Action
g + h Go to Home
g + n Go to Notes
g + t Go to Tasks
g + p Go to Projects
g + c Go to Chat
g (bare) Go to Graph
n New note
t New task
c Focus chat input
e Edit current item
/ Search
? Show shortcuts panel
j / k Navigate list items
Enter Open selected item
Escape Close panel / blur / go home (progressive)
Ctrl+S Save in editor