Skip to content

chensheng0619/reor

 
 

Repository files navigation

Reor Project

A self-organizing AI note-taking app that runs models locally.

GitHub Downloads (all assets, all releases) Discord GitHub Repo stars

New: We are now accessible via discord, hop by to give ❤️feedback❤️ or discuss our upcoming features!

About

Reor is an AI-powered desktop note-taking app: it automatically links related notes, 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 Ollama, Transformers.js & LanceDB to enable both LLMs and embedding models to run locally. Connecting to OpenAI or OpenAI-compatible APIs like Oobabooga is also supported.

How can it possibly be "self-organizing"?

  1. Every note you write is chunked and embedded into an internal vector database.
  2. Related notes are connected automatically via vector similarity.
  3. LLM-powered Q&A does RAG on the corpus of notes.
  4. 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.mov

Getting Started

  1. Download from reorproject.org or releases. Mac, Linux & Windows are all supported.
  2. Install like a normal App.

Running local models

Reor interacts directly with Ollama which means you can download and run models locally right from inside Reor. Head to Settings->Add New Local LLM then enter the name of the model you want Reor to download. You can find available models here.

You can also connect to an OpenAI-compatible API like Oobabooga, Ollama or OpenAI itself!

Importing notes from other apps

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. Note that if you have frontmatter in your markdown files it may not parse correctly. Integrations with other apps are hopefully coming soon!

Building from source

Make sure you have nodejs installed.

Clone repo:

git clone https://github.com/reorproject/reor.git

Install dependencies:

npm install

Run for dev:

npm run dev

Build:

npm run build

Contributions

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 :)

Folder Structure

The main components of the project are located in the following directories:

  • /electron: Contains the main process functions that manage all the filesystem interactions, LLMs, Embedding Models and the vector database.
  • /src: Contains the frontend of the application, which is a React app.

License

GPL-3.0 license. See LICENSE for details.

Reor means "to think" in Latin.

About

Self-organizing AI note-taking app that runs models locally.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 97.9%
  • JavaScript 0.7%
  • SCSS 0.5%
  • CSS 0.3%
  • HTML 0.3%
  • Makefile 0.2%
  • Dockerfile 0.1%