OpenNote

A block-based, AI-powered note-taking app with semantic search — built entirely in Rust.

Status: Heavy Development — APIs, architecture, and workflows are evolving quickly. Contributions, feedback, and experimental use are all welcome.

Features

  • Keyword and semantic search — find notes instantly, or let your documents answer your questions.
  • Fully local — everything runs on your machine. Your data stays private.
  • Self-host Server — you can opt to run a self-hosted server to sync data across all of your devices with encrypted communications. 🔥🔥🔥newly added🔥🔥🔥
  • Blazing fast — built for performance from the ground up.

Roadmap

  • Self-hosted server for syncing documents across devices with encrypted communications
  • Multi-modal support
  • MCP server support
  • Import webpages, databases and files
  • Advanced NLP features to simplify document management (e.g., automatic categorization by semantic similarity)
  • LLM integrations — local-first, always

Getting Started

  1. Visit the Releases page.
  2. Download the archive for your operating system.
  3. Unzip the archive.
  4. Double-click to launch the app.
  5. Enjoy!

For mac users: I don't have an Apple Developer Account yet, so I can't codesign the mac app. You may need to run the following command in Terminal, after pasting the app file to the Applications folder:

sudo xattr -r -d com.apple.quarantine /Applications/opennote.app

Configure the Desktop App

You can configure OpenNote with its configurations.json. It can be found here:

# on macOS
"/Users/yourusername/Library/Application Support/opennote/configurations.json"

# on Linux
"/home/yourusername/.config/opennote/configurations.json"

# on Windows
"C:\Users\Alice\AppData\Roaming\opennote\configurations.json"

However, you may also open the configuration editor by pressing CMD + ; on macOS, or Ctrl + ; on Windows and Linux.

Setup Remote Server

You may host a remote server for syncing across different computers securely. To achieve this, refer to README.md of opennote-server.

Contributing

OpenNote is in active development and welcomes contributions of all kinds — bug reports, feature ideas, code, documentation, and design.

  • Open issues and pull requests on GitHub
  • Explore the crate documentation in the source
  • Reach out with questions or ideas

Credits

Kudos to all the libraries used in this project. See the full list in Cargo.toml and in the Cargo.toml of each sub-crate.

Thanks to appify for bundling the executable as a macOS app.

Thanks to sqlite for localizing relational database.

Thanks to sqlite-vector for localizing vector storages.

License

MIT — see LICENSE.

This project includes code derived from Zed under the Apache 2.0 license — see NOTICE.md.