Skip to content

Latest commit

 

History

605 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nabu

The local-first, privacy-first knowledge base built in pure Rust.

Nabu is a Markdown-native desktop knowledge base for thinkers who demand speed, sovereignty, and polish. Write in clean Markdown. Think with interactive canvases, live backlinks, and a relationship graph. Everything runs on your machine — no cloud, no telemetry, no network calls unless you explicitly make them.

Built on a single Rust core (nabu-core) with a Dioxus 0.6 frontend compiled to WebAssembly and wrapped in Tauri v2 for native desktop performance. Zero JavaScript. Zero Electron. One codebase, one language, one source of truth.


Quick Start

Download a prebuilt DMG from the GitHub Releases page:

Platform Architecture Build
macOS 13+ Apple Silicon (arm64) Nabu-<version>-aarch64.dmg
macOS 13+ Intel (x86_64) Nabu-<version>-x86_64.dmg
Windows 10+ x86_64 Nabu-<version>-x64.msi
Linux x86_64 Nabu-<version>-x86_64.AppImage

A universal binary DMG is also published when both macOS architectures are built.


Why Nabu

Nabu
Privacy All processing is local. Your notes never leave your machine unless you tell them to.
Speed Native performance via Rust + WebAssembly. Startup in ~400ms, search in <10ms.
Portability Plain Markdown on disk. No proprietary formats. Open your vault in any editor.
Extensibility Capability platform with a plugin foundation. Extend Nabu with Rust plugins.
Resilience Automatic version history, crash recovery, and undo/redo on every note.

Core Features

Knowledge Management

  • Setup wizard — first-launch flow to create or open a vault with native folder pickers
  • Recursive file tree — reactive navigation with context menus, keyboard shortcuts, and command palette
  • Markdown editor — live preview with task-checkbox support, toggle blocks, tables, and wiki-links ([[Note]])
  • Tag parsing — real-time extraction from frontmatter with tag-based filtering
  • Full-text search — in-memory index with relevance ranking and backlink discovery
  • Relationship graph — interactive canvas visualization of your vault's link structure
  • Template management — frontmatter templates with variable substitution ({{title}}, {{date}}, {{time}})
  • Theme engine — reactive dark/light/system modes persisted to settings

Capture & Ingestion

  • Clipboard capture — automatically ingest from system clipboard
  • Screenshot ingestion — capture and embed images directly
  • File drop — drag-and-drop files into the editor
  • Folder watch — monitor directories for new content
  • Dictation pill — floating scratchpad for voice input via Whisper.cpp

Version Control & Recovery

  • Snapshot history — immutable version snapshots for every save, browseable with diff view
  • Restore & duplicate — restore any past version or duplicate to a new path
  • Session recovery — workspace state persisted and restored across launches
  • Crash detection.running marker detects unclean shutdowns and offers recovery
  • Undo/Redo — full history stack with per-operation reversibility

Capability Platform

  • Plugin foundation — manifest-based plugin system with permissions, dependencies, and feature contracts
  • Process supervision — managed subprocess lifecycle with health checks and restart policies
  • Synchronization — provider-agnostic sync folder/status models with conflict detection
  • Diagnostics pipeline — streaming diagnostics (lsp, linters, custom providers) to the editor
  • Live event bus — unified EventBus with pub/sub, bridged to the frontend in real-time
  • Capability registry — runtime enable/disable/list of platform capabilities over IPC
  • Health & metrics — live service health reporting and runtime metrics exposed over IPC
  • Graceful shutdown — coordinated teardown persists index and vault graph before exit

Native Integrations

  • macOS Vision OCR — automatic text extraction from images
  • PDF annotation — dedicated viewer with highlight-to-note conversion
  • Whisper.cpp dictation — local speech-to-text with configurable model sizes

Architecture

┌─────────────────────────────────────────────────────────┐
│                    src-tauri/ (Tauri v2)                  │
│  ── IPC commands ──────── 60+ Tauri invoke handlers     │
│  ── Event bridge ──────── EventBus → frontend (nabu-event)  │
└────────┬─────────────────────────────────────────────────┘
         │ WASM / cdylib
┌────────┴─────────────────────────────────────────────────┐
│                    crates/nabu-ui/ (Dioxus 0.6)          │
│  ── CSR frontend ──── Compiled to WASM, no JS runtime    │
│  ── Reactive state ── Dioxus signals + event subscriptions│
└────────┬─────────────────────────────────────────────────┘
         │ Rust calls
┌────────┴─────────────────────────────────────────────────┐
│                    crates/nabu-core/ (Rust core)          │
│                                                         │
│  Capture Engine ──▶ Worker Pool ──▶ Processing Pipeline │
│                                                         │
│  Storage Manager (KnowledgeObjects + Sidecar cache)     │
│  Indexer (full-text + backlinks)                        │
│  VaultGraph (adjacency model for relationship canvas)  │
│  EventBus (unified pub/sub across all services)         │
│                                                         │
│  Capability Platform: Plugin Manager, Process          │
│  Supervisor, Sync Layer, Diagnostics Platform           │
└─────────────────────────────────────────────────────────┘

Data Flow

Capture (clipboard, file, folder)
    │
    ▼
CaptureEngine → WorkQueue → WorkerPool
    │
    ▼
Processing Pipeline (Harper, OCR, transformers)
    │
    ▼
StorageManager (writes .md + .json sidecar)
    │
    ▼
EventBus publishes ITEM_STORED
    ├─▶ Indexer (full-text index)
    └─▶ VaultGraph (relationship graph)

Building from Source

Prerequisites

  • Rust 1.75+ (stable)
  • Tauri CLI v2 (cargo install tauri-cli)
  • System dependencies: libwebkit2gtk-dev, libssl-dev, pkg-config (Linux)
  • Node.js 20+ (CSS pipeline only — no Node runtime in the app)

Development

# Terminal 1 — Tailwind CSS watch
npm install
npm run css:watch

# Terminal 2 — Tauri dev server (hot-reloads UI changes)
cargo tauri dev

Production Build

cargo tauri build

Output: src-tauri/target/release/bundle/ — signed DMG (macOS), MSI (Windows), AppImage (Linux).

Compile Check (CI)

# Check the Rust core
cargo check --workspace

# Check the Dioxus frontend (standalone workspace)
cd crates/nabu-ui
cargo check

Documentation

Resource Description
AGENTS.md Agent guidelines and architecture notes
docs/ Architecture decision records and design documents
crates/nabu-core/src/ Rust doc comments (run cargo doc for full API reference)

Community


License

Copyright © 2026 Nabu Labs.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.


The name "Nabu" is inspired by the ancient Mesopotamian deity of writing and knowledge. This project is not affiliated with any commercial entity.

Releases

Packages

Contributors

Languages