# 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

1. Nainstalujte Exporter z Mac App Storu ([stažení](https://exporter.dev/download)) a otevřete ho.
2. 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](https://exporter.dev/docs/getting-started)). Tato oprávnění lze udělit jen v aplikaci.
3. 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. `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 |
| `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 `sync` zapisuje každou aplikaci ve formátu nastaveném na její kartě (Apple Notes a Bear mají každý vlastní) a `export` zapisuje podle nastavení aplikace, kterou exportuje; `exporter help sync` a `exporter help export` ukazují 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 html` ignoruje s poznámkou: `note: logseq export is always markdown, so --format is ignored for this source.`
- Apple Notes zapisují jednu stránku `.html` na poznámku ([formát HTML](https://exporter.dev/docs/notes#markdown-and-html)), přílohy zkopírované do `attachments/` 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:

```sh
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.

```sh
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 |

```sh
exporter sync --source apple
```

```text
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.

```sh
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 | vaše nastavení v aplikaci |
| `--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 všechny vizitky, Zprávy všechny konverzace, Čas u obrazovky všechny dny; filtry se u nich ignorují s poznámkou.

```sh
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
```

```text
would export 100 apple notes · markdown → /Users/me/Backups/notes
```

## list

```sh
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)` |

```sh
exporter list folders --json
```

```json
[{"name": "Work", "notes": 42, "level": 0}]
```

## status

```sh
exporter status [--json]
```

```text
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 · 10 of 10 free conversations used
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`; `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/`.

```sh
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 |

```text
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.

```sh
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.

```sh
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émata `sync`, `export`, `list`, `status`, `log`, `doctor`, `report`, `cron`, `install`. Nápověda k příkazu ukazuje vaše aktuální nastavení jako výchozí hodnoty
- `sync`, `export`, `list`, `log` a `report` přijímají také `--help` nebo `-h`
- `exporter version` (nebo `--version`, `-v`) vypíše `exporter 3.24`
- samotný `exporter` v 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:

```json
{
  "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ů). Apple Notes, Kontakty, Zprávy, Čas u obrazovky a Dokumenty uchovávají 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áří (Čas u obrazovky soubor dne nikdy neodstraní). Bear a Logseq při příštím běhu také odstraní soubory poznámek, které jste smazali, přejmenovali nebo jim změnili tagy. 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 | 10 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`):

```text
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 (10 of 10 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ě](https://exporter.dev/pricing), 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 `\%`:

```sh
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í.

## 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](https://exporter.dev/docs/mcp) 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](https://exporter.dev/docs/help) 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 dests` ukazuje, 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 Exporteru
- `sync` vypíše, že Exporter běží: není co dělat, aplikace složku udržuje aktuální. Pro samostatnou kopii použijte `export --dest`
- `no notes were written. run "exporter doctor" to check folders and permissions.`: běh vybral poznámky a žádnou nezapsal; `doctor` zkontroluje 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`

## Related

- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents
- [For agents](https://exporter.dev/agents): Skills, command line and MCP for agents
- [Apple Notes](https://exporter.dev/docs/notes): Folders, fields, HTML and fixes
- [Changelog](https://exporter.dev/changelog): What changed in each version

---

human version: https://exporter.dev/cs/docs/cli
every page: https://exporter.dev/llms.txt
