# mindzj **Repository Path**: jiangkaiwen/mindzj ## Basic Information - **Project Name**: mindzj - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-26 - **Last Updated**: 2026-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

MindZJ logo
MindZJ — An open-source, offline note-taking app with native AI & CLI.

A fully open-source local note-taking app that takes the best of Obsidian and pushes further on AI integration, CLI workflows and plugin sandboxing.

FeaturesInstallationQuick StartShortcutsCLIDevelopmentLicense

Version License Tauri Platform

🌐 README available in: English | 中文 | 日本語 | Français | Deutsch | Español

---

Buy Me A Coffee   Ko-fi   PayPal

If you find MindZJ useful, consider supporting the project

--- ## Preview

MindZJ Demo
MindZJ Main Interface

MindZJ Demo
Math Formulas

MindZJ Demo
Markdown Basics

MindZJ Plugins
MindZJ Plugins

MindZJ Welcome
MindZJ Welcome

MindZJ Main Interface
Editing Markdown with live preview

--- ## Features ### Core - **Offline, local-first** — MindZJ is a fully offline note-taking app. Every note lives in your vault as a plain `.md` file on your own disk, all data is stored locally, and nothing is ever uploaded to any server - **AI-native kernel** — Ollama (offline), Claude and OpenAI are first-class citizens, wired directly into the Rust kernel - **CLI-first** — a full command-line interface that plays nicely with pipes, scripts and AI tool chains - **Lightweight** — built on Tauri 2.0 (~10 MB installer) instead of Electron (~150 MB) - **Cross-platform** — Windows, macOS, Linux, iOS and Android from a single code base - **Plugin sandbox** — plugins run inside WebWorkers with declarative permissions, safer than the Obsidian model ### Editing - **Live preview + source + reading** — three editor modes, instantly toggled with `Ctrl+E` - **Markdown all the way** — headings, lists, tables, code fences, math (KaTeX), callouts, Mermaid diagrams - **Smart list continuation** — `Enter` extends the current list, `Tab` / `Shift+Tab` to indent/outdent - **Inline image paste** — clipboard images are saved into the vault and referenced automatically - **Auto-save** — every change is persisted atomically with fsync + rename, no data loss on power cuts - **Snapshots** — every edit creates a timestamped snapshot so you can always roll back ### Navigation - **Wiki links** — `[[note]]` style links with autocomplete and backlink tracking - **Outline view** — jump through headings with a single click - **Full-text search** — powered by the Rust `tantivy` engine, instant even on large vaults - **Command palette** — `Ctrl+P` to launch any command - **Tabs & splits** — right-click a tab to split right, left, up or down - **File tree** — drag and drop, custom sort order, pinned folders ### Mind maps - **Native `.mindzj` format** — a dedicated mind-map editor ships as a built-in plugin - **Rainbow connections, drag & drop, copy / cut / paste** — every feature from the standalone MindZJ plugin is available here too ### Internationalisation - **6 languages out of the box** — English, 简体中文, 日本語, Français, Deutsch, Español ### Customisation - **Theming** — light / dark / system, with CSS variables you can override per vault - **Hotkeys** — rebind every shortcut through a visual recorder in Settings - **Plugins** — install community plugins, write your own against the Obsidian-compatible API --- ## Installation ### Pre-built binaries > _Coming soon — grab the latest installer from [GitHub Releases](https://github.com/zjok/mindzj/releases)._ ### Build from source ```bash git clone https://github.com/zjok/mindzj.git cd mindzj npm install npm run tauri:build ``` The installer will be in `src-tauri/target/release/bundle/`. ### Prerequisites - [Rust](https://rustup.rs/) ≥ 1.77 - [Node.js](https://nodejs.org/) ≥ 20 LTS - [Tauri 2.0 prerequisites](https://v2.tauri.app/start/prerequisites/) --- ## Quick Start 1. Launch MindZJ and pick a folder as your vault 2. Press `Ctrl+N` to create a new note, or drop existing `.md` files into the folder 3. Start typing — Markdown renders live as you go 4. Use `[[wiki-link]]` to cross-reference other notes 5. Open the command palette with `Ctrl+P` and type to find any action 6. Toggle view mode with `Ctrl+E` — live preview → source → reading → live preview 7. Press `Ctrl+,` to open Settings and customise everything to your taste --- ## Keyboard Shortcuts All shortcuts are rebindable in **Settings → Hotkeys**. | Action | Default Shortcut | | ---------------- | ----------------------- | | New note | `Ctrl + N` | | Save | `Ctrl + S` | | Command palette | `Ctrl + P` | | Toggle view mode | `Ctrl + E` | | Toggle sidebar | `Ctrl + \`` | | Settings | `Ctrl + ,` | | Search in vault | `Ctrl + Shift + F` | | Find in note | `Ctrl + F` | | Task list | `Ctrl + L` | | Bold | `Ctrl + B` | | Italic | `Ctrl + I` | | Inline code | `Ctrl + Shift + E` | | Heading 1–6 | `Ctrl + 1` … `Ctrl + 6` | | Zoom editor text | `Ctrl + Mouse Wheel` | | Zoom UI | `Ctrl + =` / `Ctrl + -` | | Screenshot | `Alt + G` | --- ## CLI MindZJ ships with a standalone `mindzj` CLI that talks to the same Rust kernel as the desktop app. ```bash # Open a vault mindzj vault open ~/my-notes # Create, list, search, read notes mindzj note create "My new note" mindzj note list mindzj note search "keyword" mindzj note read "My new note" | grep "TODO" # AI integration mindzj config api-key create mindzj ai ask "How is my project going?" ``` Every kernel operation you can perform through the GUI is also reachable from the CLI — ideal for scripting, bulk imports, and AI tool chains. --- ## Architecture 1. **Kernel / UI separation** — every file operation goes through the Rust kernel API, the frontend never touches the file system directly 2. **Atomic writes** — every save is `write temp → fsync → rename`, survives power loss 3. **Path traversal protection** — every path is validated against the vault root 4. **Automatic snapshots** — each edit is backed up so you can always undo 5. **Plugin sandbox** — plugins run in WebWorkers with an explicit permission manifest ``` mindzj/ ├── src-tauri/ # Rust backend (kernel + Tauri commands) │ └── src/ │ ├── kernel/ # Core: vault, links, search, snapshots │ └── api/ # Tauri command handlers ├── src/ # SolidJS frontend │ ├── components/ # UI components │ ├── stores/ # Reactive state │ └── plugin-api/ # Plugin API types ├── cli/ # Standalone Rust CLI └── docs/ # Documentation ``` ### Technology Stack | Layer | Technology | | ---------------- | ------------------------------- | | Desktop / mobile | Tauri 2.0 (Rust + WebView) | | Frontend | SolidJS + TypeScript | | Editor | CodeMirror 6 | | Styling | UnoCSS + CSS variables | | Search | tantivy (Rust full-text search) | | CLI | Rust (clap) | --- ## Development ```bash # Install dependencies npm install # Start the full Tauri dev app (Rust backend + Vite frontend + HMR) npm run tauri:dev # Frontend only (no native shell) npm run dev # Type check npm run typecheck # Production build npm run tauri:build ``` --- ## Support If you find MindZJ useful, consider supporting the project:

Buy Me A Coffee   Ko-fi   PayPal

--- ## License This project is licensed under the [GNU Affero General Public License v3.0](LICENSE) (AGPL-3.0-or-later). ---

Made with ❤️ by SuperJohn · 2026.04