Local notes search with a small RAG stack. Recall indexes your markdown/text notes and lets you query them using a local Ollama model (no cloud, no API keys).
-
Install Ollama from ollama.com and make sure it’s running (
ollama serveif needed). -
From the project root:
./setup.sh ./run.sh
-
Open
http://localhost:8000in your browser.
| Command | Description |
|---|---|
/help |
Show available commands |
/config |
Display current configuration |
/sources |
List all indexed files |
/clear |
Clear conversation history |
what notes do I have about Python?
summarize my learning notes
what projects have I been working on?
src/
├── server.py # FastAPI backend (API + static serving)
├── app.py # RAG chain setup
├── config.py # Configuration (edit note paths here)
├── data_ingest.py # Load notes from directories
├── chunker.py # Text splitting
├── vector_store.py # FAISS operations
├── static/
│ ├── index.html # Terminal-style UI
│ ├── style.css # Terminal theme
│ └── script.js # Frontend logic
└── data/processed/ # Auto-generated vector index
All settings in src/config.py:
| Setting | Default | Description |
|---|---|---|
NOTES_PATHS |
~/Documents |
Directories to index |
NOTES_EXTENSIONS |
.md, .txt |
File types to include |
MODELS['llm'] |
llama3.2:3b |
Ollama model name |
MODELS['top_k'] |
5 |
Results per query |
MODELS['chunk_size'] |
500 |
Chunk size in chars |
OLLAMA_BASE_URL |
localhost:11434 |
Ollama server address |
| Component | Technology |
|---|---|
| LLM | Ollama (llama3.2:3b, local) |
| Embeddings | all-MiniLM-L6-v2 (local) |
| Vector Store | FAISS |
| Framework | LangChain |
| UI | FastAPI + HTML/CSS/JS |
MIT