Příkazová řádka exporter
Spouštějte své exporty z Terminálu, cronu, zálohovacích nástrojů a agentů.
exporter je aplikace Exporter pro Mac spuštěná bez okna. Používá stejná připojení, složky exportu, výběr a nastavení, jaké jste si nastavili v aplikaci, a zapisuje do stejného záznamu exportů. Funguje i při zavřené aplikaci a nikdy se na nic neptá: cokoli chybí, zastaví běh s návratovým kódem 2 a jedním řádkem, který řekne, co udělat. Jen pro macOS.
Instalace
- Nainstalujte Exporter z Mac App Storu (stažení) a otevřete ho.
- Připojte aplikaci (Apple Notes, Bear, Logseq, Kontakty, Zprávy nebo Čas u obrazovky) nebo složku Dokumentů a zvolte její složku exportu (začínáme). Tato oprávnění lze udělit jen v aplikaci.
- Na kartě Příkazová řádka v aplikaci stiskněte „Zkopírovat instalační příkaz“ a jednou ho vložte do Terminálu.
Aplikace běží v sandboxu a nemůže zapisovat do vaší proměnné PATH, proto je poslední krok vložení. Řádek nainstaluje exporter do /opt/homebrew/bin, pokud tato složka existuje a patří vám (bez sudo), jinak do /usr/local/bin se sudo. Opakované vložení je bezpečné; nahradí, co tam bylo. Řádek nainstaluje také notes-exporter, starý název příkazu, takže starší skripty a řádky cronu fungují dál. exporter help install vypíše řádek pro váš Mac.
Zdroje
--source přijímá jednu z těchto hodnot:
| zdroj | přijímá také | zapisuje |
|---|---|---|
apple |
apple-notes, applenotes, notes |
markdown nebo html |
bear |
markdown nebo html | |
logseq |
vždy markdown | |
contacts |
apple-contacts, addressbook |
vždy markdown |
messages |
imessage, chats, conversations |
vždy markdown |
screentime |
screen-time, usage |
vždy markdown, jeden soubor na den |
reminders |
apple-reminders, lists, todos |
vždy markdown, jeden soubor na seznam |
claude-code |
claudecode, claude, claude-code-sessions |
markdown, původní log, nebo obojí, podle zaškrtnutí na kartě |
wallet |
passes, pkpass, boarding-passes, tickets |
vždy markdown, jeden soubor na kartu |
documents |
docs, files, pdf |
formáty zaškrtnuté na kartě Dokumentů |
Formáty
--format přijímá markdown (nebo md) nebo html; na velikosti písmen nezáleží. Cokoli jiného skončí hlášením error: --format pdf: expected markdown | html a návratovým kódem 64.
- bez něj
synczapisuje každou aplikaci ve formátu nastaveném na její kartě (Apple Notes a Bear mají každý vlastní) aexportzapisuje podle nastavení aplikace, kterou exportuje;exporter help syncaexporter help exportukazují aktuální nastavení - Logseq, Kontakty, Zprávy a Čas u obrazovky jsou vždy markdown a Dokumenty zapisují formáty zaškrtnuté na své kartě, takže u nich se
--format htmlignoruje s poznámkou:note: logseq export is always markdown, so --format is ignored for this source. - Apple Notes zapisují jednu stránku
.htmlna poznámku (formát HTML), přílohy zkopírované doattachments/vedle ní a odkazované, bez front matter. HTML z Bearu je prostý text poznámky uvnitř<pre>, bez stylů, a odkazy na přílohy zůstanou jako text Markdownu: soubory se zkopírují, ale neodkazuje se na ně - MCP server čte jen soubory markdown, takže export pouze v HTML pro něj není vidět
- Apple Notes a Bear zapisují v jednom běhu jeden formát; obojí v jedné synchronizaci zapisují jen Dokumenty. Běh odstraňuje jen staré soubory svého vlastního formátu, takže po přepnutí zůstanou ve složce soubory druhého formátu. Pro oba formáty dejte každému vlastní složku:
exporter export --dest ~/Backups/notes-md --format markdown
exporter export --dest ~/Backups/notes-html --format html
sync
Spustí export nastavený v aplikaci, jednou, přírůstkově, do složek exportu aplikace.
exporter sync [--source <source>]... [--format markdown|html] [--full] [--json] [--quiet]
| přepínač | co dělá | výchozí |
|---|---|---|
--source <source> |
jen tato aplikace, lze opakovat | všechny připojené aplikace; nepřipojené se přeskočí |
--format markdown|html |
jen pro tento běh, nastavení aplikace se nemění. Uloží se do stejné složky exportu jako druhý formát; chcete-li mít oba, exportujte každý do vlastní složky pomocí export --dest |
vaše nastavení v aplikaci |
--full |
exportuje vše znovu. Před zápisem odstraní jen soubory, které zapsal Exporter; vše ostatní ve složce exportu zůstane | vypnuto |
--json |
strojově čitelný souhrn | vypnuto |
--quiet, -q |
jen chyby | vypnuto |
exporter sync --source apple
apple notes: exporting…
apple notes: 1204 of 1204 exported · 3 removed · 18.2s · markdown → /Users/me/Documents/notes
Souhrnný řádek má tvar <source>: <succeeded> of <selected> exported, pak, pokud nastanou, N failed, N removed (soubory položek, které byly smazány, přejmenovány nebo přesunuty), N attachment issues, a nakonec doba trvání, formát a zapsaná složka.
Pokud aplikace běží, sync nic neexportuje, skončí s kódem 0 a vypíše Exporter is running: real-time sync is live, the export root is already current.
export
Jednorázový export do složky podle vaší volby, pro snímky a skripty. Funguje i při otevřené aplikaci.
exporter export --dest <folder> [--source <source>] [--format markdown|html] [--organize folders|tags|smart] [--folder "Name"]... [--tag name]... [--dry-run] [--json] [--quiet]
| přepínač | co dělá | výchozí |
|---|---|---|
--dest <folder> |
povinný. Musí ležet uvnitř složky povolené na kartě Příkazová řádka v aplikaci („přidat složku…“). Povolení pro ~/Backups platí pro všechny složky pod ní |
žádné |
--source <source> |
aplikace k exportu | apple |
--format markdown|html |
formát pro tento běh | vaše nastavení v aplikaci |
--organize folders|tags|smart |
jen Apple Notes: jak se poznámky rozloží do složek, pro tento běh | “Uspořádat” na kartě |
--folder "Name" |
jen tato složka Apple Notes, lze opakovat, název se porovnává bez ohledu na velikost písmen | výběr uložený v aplikaci |
--tag name |
jen tento tag, lze opakovat, Apple Notes nebo Bear | výběr uložený v aplikaci |
--dry-run |
vypíše, co by se exportovalo, nic nezapíše | vypnuto |
--json, --quiet (-q) |
jako u sync | vypnuto |
Bez --folder nebo --tag exportují Apple Notes a Bear výběr uložený v aplikaci. Logseq exportuje celý graf; Kontakty, Zprávy, Čas u obrazovky a Dokumenty exportují to, co mají zaškrtnuté na kartě, stejně jako sync; filtry se u nich ignorují s poznámkou. U Dokumentů --dry-run vypíše would convert <n> document(s) a běh uvede soubory, které nedokáže přečíst: note: 3 file(s) skipped: not a format any engine converts.
exporter export --dest ~/Backups/notes-$(date +%F)
exporter export --dest ~/Backups/work --folder "Work" --format html
exporter export --dest ~/Backups/bear --source bear --tag journal
exporter export --dest ~/Backups/people --source contacts
exporter export --dest ~/Backups/papers --source documents
exporter export --dest ~/Backups/notes --dry-run
would export 100 apple notes · markdown → /Users/me/Backups/notes
list
exporter list sources|folders|tags|dests [--source apple|bear] [--json]
| seznam | co ukazuje | JSON |
|---|---|---|
sources |
každá aplikace, připojená i nepřipojená, s jeho počtem. Dokumenty se neuvádějí | [{"source": "apple", "connected": true, "notes": 1204}, {"source": "messages", "connected": true, "conversations": 1532}, {"source": "bear", "connected": false}], s pages pro logseq, contacts a days pro screen-time |
folders |
složky Apple Notes s počty poznámek, odsazené podle hloubky. --source bear je chyba (kód 64) |
[{"name": "Work", "notes": 42, "level": 0}] |
tags |
tagy s počty, ve výchozím stavu Apple Notes, Bear s --source bear |
[{"name": "journal", "notes": 12}] |
dests |
složky, do kterých smí export --dest zapisovat, a k tomu složka exportu každé aplikace |
[{"path": "/Users/me/Backups", "kind": "granted"}], kde kind je granted, granted, volume not mounted nebo export root (apple-notes) |
exporter list folders --json
[{"name": "Work", "notes": 42, "level": 0}]
status
exporter status [--json]
apple notes connected · last export 2026-09-11 03:00
bear not connected
logseq not connected
contacts not connected
messages connected · last export 2026-09-11 03:01
screen time not connected
documents not connected
root (apple-notes) /Users/me/Documents/notes
root (messages) /Users/me/Documents/messages
destinations /Users/me/Backups
version 3.24 · free · 100 of 100 free notes used
messages free · 50 of 50 free conversations used
organize apple notes by folder · contacts in one folder
app not running
S --json: jeden objekt na aplikaci, pojmenovaný apple-notes, bear, logseq, contacts, messages, screen-time, documents, každý {"connected": true, "lastExport": "2026-09-11 03:00"} (null, pokud nikdy neproběhl export); destinations (cesty); tier (full nebo free, odemčení Apple Notes) a freeNotesUsed; contactsTier a freeContactsUsed; messagesTier a freeConversationsUsed; screenTimeTier a freeDaysUsed; organize ({"appleNotes": "folders", "contacts": "flat"}, “Uspořádat” na kartách); appRunning. Časy jsou místní, yyyy-MM-dd HH:mm.
log
Nedávné běhy exportu, od nejnovějšího: stejný záznam, jaký ukazuje aplikace, ze všech složek exportu a povolených složek --dest. Složky s datem vytvořené pod povolenou složkou se nečtou; jejich záznam je v <folder>/.exporter/.
exporter log [--last N] [--json]
| přepínač | co dělá | výchozí |
|---|---|---|
--last N |
kolik běhů | 10 |
--json |
jeden objekt na běh | vypnuto |
2026-09-11 03:00 apple-notes 1204/1204 exported 3 removed clean → /Users/me/Documents/notes
JSON: [{"source", "finishedAt", "selected", "succeeded", "failed", "format", "status", "destination", "prunedFiles", "runError"}]. status je clean, warnings (chybějící přílohy) nebo failures.
doctor
Ověří, že export bez okna bude fungovat, a pro každou kontrolu vypíše jeden řádek: ok, FAIL s řádkem fix: pod ním, warn, nebo -- pro informaci.
exporter doctor
Kontroluje, že databáze každé připojené aplikace je čitelná a jeho složka exportu zapisovatelná, že každé uložené oprávnění ke složce funguje, že každá složka --dest je zapisovatelná, index a nainstalovaný příkaz. Na konci uvede úroveň verze, zda aplikace běží, a poslední pád, pokud nějaký byl. Kód 0 vypíše all good., kód 2 vypíše N problem(s) found.
report
Vypíše diagnostickou zprávu (verze aplikace, macOS a hardware, stav připojení, nedávné běhy, poslední pád; žádný obsah poznámek) a zkopíruje ji do schránky.
exporter report [--send] [--email <addr>]
| přepínač | co dělá | výchozí |
|---|---|---|
--send |
odešle zprávu nám a vypíše sent., nebo offline: queued, will send on the next run or app launch. |
vypnuto |
--email <addr> |
přidá vaši adresu, abychom mohli odpovědět | žádná |
help a version
exporter help [topic]: tématasync,export,list,status,log,doctor,report,cron,install. Nápověda k příkazu ukazuje vaše aktuální nastavení jako výchozí hodnotysync,export,list,logareportpřijímají také--helpnebo-hexporter version(nebo--version,-v) vypíšeexporter 3.24- samotný
exporterv terminálu vypíše přehled a skončí s kódem 64
Výstup JSON
--json funguje u sync, export, list, status a log. Výstup je formátovaný se seřazenými klíči. U sync a export přidejte --quiet: bez něj se řádky průběhu a poznámek vypíší na stdout před JSON. export vypíše jeden souhrnný objekt, sync vypíše {"runs": [...]} s jedním objektem na zdroj:
{
"attachmentIssues" : 0,
"durationSec" : 18.2,
"failed" : 0,
"format" : "markdown",
"root" : "/Users/me/Documents/notes",
"runError" : null,
"selected" : 1204,
"source" : "apple-notes",
"status" : "clean",
"succeeded" : 1204
}
Když aplikace běží, sync vypíše svůj jeden řádek a žádný JSON. Chyby jdou na stderr jako error: <what happened and what to do>.
Návratové kódy
| kód | význam |
|---|---|
| 0 | v pořádku, včetně běhu, který zkrátil limit zdarma |
| 1 | selhání exportu: položka selhala, běh narazil na chybu, nebo vybral položky a žádnou nezapsal |
| 2 | vyžaduje nastavení: aplikace není připojená, složka není povolená, složka nebo tag nenalezeny, není co exportovat; doctor našel problémy; nainstalovaný příkaz má starý formát nebo aplikace, na kterou ukazuje, zmizela |
| 64 | použití: neznámý příkaz nebo přepínač, chybějící nebo špatná hodnota, --folder s Bearem, list folders --source bear, samotný exporter v terminálu |
Kam se soubory ukládají
sync zapisuje do složky exportu nastavené pro každou aplikaci v Exporteru, například ~/Documents/notes nebo ~/Documents/messages; export zapisuje do --dest. Složka na úrovni vaší domovské složky nebo o úroveň níž, například samotná ~/Documents, dostane podsložku pro každou aplikaci (notes-export, messages-export a tak dále) a hlubší složka se použije tak, jak je. Souhrnný řádek (za šipkou) a root v JSON ukazují skutečnou složku.
Každá složka exportu obsahuje .exporter/last-export.json a .exporter/last-export.md (poslední běh) a .exporter/history/ (posledních 50 běhů). Každá aplikace uchovává také .exporter/files.json, každý soubor, který běh zapsal: příští běh odstraní jen soubory z tohoto seznamu, které už žádná položka nevytváří, takže poznámky, které jste smazali, přejmenovali nebo jim změnili tagy, přijdou o svůj starý soubor (Čas u obrazovky soubor dne nikdy neodstraní). Exporty z Apple Notes a Logsequ dostanou také bases/ se zobrazeními pro Obsidian.
Limit zdarma
Příkazová řádka má stejné limity jako aplikace:
| aplikace | zdarma |
|---|---|
| Apple Notes | 100 poznámek |
| Kontakty | 100 kontaktů |
| Zprávy | 50 nejnovějších konverzací |
| Čas u obrazovky | 10 nejnovějších dnů při první synchronizaci, a jen ty: pozdější dny potřebují odemčení |
| Dokumenty | 10 naposledy změněných dokumentů |
| Bear a Logseq | bez limitu |
Už exportované položky se dál synchronizují zdarma; limit zastaví jen nové. Běh, který na limit narazí, přesto exportuje, co smí, skončí s kódem 0 a vypíše poznámku (ne při --quiet):
note: 42 note(s) skipped: free version limit (100 of 100 free notes). upgrade in the app to export everything.
note: 58 contact(s) skipped: free version limit (100 of 100 free contacts). unlock contacts in the app to export everything.
note: 1522 conversation(s) skipped: free version limit (50 of 50 free conversations). unlock messages in the app to export everything.
note: 11 day(s) skipped: free version limit (10 of 10 free days). unlock screen time in the app to archive every day.
note: 5 document(s) skipped: free version limit (10 of 10 free documents). unlock documents in the app to convert every one.
status --json obsahuje úroveň a využitý počet pro Apple Notes, Kontakty, Zprávy a Čas u obrazovky. Každá omezená aplikace se odemyká vlastním jednorázovým nákupem v aplikaci Exporter, cena podle země, bez předplatného a bez platby přes web. Příkazová řádka čte nákup při každém běhu; pokud App Store neodpoví do 5 sekund, běh pokračuje v rámci limitu zdarma.
Plánování
exporter help cron vypíše tyto řádky s úplnou cestou k příkazu na vašem Macu: použijte ji, protože PATH v cronu nemusí obsahovat instalační složku. V crontabu zapište % jako \%:
0 3 * * * exporter sync
0 3 * * * exporter export --dest ~/Backups/notes-$(date +\%F)
U Carbon Copy Cloneru a dalších zálohovacích nástrojů spouštějte exporter sync jako skript před zálohou a řiďte se návratovým kódem. Příkaz zůstane připojený po celou dobu exportu, i když ho macOS pozastaví, protože není nikdo přihlášený. Dokud aplikace běží, s otevřeným i zavřeným oknem, sync nic nedělá: synchronizace v reálném čase už složku udržuje aktuální.
Zálohovací nástroj, který spouští své skripty jako root (Carbon Copy Cloner to dělá), musí exporter spustit uvnitř relace přihlášeného uživatele, nejen jako tento uživatel. Samotné sudo -u ho okamžitě ukončí s návratovým kódem 133; předřaďte mu launchctl asuser:
/bin/launchctl asuser "$(id -u "$CONSOLE_USER")" /usr/bin/sudo -u "$CONSOLE_USER" exporter sync
MCP server
Lokální MCP server, díky kterému mohou Claude, Cursor, VS Code a další klienti prohledávat a číst vaše exporty, spouští aplikace, ne příkazová řádka, na http://localhost:8744/mcp. Stránka o MCP serveru popisuje vše o něm, od spuštění po jeho šest nástrojů.
Řešení problémů
Nejprve spusťte exporter doctor; každá neúspěšná kontrola vypíše svou opravu. Nápověda pokrývá i hlášení aplikace.
X is not authorized: přidejte složku (nebo nadřazenou) na kartě Příkazová řádka a spusťte znovu.exporter list destsukazuje, co je povolenéapple notes is not set up. open Exporter and connect Apple Notes + an export folder.(totéž pro každou aplikaci): připojte ji v Exporterusyncvypíše, že Exporter běží: není co dělat, aplikace složku udržuje aktuální. Pro samostatnou kopii použijteexport --destno notes were written. run "exporter doctor" to check folders and permissions.: běh vybral poznámky a žádnou nezapsal;doctorzkontroluje složky a oprávněníbookmark broken: složka byla přesunuta, smazána nebo její svazek není připojený. Vyberte ji v aplikaci znovu- nainstalovaný příkaz má starý formát, nebo cron a zálohovací nástroje vidí kód 19: vložte instalační příkaz znovu
- aplikace se od instalace příkazu přesunula: vložte instalační příkaz znovu
- odemčeno, ale běh hlásí free: kontrola nákupu čeká nejvýše 5 sekund a pak pokračuje v rámci limitu zdarma. Spusťte znovu
- problém, který doctor nevysvětlí:
exporter report --send --email you@example.com