Capturing content

Every capture path produces the same thing: an immutable source in raw/<id>/ that Anthracite then processes into your wiki and tasks. This page covers each path that ships today, with concrete steps and copy-pasteable examples.

Find your port first. The local HTTP routes below (/v1/ingest, /v1/webhook/...) live on the backend's loopback port. When you run from source the port is 5050. In the packaged app the backend picks a private loopback port, so always read the actual values from Settings → Developer — it shows the exact Endpoint, Port, Bearer token, and Webhook URL for the running vault. The examples below use 5050; substitute your port.

Quick chooser

You want to capture… Use
A folder of notes / scans / exports Folder watch or drag-and-drop
Your existing Obsidian vault Obsidian (ingest-only)
Your Apple Notes Apple Notes
Voice memos / audio recordings Voice memos
Web articles / selections while browsing Browser clipper
Anything from a script / your own tools Local ingest API
Apple Shortcuts / Zapier / IFTTT Webhook
reMarkable notebooks & handwriting reMarkable
Notion pages & databases Notion
Readwise highlights Readwise

Folder watch

Point Anthracite at a directory; new files (.md, .txt, .pdf, images, audio) are copied into raw/ and processed. core-service owns folder watch in-process (FolderWatchSyncService); the legacy sync-service process is not auto-started (see RUNNING.md).

No API key. Files are hash-deduplicated, so re-dropping the same file won't create duplicates.


Obsidian (ingest-only)

Watch an existing Obsidian vault and import its Markdown into Anthracite. This is ingest-only: Anthracite reads your Obsidian notes into its own raw/wiki/ pipeline and never writes back into your Obsidian vault.

  1. Open Settings → Connections → Obsidian.
  2. Set Obsidian vault folder to the absolute path of your vault (e.g. /Users/you/Documents/My Vault).
  3. Enable it (and Auto-sync if you want it to keep watching).

Frontmatter and [[wikilinks]] are preserved. Anthracite automatically skips its own wiki/, raw/, and Obsidian's .obsidian/ folders so nothing loops back on itself.


Apple Notes

Import your Apple Notes — read directly from the Notes database on this Mac, nothing goes through a server or iCloud API.

  1. Open Settings → Connections → Apple Notes.
  2. Grant Full Disk Access when prompted: macOS protects the Notes database, so Anthracite can't read it without this. The card links straight to System Settings → Privacy & Security → Full Disk Access; toggle Anthracite on there, then come back.
  3. Click Sync now. Optionally enable Auto-sync (5/10/15/30/60 min).

What comes across:

Current limits:

If sync fails with a "Notes database is busy" message, quit the Apple Notes app and retry.


Voice memos

Drop audio files and get transcripts — transcription runs locally via Whisper; audio never leaves your Mac.

There's no in-app microphone recording (yet) — record with Voice Memos or any recorder, then drop the file. A tip for iPhone users: a two-step Apple Shortcut can save Voice Memos into the watched folder automatically.


Browser clipper

A Manifest V3 browser extension (Chrome/Edge/Brave, plus a best-effort Firefox build) that pushes web clips into your local vault via the local ingest API. Nothing leaves your machine — clips go straight to the desktop app over 127.0.0.1.

It offers three actions: Clip selection (highlighted text), Clip page (reader mode) (main article via Readability), and Clip URL only (title + link).

Install (load unpacked)

The extension ships unpacked (web-store signing is a later step).

Chrome / Edge / Brave

  1. Build it: pnpm --filter @anthracite/clipper build (output in apps/clipper/dist/).
  2. Open chrome://extensions.
  3. Toggle Developer mode (top-right).
  4. Click Load unpacked and select apps/clipper/dist/.

Firefox

  1. Build it: pnpm --filter @anthracite/clipper build:firefox.
  2. Open about:debugging#/runtime/this-firefox.
  3. Click Load Temporary Add-on… and pick apps/clipper/dist/manifest.json (removed when Firefox restarts).

Configure the token + port

  1. In the desktop app, open Settings → Developer → Local ingest API.
  2. Copy the Bearer token and the Port (or the full Endpoint URL).
  3. Open the extension's Options page (popup → Options).
  4. Paste the token. In Endpoint or port, paste either the full endpoint (http://127.0.0.1:5050/v1/ingest), the origin (http://127.0.0.1:5050), or just the bare port (5050) — all are accepted.
  5. Optionally set Tags applied to every clip (comma-separated).
  6. Click Save, then Test connection.

Settings are stored only in that browser. Each vault has its own token, so switching vaults means re-pasting the token here.


Local ingest API

A loopback HTTP endpoint for pushing content from scripts or your own tools. It's the same route the browser clipper uses.

Get the token and port from Settings → Developer → Local ingest API.

curl -X POST http://127.0.0.1:5050/v1/ingest \
  -H "Authorization: Bearer YOUR_TOKEN_HERE" \
  -H "Content-Type: application/json" \
  -d '{
        "title": "Distillation notes",
        "text": "Knowledge distillation transfers behavior from a large teacher model to a small student.",
        "url": "https://example.com/article",
        "tags": ["ml", "reading"]
      }'

Errors you might see:

Security. Anyone with this token + port can write to your vault. The token lives in the vault's .anthracite/state.json and never leaves your machine. Rotate it any time with Regenerate token in Settings → Developer (which invalidates the old one — update your clipper/scripts after).


Webhook

A loopback webhook URL for automations that can POST but can't set custom headers — Apple Shortcuts, Zapier, IFTTT, etc. Authentication is carried by a per-vault secret in the URL path instead of a header.

Get the full Webhook URL (port + secret already filled in) from Settings → Developer → Webhook ingest.

JSON example:

curl -X POST "http://127.0.0.1:5050/v1/webhook/YOUR_SECRET_HERE" \
  -H "Content-Type: application/json" \
  -d '{ "title": "Idea", "text": "Ship the weekly digest as an email.", "tags": ["ideas"] }'

Plain-text example (e.g. an Apple Shortcut posting raw text):

curl -X POST "http://127.0.0.1:5050/v1/webhook/YOUR_SECRET_HERE" \
  -H "Content-Type: text/plain" \
  --data "Quick thought I want processed later."

Notes:


reMarkable

Sync notebooks, PDFs, and handwritten pages from your reMarkable tablet; the .rm pages are rendered to page previews and read into extracted.md.

  1. Open Settings → Connections → reMarkable.
  2. Go to my.remarkable.com/device/desktop/connect and generate a one-time 8-character code.
  3. Enter the code in Anthracite to link the device.
  4. Pick the notebooks to sync — it's an allowlist (with search/sort), so your grocery-list notebook doesn't have to become knowledge.
  5. Sync manually, or enable Auto-sync (5/10/15/30/60 min).

Notes on behavior:

Only the official reMarkable cloud sync is supported today (no rmfakecloud or USB/SSH transfer yet).


Notion

Bring in Notion pages and databases as sources.

Live API (recommended):

  1. Create an internal integration at notion.so/profile/integrations.
  2. Share the pages/databases you want with that integration.
  3. Open Settings → Connections → Notion, paste the integration token, and sync.

Bulk export (zero-auth on-ramp): export your Notion content as Markdown & CSV and drag the ZIP/files onto Anthracite to import them as sources.

Notes on behavior:

See docs/NOTION-CONNECTOR-SPEC.md for connector details.


Readwise

Pull in your Readwise highlights (books, articles, tweets — whatever you highlight ends up in your wiki's pool).

  1. Get your access token from readwise.io/access_token.
  2. Open Settings → Connections → Readwise, paste it, Connect.
  3. Sync now, or enable Auto-sync.

Each book/article becomes one source containing its highlights and your notes, with dates. Sync is incremental, and re-synced highlights are merged (no duplicates). Like Notion, Readwise sources are read-only in Review — the next sync would overwrite manual edits.

The token is stored in the macOS keychain, not in a config file.


After capture: processing

Whether a new source is processed automatically depends on Process automatically (Settings → Ingestion & OCR) and the per-connector policy:

To process manually:

Then read the results — see Working with your knowledge.

© 2026 anthracite.co Next: Syncing vaults →