New: We are now accessible via discord, hop by to give ❤️feedback❤️ or discuss our upcoming features!
Reor is an AI-powered desktop note-taking app: it automatically links related ideas, answers questions on your notes and provides semantic search. Everything is stored locally and you can edit your notes with an Obsidian-like markdown editor.
The hypothesis of the project is that AI tools for thought should run models locally by default. Reor stands on the shoulders of the giants Llama.cpp, Transformers.js & LanceDB to enable both LLMs and embedding models to run locally. (Connecting to OpenAI-compatible APIs like Oobabooga is also supported.)
- Every note you write is chunked and embedded into an internal vector database.
- Related notes are connected automatically via vector similarity.
- LLM-powered Q&A does RAG on the corpus of notes.
- Everything can be searched semantically.
One way to think about Reor is as a RAG app with two generators: the LLM and the human. In Q&A mode, the LLM is fed retrieved context from the corpus to help answer a query. Similarly, in editor mode, the human can toggle the sidebar to reveal related notes "retrieved" from the corpus. This is quite a powerful way of "augmenting" your thoughts by cross-referencing ideas in a current note against related ideas from your corpus.
reor.mp4
- Download from reorproject.org or releases. Mac, Linux & Windows are all supported.
- Install like a normal App.
Reor interacts directly with Llama.cpp libraries so there's no need to download Ollama. Although right now, we don't download models for you so you'll need to download your model of choice manually:
- Download a GGUF model file. Hugging Face has this nice page with the most popular models. I recommend starting with a 7B 4-bit model and see how that performs on your system.
- Connect it in Reor settings under "Add a new local model".
You can also connect to an OpenAI-compatible API like Oobabooga, Ollama or OpenAI itself!
Reor works within a single directory in the filesystem. You choose the directory on first boot. To import notes/files from another app, you'll need to populate that directory manually with markdown files. Integrations with other apps are hopefully coming soon!
Make sure you have nodejs installed.
git clone https://github.com/reorproject/reor.git
npm install
npm run dev
npm run build
Contributions are welcome in all areas: features, ideas, bug fixes, design, etc. This is very much a community driven project. There are some open issues to choose from. For new features, please open an issue to discuss it before beginning work on a PR :)
The main components of the project are located in the following directories:
/electron
: Contains the backend functions that manage all the filesystem as well as the Low-Level Module (LLM)./src
: Contains the frontend of the application, which is a React app.
The backend of the application is located in the /electron
directory. It is divided into several subdirectories:
/Store
: Handles the main functions for the backend in thestoreHandler.ts
file./preload
: Acts as a middleware that exposes the backend functions to the frontend.
The frontend of the application is a React app located in the /src
folder. It communicates with the backend through the functions exposed by the /preload
middleware inside the /electron
folder.
GPL-3.0 license. See LICENSE
for details.
Reor means "to think" in Latin.