TypeScript MIT

reflect-open

Open-source Reflect rewrite: A local-first AI agent-friendly Markdown note-taking app

T

team-reflect

Dernière activité 29 sept. 2026
team-reflect/reflect-open

1,5 k

étoiles

117

forks

68

issues ouvertes

agentmarkdownnote-taking

Ce README est souvent en anglais.

Reflect

Plain-file notes for Mac and iPhone: daily notes, wiki links, local search, and optional AI over your own Markdown.

Release CI License: MIT

Reflect is an open-source note-taking app built around a folder of Markdown files. It opens to today's note, lets [[wiki links]] connect people, projects, and ideas, and keeps search and backlinks fast without turning your notes into an app-only database.

The app does not require a Reflect account. Notes live in a folder you choose, and optional services such as AI providers, transcription, iCloud, GitHub, or another git remote are connected directly by the user.

Reflect

Features

  • Daily notes: the app opens to today's note, and capture defaults there.
  • Wiki links and backlinks: type [[ to link notes; each note shows what links back to it.
  • Local search: ⌘K searches notes, backlinks, and tags. Optional semantic search can be enabled locally.
  • Ask your notes: ⌘J can query notes through user-provided OpenAI, Anthropic, Google, or OpenRouter keys. Answers cite source notes.
  • Private notes: private: true excludes a note's content from AI and other external services.
  • Audio memos: record audio and transcribe it into the daily note with a configured transcription provider.
  • Browser capture: save links, selected text, screenshots, and page text from Chrome.
  • Sync choices: use iCloud Drive for file sync, or git/GitHub for versioned backup.
  • CLI: reflect today, reflect search, and reflect show are available for scripts and agents. See docs/cli.md.

Install

  1. Install the Mac app. Download the latest release for your Mac:

    Each build is signed, notarized, and auto-updated from GitHub Releases. You can also view all releases.

  2. Install the iOS beta. Join TestFlight. The iOS app uses the same plain-file graph and sync options as the Mac app.

  3. Install the Chrome extension. Add Reflect Capture from the Chrome Web Store to save the current page, selected text, screenshots, and optional page text from Chrome.

You can also build from source.

See CHANGELOG.md for release notes.

Your Notes Are Files

Reflect calls a notes folder a graph. A graph is a folder you can inspect, back up, sync, or edit with other tools:

my-graph/
├── daily/2026-06-12.md     # Daily notes, named by date
├── notes/some-title.md     # Other notes, named from their titles
├── assets/                 # Images and attachments
└── audio-memos/            # Audio recordings and transcripts

Markdown files are the source of truth. Reflect adds search, backlinks, tags, and related notes on top, but the files remain usable in any Markdown editor.

Sync and Privacy

For simple file sync across Apple devices, create your graph inside an iCloud-synced folder such as iCloud Drive/ReflectGraph.

For versioned backup or non-iCloud sync, connect GitHub in the app or add any SSH git remote. Git sync stores the Markdown graph in a repository you control.

By default, note content stays on the device. External calls only happen after you configure a provider, connect a git remote, or use a platform sync service. See docs/privacy.md for the full privacy model.

Building from Source

Prerequisites:

git clone https://github.com/team-reflect/reflect-open.git
cd reflect-open
corepack enable
pnpm install
pnpm tauri dev
pnpm tauri build

Project Layout

Reflect is a pnpm/Turborepo monorepo:

reflect-open/
├── apps/desktop/          # Mac and iOS app
├── apps/cli/              # `reflect` CLI
├── apps/extension/        # Chrome capture extension
├── apps/native-host/      # Browser capture helper
├── packages/core/         # Shared TypeScript logic
├── packages/db/           # Database types and helpers
├── crates/index-schema/   # Shared index schema
├── design-system/         # Tokens and UI primitives
└── docs/                  # Product, architecture, and contributor docs

See CONTRIBUTING.md, docs/contributing/, and AGENTS.md for conventions and development guides.

Development

Common commands from the repository root:

pnpm dev              # Vite only, http://localhost:1420
pnpm typecheck        # TypeScript
pnpm lint             # oxlint
pnpm test             # vitest; use --run path/to/test for one file
pnpm check            # typecheck + lint

# Rust tests that compile the desktop crate need sidecars staged first
pnpm --filter @reflect/desktop sidecar
cargo test --workspace

For iOS simulator development:

pnpm tauri:ios:dev "iPhone 17 Pro"

For TestFlight builds:

pnpm release:ios --build-number=123

Status

Reflect is in beta and used daily. The current focus is the Mac app, iOS companion, browser capture, local-first data model, and sync reliability.

Windows, Android, and a plugin API are out of scope for now. See the V2 product vision and the implementation plans in docs/plans/ for the longer-term direction.

License

MIT.

Projets similaires

Capture first. Organize later. A local-first Markdown app that turns scattered records into clear notes with AI.

TypeScriptagentai-notesknowledge-base
Ccodexu
12,9 k étoiles973

An Open Source implementation of Notebook LM with more flexibility and features

TypeScriptassistantlearningnote-taking
Llfnovo
39,6 k étoiles4,6 k

A highly extensible Markdown editor featuring version control, AI Copilot, document annotations, mind maps, document encryption, executable code snippets, chart embedding, HTML applets, plugins, and macro replacement. Its integrated sidebar terminal makes working with AI faster and more convenient.

TypeScriptagentchatgptdeepseek
Ppurocean
6,8 k étoiles920