Layer 2 of the surfacing strategy (per 2026-05-23 design discussion). The curator already has search_notes / search_journal / search_projects in its allowlist for entity resolution; this commit just directs it to use those searches more broadly — to surface relevant past work that connects to today's beats. Specifically, the system prompt now instructs the curator to: - Search for projects/topics/people the user mentions, even when not strictly needed for record_moment entity linking. - Weave 1-2 short references to relevant past entries into the final summary line, when they connect meaningfully to today's beats. The summary feeds back into the chat model's system prompt on the next turn (per Phase 3 of the architecture), so the chat model gains contextual awareness of related past work without needing tools to retrieve it itself. Light explicit guardrails in the prompt: don't enumerate (avoid 'found 5 related notes'), don't invent references (only mention what was actually retrieved), don't force a connection when nothing relevant turns up. This is the prompt-only Layer 2. Layer 1 (always-on RAG injection into chat context) was already in place. Layer 3 (dedicated 'you might want to revisit' surface in the right rail) is deliberately deferred until 1+2 are observed in practice. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Fabled Scribe
A self-hosted second brain and project management application with integrated LLM capabilities. Write, organise, and act on your notes and tasks with the help of a local AI assistant — all running on your own hardware.
Features
Notes and tasks with a Markdown editor, sub-tasks, milestones, and kanban project workspaces. AI chat with streaming responses, RAG over your notes, and tool use (web search, calendar, weather). A daily briefing that digests your tasks, RSS feeds, and weather on a schedule. Knowledge graph, per-user/group sharing, PWA with push notifications, an MCP server for external AI clients, and an Android companion app.
Quick Start
Prerequisites: Docker and Docker Compose. 8 GB+ RAM recommended for LLM inference.
Download docker-compose.quickstart.yml from this repo, then:
# Optional but recommended — set a secret key
export SECRET_KEY=your-random-secret-here
docker compose -f docker-compose.quickstart.yml up -d
Open http://localhost:5000. The first user to register becomes admin. Go to Settings → General to pull an LLM model — qwen3:8b or llama3.1:8b are good starting points.
GPU: Ollama runs CPU-only by default. See the comments in
docker-compose.quickstart.ymlto enable NVIDIA GPU passthrough.
Development: To build from source, see Development.
Documentation
| Doc | Contents |
|---|---|
| Architecture | Stack, design decisions, data models, key services |
| Configuration | Environment variables, Docker Compose, production setup, security |
| Features | Detailed feature breakdown and keyboard shortcuts |
| Development | Dev workflow, CI/CD, migrations, release process |
| API Keys & MCP | API key management and Fable MCP install guide |
| SSO / OAuth | OIDC setup for Authentik, Keycloak, and other providers |
| API Reference | All REST API endpoints |
| Android App | Flutter companion app architecture and feature status |
License
This project is privately maintained.