Obsidian CLI to interfejs wiersza poleceń, który pozwala kontrolować Obsidian z terminala w celu tworzenia skryptów, automatyzacji i integracji z zewnętrznymi narzędziami. Wszystko, co możesz zrobić w Obsidian, możesz zrobić z wiersza poleceń. Obsidian CLI zawiera nawet [[#Polecenia deweloperskie|polecenia deweloperskie]] do uzyskiwania dostępu do narzędzi deweloperskich, inspekcji elementów, robienia zrzutów ekranu, przeładowywania wtyczek i nie tylko. ![[obsidian-cli.mp4#interface]] > [!warning] Wymaga instalatora Obsidian 1.12 > Korzystanie z CLI wymaga instalatora Obsidian 1.12. Zapoznaj się z [[Aktualizuj Obsidian#Aktualizacje instalatora|przewodnikiem aktualizacji wersji instalatora]]. ## Instalacja Obsidian CLI Zaktualizuj do najnowszej [[Aktualizuj Obsidian|wersji instalatora Obsidian]] (1.12.7+). Włącz Obsidian CLI w Obsidian: 1. Przejdź do **Ustawienia** → **Ogólne**. 2. Włącz **Interfejs wiersza poleceń**. 3. Postępuj zgodnie z instrukcjami, aby zarejestrować Obsidian CLI. Jeśli napotkasz problemy z instalacją Obsidian CLI, zobacz [[#Rozwiązywanie problemów]]. ## Rozpoczęcie pracy Obsidian CLI obsługuje zarówno pojedyncze polecenia, jak i terminalowy interfejs użytkownika (TUI) z interaktywną pomocą i autouzupełnianiem. > [!info] Aplikacja Obsidian musi być uruchomiona > Obsidian CLI wymaga, aby aplikacja Obsidian była uruchomiona. Jeśli Obsidian nie jest uruchomiony, pierwsze wykonane polecenie uruchomi Obsidian. > > Szukasz synchronizacji bez aplikacji desktopowej? Zobacz [[Bezobsługowy Sync|Obsidian Headless]]. ### Uruchomienie polecenia Uruchom pojedyncze polecenie bez otwierania TUI: ```shell # Uruchom polecenie pomocy obsidian help ``` ### Korzystanie z interfejsu terminala Użyj TUI, wpisując `obsidian`. Kolejne polecenia mogą być wprowadzane bez `obsidian`. ```shell # Otwórz TUI, następnie uruchom pomoc obsidian help ``` TUI obsługuje autouzupełnianie, historię poleceń i wyszukiwanie wsteczne. Użyj `Ctrl+R`, aby przeszukać historię poleceń. Zobacz [[#Skróty klawiszowe]], aby poznać wszystkie dostępne skróty. ## Przykłady Oto kilka przykładów tego, co Obsidian CLI potrafi. ### Codzienne użycie ```shell # Otwórz dzisiejszy dziennik obsidian daily # Dodaj zadanie do dziennika obsidian daily:append content="- [ ] Kupić zakupy" # Przeszukaj skarbiec obsidian search query="notatki ze spotkań" # Odczytaj aktywny plik obsidian read # Wylistuj wszystkie zadania z dziennika obsidian tasks daily # Utwórz nową notatkę z szablonu obsidian create name="Podróż do Paryża" template=Podróż # Wylistuj wszystkie tagi w skarbcu z liczbą wystąpień obsidian tags counts # Porównaj dwie wersje pliku obsidian diff file=README from=1 to=3 ``` ### Dla deweloperów Wiele [[#Polecenia deweloperskie|poleceń deweloperskich]] jest dostępnych do tworzenia wtyczek i motywów. Te polecenia pozwalają narzędziom agentycznym automatycznie testować i debugować. ```shell # Otwórz narzędzia deweloperskie obsidian devtools # Przeładuj wtyczkę społeczności, którą rozwijasz obsidian plugin:reload id=my-plugin # Zrób zrzut ekranu aplikacji obsidian dev:screenshot path=screenshot.png # Uruchom JavaScript w konsoli aplikacji obsidian eval code="app.vault.getFiles().length" ``` ## Jak to zrobić ### Używanie parametrów i flag Polecenia mogą używać **parametrów** i **flag**. Większość poleceń nie wymaga żadnych parametrów ani flag. Wymagane parametry są oznaczone jako `required`. Na przykład: ```shell # Utwórz nową notatkę z domyślną nazwą "Bez tytułu" obsidian create ``` **Parametr** przyjmuje wartość, zapisaną jako `parametr=wartość`. Jeśli wartość zawiera spacje, umieść ją w cudzysłowach: ```shell # Utwórz nową notatkę o nazwie "Notatka" z treścią "Witaj świecie" obsidian create name=Notatka content="Witaj świecie" ``` **Flaga** to przełącznik logiczny bez wartości. Dodaj ją, aby ją włączyć, na przykład `open` i `overwrite` to flagi: ```shell # Utwórz notatkę i otwórz ją obsidian create name=Notatka content="Witaj" open overwrite ``` Dla treści wieloliniowej użyj `\n` jako nowej linii. Użyj `\t` jako tabulatora. ```bash obsidian create name=Notatka content="# Tytuł\n\nTreść tekstu" ``` ### Wskazanie skarbca Jeśli bieżący katalog roboczy terminala jest folderem skarbca, ten skarbiec jest używany domyślnie. W przeciwnym razie używany jest aktualnie aktywny skarbiec. Użyj `vault=<nazwa>` lub `vault=<id>`, aby wskazać konkretny skarbiec. Musi to być pierwszy parametr przed poleceniem: ```shell obsidian vault=Notatki daily obsidian vault="Mój Skarbiec" search query="test" ``` W TUI użyj `vault:open <nazwa>` lub `<id>`, aby przełączyć się na inny skarbiec. ### Wskazanie pliku Wiele poleceń akceptuje parametry `file` i `path`, aby wskazać konkretny plik. Jeśli żaden nie zostanie podany, polecenie domyślnie odnosi się do aktywnego pliku. - `file=<nazwa>` rozwiązuje plik używając tej samej rozdzielczości linków co [[Łącza wewnętrzne|odnośniki wiki]], dopasowując po nazwie pliku bez wymagania pełnej ścieżki lub rozszerzenia. - `path=<ścieżka>` wymaga dokładnej ścieżki od katalogu głównego skarbca, np. `folder/notatka.md`. ```shell # Te polecenia są równoważne, jeśli "Przepis.md" jest jedynym plikiem o tej nazwie obsidian read file=Przepis obsidian read path="Szablony/Przepis.md" ``` ### Kopiowanie wyniku Dodaj `--copy` do dowolnego polecenia, aby skopiować wynik do schowka: ```shell read --copy search query="TODO" --copy ``` ## Polecenia ogólne ### `help` Pokaż listę wszystkich dostępnych poleceń. | Parametr | Opis | | ----------- | ------------------------------------------- | | `<command>` | Pokaż pomoc dla konkretnego polecenia. | ### `version` Pokaż wersję Obsidian. ### `reload` Przeładuj okno aplikacji. ### `restart` Uruchom ponownie aplikację. ## Bazy danych Polecenia dla [[Wprowadzenie do Baz danych|Baz danych]]. ### `bases` Wylistuj wszystkie pliki `.base` w skarbcu. ### `base:views` Wylistuj podglądy w bieżącym pliku bazy. ### `base:create` Utwórz nowy element w bazie. Domyślnie odnosi się do aktywnego podglądu bazy, jeśli nie podano pliku. ```bash file=<name> # nazwa pliku bazy path=<path> # ścieżka pliku bazy view=<name> # nazwa podglądu name=<name> # nazwa nowego pliku content=<text> # początkowa treść open # otwórz plik po utworzeniu newtab # otwórz w nowej karcie ``` ### `base:query` Zapytaj bazę i zwróć wyniki. ```bash file=<name> # nazwa pliku bazy path=<path> # ścieżka pliku bazy view=<name> # nazwa podglądu do zapytania format=json|csv|tsv|md|paths # format wyjścia (domyślnie: json) ``` ## Ulubione Polecenia dla [[Ulubione]]. ### `bookmarks` Wylistuj zakładki. ```bash total # zwróć liczbę zakładek verbose # uwzględnij typy zakładek format=json|tsv|csv # format wyjścia (domyślnie: tsv) ``` ### `bookmark` Dodaj zakładkę. ```bash file=<path> # plik do dodania do zakładek subpath=<subpath> # podścieżka (nagłówek lub blok) w pliku folder=<path> # folder do dodania do zakładek search=<query> # zapytanie wyszukiwania do dodania do zakładek url=<url> # URL do dodania do zakładek title=<title> # tytuł zakładki ``` ## Paleta poleceń Polecenia dla [[Lista poleceń]] i [[Skróty klawiszowe]]. Obejmuje to wszystkie polecenia zarejestrowane przez wtyczki. ### `commands` Wylistuj dostępne ID poleceń. ```bash filter=<prefix> # filtruj po prefiksie ID ``` ### `command` Wykonaj polecenie Obsidian. ```bash id=<command-id> # (required) ID polecenia do wykonania ``` ### `hotkeys` Wylistuj skróty klawiszowe dla wszystkich poleceń. ```bash total # zwróć liczbę skrótów klawiszowych verbose # pokaż czy skrót jest niestandardowy format=json|tsv|csv # format wyjścia (domyślnie: tsv) ``` ### `hotkey` Pobierz skrót klawiszowy dla polecenia. ```bash id=<command-id> # (required) ID polecenia verbose # pokaż czy niestandardowy czy domyślny ``` ## Dziennik Polecenia dla [[Dziennik]]. ### `daily` Otwórz dziennik. ```bash paneType=tab|split|window # typ panelu do otwarcia ``` ### `daily:path` Pobierz ścieżkę dziennika. Zwraca oczekiwaną ścieżkę, nawet jeśli plik nie został jeszcze utworzony. ### `daily:read` Odczytaj zawartość dziennika. ### `daily:append` Dołącz treść na końcu dziennika. ```bash content=<text> # (required) treść do dołączenia paneType=tab|split|window # typ panelu do otwarcia inline # dołącz bez nowej linii open # otwórz plik po dodaniu ``` ### `daily:prepend` Dołącz treść na początku dziennika. ```bash content=<text> # (required) treść do dołączenia na początku paneType=tab|split|window # typ panelu do otwarcia inline # dołącz bez nowej linii open # otwórz plik po dodaniu ``` ## Historia plików ### `diff` Wylistuj lub porównaj wersje z lokalnego [[Odzyskiwanie plików|odzyskiwania plików]] i [[Wprowadzenie do Obsidian Sync|Sync]]. Wersje są numerowane od najnowszej do najstarszej. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku from=<n> # numer wersji do porównania od to=<n> # numer wersji do porównania do filter=local|sync # filtruj według źródła wersji ``` **Przykłady:** ```shell # Wylistuj wszystkie wersje aktywnego pliku diff # Wylistuj wszystkie wersje konkretnego pliku diff file=Przepis # Porównaj najnowszą wersję z bieżącym plikiem diff file=Przepis from=1 # Porównaj dwie wersje diff file=Przepis from=2 to=1 # Pokaż tylko wersje Sync diff filter=sync ``` ### `history` Wylistuj wersje tylko z [[Odzyskiwanie plików]]. Zobacz [[#Sync|sync:history]] dla odpowiadającego polecenia Sync. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ### `history:list` Wylistuj wszystkie pliki z lokalną historią. ### `history:read` Odczytaj wersję z lokalnej historii. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku version=<n> # numer wersji (domyślnie: 1) ``` ### `history:restore` Przywróć wersję z lokalnej historii. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku version=<n> # (required) numer wersji ``` ### `history:open` Otwórz odzyskiwanie plików. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ## Pliki i foldery ### `file` Pokaż informacje o pliku (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` Przykład: ``` path Notatki/Przepis.md name Przepis extension md size 1024 created 1700000000000 modified 1700001000000 ``` ### `files` Wylistuj pliki w skarbcu. ```bash folder=<path> # filtruj po folderze ext=<extension> # filtruj po rozszerzeniu total # zwróć liczbę plików ``` ### `folder` Pokaż informacje o folderze. ```bash path=<path> # (required) ścieżka folderu info=files|folders|size # zwróć tylko konkretne informacje ``` ### `folders` Wylistuj foldery w skarbcu. ```bash folder=<path> # filtruj po folderze nadrzędnym total # zwróć liczbę folderów ``` ### `open` Otwórz plik. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku newtab # otwórz w nowej karcie ``` ### `create` Utwórz lub nadpisz plik. ```bash name=<name> # nazwa pliku path=<path> # ścieżka pliku content=<text> # początkowa treść template=<name> # szablon do użycia overwrite # nadpisz jeśli plik istnieje open # otwórz plik po utworzeniu newtab # otwórz w nowej karcie ``` ### `read` Odczytaj zawartość pliku (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ### `append` Dołącz treść na końcu pliku (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku content=<text> # (required) treść do dołączenia inline # dołącz bez nowej linii ``` ### `prepend` Dołącz treść na początku po metadanych początkowych (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku content=<text> # (required) treść do dołączenia na początku inline # dołącz bez nowej linii ``` ### `move` Przenieś lub zmień nazwę pliku (domyślnie: aktywny plik). Automatycznie zaktualizuje [[Łącza wewnętrzne|łącza wewnętrzne]], jeśli jest to włączone w [[Ustawienia#Zawsze aktualizuj łącza wewnętrzne|ustawieniach skarbca]]. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku to=<path> # (required) folder docelowy lub ścieżka ``` ### `rename` Zmień nazwę pliku (domyślnie: aktywny plik). Rozszerzenie pliku jest zachowywane automatycznie, jeśli zostanie pominięte w nowej nazwie. Użyj [[#`move`|move]], aby zmienić nazwę i przenieść plik jednocześnie. Automatycznie zaktualizuje [[Łącza wewnętrzne|łącza wewnętrzne]], jeśli jest to włączone w [[Ustawienia#Zawsze aktualizuj łącza wewnętrzne|ustawieniach skarbca]]. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku name=<name> # (required) nowa nazwa pliku ``` ### `delete` Usuń plik (domyślnie: aktywny plik, domyślnie do kosza). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku permanent # pomiń kosz, usuń trwale ``` ## Łącza Polecenia dla [[Linki zwrotne]] i [[Łącza wychodzące]]. ### `backlinks` Wylistuj linki zwrotne do pliku (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku docelowego path=<path> # ścieżka pliku docelowego counts # uwzględnij liczbę linków total # zwróć liczbę linków zwrotnych format=json|tsv|csv # format wyjścia (domyślnie: tsv) ``` ### `links` Wylistuj łącza wychodzące z pliku (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku total # zwróć liczbę łączy ``` ### `unresolved` Wylistuj nierozwiązane łącza w skarbcu. ```bash total # zwróć liczbę nierozwiązanych łączy counts # uwzględnij liczbę łączy verbose # uwzględnij pliki źródłowe format=json|tsv|csv # format wyjścia (domyślnie: tsv) ``` ### `orphans` Wylistuj pliki bez łączy przychodzących. ```bash total # zwróć liczbę osieroconych plików ``` ### `deadends` Wylistuj pliki bez łączy wychodzących. ```bash total # zwróć liczbę ślepych zaułków ``` ## Konspekt Polecenia dla [[Konspekt]]. ### `outline` Pokaż nagłówki bieżącego pliku. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku format=tree|md|json # format wyjścia (domyślnie: tree) total # zwróć liczbę nagłówków ``` ## Wtyczki Polecenia dla [[Wbudowane wtyczki]] i [[Wtyczki społeczności]]. ### `plugins` Wylistuj zainstalowane wtyczki. ```bash filter=core|community # filtruj po typie wtyczki versions # uwzględnij numery wersji format=json|tsv|csv # format wyjścia (domyślnie: tsv) ``` ### `plugins:enabled` Wylistuj włączone wtyczki. ```bash filter=core|community # filtruj po typie wtyczki versions # uwzględnij numery wersji format=json|tsv|csv # format wyjścia (domyślnie: tsv) ``` ### `plugins:restrict` Przełącz lub sprawdź tryb ograniczony. ```bash on # włącz tryb ograniczony off # wyłącz tryb ograniczony ``` ### `plugin` Pobierz informacje o wtyczce. ```bash id=<plugin-id> # (required) ID wtyczki ``` ### `plugin:enable` Włącz wtyczkę. ```bash id=<id> # (required) ID wtyczki filter=core|community # typ wtyczki ``` ### `plugin:disable` Wyłącz wtyczkę. ```bash id=<id> # (required) ID wtyczki filter=core|community # typ wtyczki ``` ### `plugin:install` Zainstaluj wtyczkę społeczności. ```bash id=<id> # (required) ID wtyczki enable # włącz po instalacji ``` ### `plugin:uninstall` Odinstaluj wtyczkę społeczności. ```bash id=<id> # (required) ID wtyczki ``` ### `plugin:reload` Przeładuj wtyczkę (dla deweloperów). ```bash id=<id> # (required) ID wtyczki ``` ## Atrybuty Polecenia związane z [[Atrybuty]]. ### `aliases` Wylistuj aliasy w skarbcu. Użyj `active` lub `file`/`path`, aby pokazać aliasy dla konkretnego pliku. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku total # zwróć liczbę aliasów verbose # uwzględnij ścieżki plików active # pokaż aliasy aktywnego pliku ``` ### `properties` Wylistuj atrybuty w skarbcu. Użyj `active` lub `file`/`path`, aby pokazać atrybuty dla konkretnego pliku. ```bash file=<name> # pokaż atrybuty dla pliku path=<path> # pokaż atrybuty dla ścieżki name=<name> # pobierz liczbę konkretnego atrybutu sort=count # sortuj po liczbie (domyślnie: nazwa) format=yaml|json|tsv # format wyjścia (domyślnie: yaml) total # zwróć liczbę atrybutów counts # uwzględnij liczbę wystąpień active # pokaż atrybuty aktywnego pliku ``` ### `property:set` Ustaw atrybut na pliku (domyślnie: aktywny plik). ```bash name=<name> # (required) nazwa atrybutu value=<value> # (required) wartość atrybutu type=text|list|number|checkbox|date|datetime # rodzaj atrybutu file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ### `property:remove` Usuń atrybut z pliku (domyślnie: aktywny plik). ```bash name=<name> # (required) nazwa atrybutu file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ### `property:read` Odczytaj wartość atrybutu z pliku (domyślnie: aktywny plik). ```bash name=<name> # (required) nazwa atrybutu file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ## Publish Polecenia dla [[Wprowadzenie do Obsidian Publish|Obsidian Publish]]. ### `publish:site` Pokaż informacje o stronie Publish (slug, URL). ### `publish:list` Wylistuj opublikowane pliki. ```bash total # zwróć liczbę opublikowanych plików ``` ### `publish:status` Wylistuj zmiany do publikacji. ```bash total # zwróć liczbę zmian new # pokaż tylko nowe pliki changed # pokaż tylko zmienione pliki deleted # pokaż tylko usunięte pliki ``` ### `publish:add` Opublikuj plik lub wszystkie zmienione pliki (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku changed # opublikuj wszystkie zmienione pliki ``` ### `publish:remove` Cofnij publikację pliku (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ### `publish:open` Otwórz plik na opublikowanej stronie (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ## Losowe notatki Polecenia dla [[Losowa notatka]]. ### `random` Otwórz losową notatkę. ```bash folder=<path> # ogranicz do folderu newtab # otwórz w nowej karcie ``` ### `random:read` Odczytaj losową notatkę (zawiera ścieżkę). ```bash folder=<path> # ogranicz do folderu ``` ## Szukaj Polecenia dla [[Szukaj]]. ### `search` Przeszukaj skarbiec pod kątem tekstu. Zwraca pasujące ścieżki plików. ```bash query=<text> # (required) zapytanie wyszukiwania path=<folder> # ogranicz do folderu limit=<n> # maksymalna liczba plików format=text|json # format wyjścia (domyślnie: text) total # zwróć liczbę wyników case # wielkość liter ma znaczenie ``` ### `search:context` Szukaj z kontekstem pasujących linii. Zwraca wynik w stylu grep `ścieżka:linia: tekst`. ```bash query=<text> # (required) zapytanie wyszukiwania path=<folder> # ogranicz do folderu limit=<n> # maksymalna liczba plików format=text|json # format wyjścia (domyślnie: text) case # wielkość liter ma znaczenie ``` ### `search:open` Otwórz widok wyszukiwania. ```bash query=<text> # początkowe zapytanie wyszukiwania ``` ## Sync Polecenia dla [[Wprowadzenie do Obsidian Sync|Obsidian Sync]]. > [!tip] Synchronizacja bez aplikacji desktopowej > Te polecenia kontrolują Sync w uruchomionej aplikacji Obsidian. Aby synchronizować skarbce z wiersza poleceń bez aplikacji desktopowej, zobacz [[Bezobsługowy Sync]]. ### `sync` Wstrzymaj lub wznów synchronizację. ```bash on # wznów synchronizację off # wstrzymaj synchronizację ``` ### `sync:status` Pokaż status synchronizacji i wykorzystanie. ### `sync:history` Wylistuj historię wersji Sync dla pliku (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku total # zwróć liczbę wersji ``` ### `sync:read` Odczytaj wersję Sync (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku version=<n> # (required) numer wersji ``` ### `sync:restore` Przywróć wersję Sync (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku version=<n> # (required) numer wersji ``` ### `sync:open` Otwórz historię Sync (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku ``` ### `sync:deleted` Wylistuj usunięte pliki w Sync. ```bash total # zwróć liczbę usuniętych plików ``` ## Tagi Polecenia dla [[Tagi]]. ### `tags` Wylistuj tagi w skarbcu. Użyj `active` lub `file`/`path`, aby pokazać tagi dla konkretnego pliku. ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku sort=count # sortuj po liczbie (domyślnie: nazwa) total # zwróć liczbę tagów counts # uwzględnij liczbę tagów format=json|tsv|csv # format wyjścia (domyślnie: tsv) active # pokaż tagi aktywnego pliku ``` ### `tag` Pobierz informacje o tagu. ```bash name=<tag> # (required) nazwa tagu total # zwróć liczbę wystąpień verbose # uwzględnij listę plików i liczbę ``` ## Zadania Polecenia do zarządzania zadaniami. ### `tasks` Wylistuj zadania w skarbcu. Użyj `active` lub `file`/`path`, aby pokazać zadania dla konkretnego pliku. ```bash file=<name> # filtruj po nazwie pliku path=<path> # filtruj po ścieżce pliku status="<char>" # filtruj po znaku statusu total # zwróć liczbę zadań done # pokaż ukończone zadania todo # pokaż nieukończone zadania verbose # grupuj po pliku z numerami linii format=json|tsv|csv # format wyjścia (domyślnie: text) active # pokaż zadania aktywnego pliku daily # pokaż zadania z dziennika ``` **Przykłady:** ```bash # Wylistuj wszystkie zadania w skarbcu tasks # Wylistuj nieukończone zadania w skarbcu tasks todo # Wylistuj ukończone zadania z konkretnego pliku tasks file=Przepis done # Wylistuj zadania z dzisiejszego dziennika tasks daily # Policz zadania w dzienniku tasks daily total # Wylistuj zadania ze ścieżkami plików i numerami linii tasks verbose # Filtruj po niestandardowym statusie (użyj cudzysłowów dla znaków specjalnych) tasks 'status=?' ``` ### `task` Pokaż lub zaktualizuj zadanie. ```bash ref=<path:line> # odniesienie do zadania (ścieżka:linia) file=<name> # nazwa pliku path=<path> # ścieżka pliku line=<n> # numer linii status="<char>" # ustaw znak statusu toggle # przełącz status zadania daily # codzienna notatka done # oznacz jako ukończone todo # oznacz jako do zrobienia ``` **Przykłady:** ```bash # Pokaż informacje o zadaniu task file=Przepis line=8 task ref="Przepis.md:8" # Przełącz ukończenie zadania task ref="Przepis.md:8" toggle # Przełącz zadanie w dzienniku task daily line=3 toggle # Ustaw status zadania task file=Przepis line=8 done # → [x] task file=Przepis line=8 todo # → [ ] task file=Przepis line=8 status=- # → [-] task daily line=3 done # Oznacz zadanie z dziennika jako ukończone ``` ## Szablony Polecenia dla [[Szablony]]. ### `templates` Wylistuj szablony. ```bash total # zwróć liczbę szablonów ``` ### `template:read` Odczytaj zawartość szablonu. ```bash name=<template> # (required) nazwa szablonu title=<title> # tytuł do rozwiązania zmiennych resolve # rozwiąż zmienne szablonu ``` ### `template:insert` Wstaw szablon do aktywnego pliku. ```bash name=<template> # (required) nazwa szablonu ``` **Uwagi:** - Opcja `resolve` przetwarza zmienne `{{date}}`, `{{time}}`, `{{title}}` - Użyj `create path=<ścieżka> template=<nazwa>`, aby utworzyć plik z szablonu ## Motywy i snippety Polecenia dla [[Motywy]] i [[Snippety CSS]]. ### `themes` Wylistuj zainstalowane motywy. ```bash versions # uwzględnij numery wersji ``` ### `theme` Pokaż aktywny motyw lub pobierz informacje. ```bash name=<name> # nazwa motywu dla szczegółów ``` ### `theme:set` Ustaw aktywny motyw. ```bash name=<name> # (required) nazwa motywu (puste dla domyślnego) ``` ### `theme:install` Zainstaluj motyw społeczności. ```bash name=<name> # (required) nazwa motywu enable # aktywuj po instalacji ``` ### `theme:uninstall` Odinstaluj motyw. ```bash name=<name> # (required) nazwa motywu ``` ### `snippets` Wylistuj zainstalowane snippety CSS. ### `snippets:enabled` Wylistuj włączone snippety CSS. ### `snippet:enable` Włącz snippet CSS. ```bash name=<name> # (required) nazwa snippetu ``` ### `snippet:disable` Wyłącz snippet CSS. ```bash name=<name> # (required) nazwa snippetu ``` ## Niepowtarzalne notatki Polecenia dla [[Kreator niepowtarzalnych notatek]]. ### `unique` Utwórz niepowtarzalną notatkę. ```bash name=<text> # nazwa notatki content=<text> # początkowa treść paneType=tab|split|window # typ panelu do otwarcia open # otwórz plik po utworzeniu ``` ## Skarbiec ### `vault` Pokaż informacje o skarbcu. ```bash info=name|path|files|folders|size # zwróć tylko konkretne informacje ``` ### `vaults` Wylistuj znane skarbce. ```bash total # zwróć liczbę skarbców verbose # uwzględnij ścieżki skarbców ``` ### `vault:open` Przełącz na inny skarbiec (tylko TUI). ```bash name=<name> # (required) nazwa skarbca ``` ## Przeglądarka internetowa Polecenia dla [[Przeglądarka internetowa]]. ### `web` Otwórz URL w przeglądarce internetowej. ```bash url=<url> # (required) URL do otwarcia newtab # otwórz w nowej karcie ``` ## Liczba słów Polecenia dla [[Liczba słów]]. ### `wordcount` Policz słowa i znaki (domyślnie: aktywny plik). ```bash file=<name> # nazwa pliku path=<path> # ścieżka pliku words # zwróć tylko liczbę słów characters # zwróć tylko liczbę znaków ``` ## Obszar roboczy Polecenia dla [[Obszar roboczy]] i wtyczki [[Obszary robocze]]. ### `workspace` Pokaż drzewo obszaru roboczego. ```bash ids # uwzględnij ID elementów obszaru roboczego ``` ### `workspaces` Wylistuj zapisane obszary robocze. ```bash total # zwróć liczbę obszarów roboczych ``` ### `workspace:save` Zapisz bieżący układ jako obszar roboczy. ```bash name=<name> # nazwa obszaru roboczego ``` ### `workspace:load` Wczytaj zapisany obszar roboczy. ```bash name=<name> # (required) nazwa obszaru roboczego ``` ### `workspace:delete` Usuń zapisany obszar roboczy. ```bash name=<name> # (required) nazwa obszaru roboczego ``` ### `tabs` Wylistuj otwarte karty. ```bash ids # uwzględnij ID kart ``` ### `tab:open` Otwórz nową kartę. ```bash group=<id> # ID grupy kart file=<path> # plik do otwarcia view=<type> # typ podglądu do otwarcia ``` ### `recents` Wylistuj ostatnio otwierane pliki. ```bash total # zwróć liczbę ostatnich plików ``` ## Polecenia deweloperskie Polecenia pomocne w tworzeniu [[Wtyczki społeczności]] i [[Motywy|motywów]]. Dowiedz się więcej, odwiedzając [Dokumentację deweloperską Obsidian](https://docs.obsidian.md). ### `devtools` Przełącz narzędzia deweloperskie Electron. ### `dev:debug` Dołącz/odłącz debugger Chrome DevTools Protocol. ```bash on # dołącz debugger off # odłącz debugger ``` ### `dev:cdp` Uruchom polecenie Chrome DevTools Protocol. ```bash method=<CDP.method> # (required) metoda CDP do wywołania params=<json> # parametry metody jako JSON ``` ### `dev:errors` Pokaż przechwycone błędy JavaScript. ```bash clear # wyczyść bufor błędów ``` ### `dev:screenshot` Zrób zrzut ekranu (zwraca PNG w base64). ```bash path=<filename> # ścieżka pliku wyjściowego ``` ### `dev:console` Pokaż przechwycone komunikaty konsoli. ```bash limit=<n> # maksymalna liczba komunikatów do wyświetlenia (domyślnie 50) level=log|warn|error|info|debug # filtruj po poziomie logowania clear # wyczyść bufor konsoli ``` ### `dev:css` Inspekcja CSS z lokalizacjami źródłowymi. ```bash selector=<css> # (required) selektor CSS prop=<name> # filtruj po nazwie właściwości ``` ### `dev:dom` Zapytaj elementy DOM. ```bash selector=<css> # (required) selektor CSS attr=<name> # pobierz wartość atrybutu css=<prop> # pobierz wartość właściwości CSS total # zwróć liczbę elementów text # zwróć zawartość tekstową inner # zwróć innerHTML zamiast outerHTML all # zwróć wszystkie dopasowania zamiast pierwszego ``` ### `dev:mobile` Przełącz emulację mobilną. ```bash on # włącz emulację mobilną off # wyłącz emulację mobilną ``` ### `eval` Wykonaj JavaScript i zwróć wynik. ```bash code=<javascript> # (required) kod JavaScript do wykonania ``` ## Skróty klawiszowe Te skróty są dostępne w [[#Korzystanie z interfejsu terminala|TUI]]. ### Nawigacja | Akcja | Skrót | | ---------------------------------------------------------- | --------------- | | Przesuń kursor w lewo | `←` / `Ctrl+B` | | Przesuń kursor w prawo (akceptuje sugestię na końcu linii) | `→` / `Ctrl+F` | | Przeskocz na początek linii | `Ctrl+A` | | Przeskocz na koniec linii | `Ctrl+E` | | Cofnij się o jedno słowo | `Alt+B` | | Przejdź o jedno słowo do przodu | `Alt+F` | ### Edycja | Akcja | Skrót | | ------------------------------ | --------------------------- | | Usuń do początku linii | `Ctrl+U` | | Usuń do końca linii | `Ctrl+K` | | Usuń poprzednie słowo | `Ctrl+W` / `Alt+Backspace` | ### Autouzupełnianie | Akcja | Skrót | | -------------------------------------------------- | ------------ | | Wejdź w tryb sugestii / zaakceptuj wybraną sugestię | `Tab` | | Wyjdź z trybu sugestii | `Shift+Tab` | | Wejdź w tryb sugestii (z pustego wejścia) | `↓` | | Zaakceptuj pierwszą/wybraną sugestię (na końcu linii) | `→` | ### Historia | Akcja | Skrót | | ------------------------------------------------------------------- | --------------- | | Poprzedni wpis historii / nawiguj sugestie w górę | `↑` / `Ctrl+P` | | Następny wpis historii / nawiguj sugestie w dół | `↓` / `Ctrl+N` | | Wyszukiwanie wsteczne w historii (pisz aby filtrować, `Ctrl+R` aby przełączać) | `Ctrl+R` | ### Inne | Akcja | Skrót | | ------------------------------------------------------------- | -------------------- | | Wykonaj polecenie lub zaakceptuj sugestię | `Enter` | | Cofnij autouzupełnianie / wyjdź z trybu sugestii / wyczyść wejście | `Escape` | | Wyczyść ekran | `Ctrl+L` | | Wyjdź | `Ctrl+C` / `Ctrl+D` | ## Rozwiązywanie problemów Jeśli masz problemy z uruchomieniem Obsidian CLI: - Upewnij się, że używasz najnowszej [[Aktualizuj Obsidian|wersji instalatora Obsidian]] (1.12.7 lub nowszej). - Jeśli właśnie zaktualizowałeś Obsidian z wcześniejszej wersji, wyłącz ustawienie CLI i włącz je ponownie, a następnie pozwól Obsidian wykonać automatyczną rejestrację PATH. - Uruchom ponownie terminal po zarejestrowaniu CLI, aby zmiany PATH weszły w życie. - Obsidian musi być uruchomiony. CLI łączy się z uruchomioną instancją Obsidian. ### Windows Obsidian CLI na Windows wymaga instalatora Obsidian 1.12.7+. Zobacz [[Aktualizuj Obsidian|Aktualizacja wersji instalatora]]. Windows używa przekierowywacza terminala, który prawidłowo łączy Obsidian ze stdin/stdout. Jest to konieczne, ponieważ Obsidian normalnie działa jako aplikacja GUI, która jest niekompatybilna z wyjściami terminala na Windows. Po zainstalowaniu Obsidian 1.12.7+ przekierowywacz terminala `Obsidian.com` zostanie dodany do folderu, w którym zainstalowano plik `Obsidian.exe`. Rejestracja CLI dodaje Obsidian do zmiennej PATH użytkownika, co wchodzi w życie dopiero po ponownym uruchomieniu terminala. ### macOS Rejestracja CLI tworzy dowiązanie symboliczne w `/usr/local/bin/obsidian` wskazujące na plik binarny CLI dołączony do aplikacji. Wymaga to uprawnień administratora — zostaniesz poproszony o to w oknie dialogowym systemu. Sprawdź, czy dowiązanie symboliczne istnieje i wskazuje na prawidłowy plik binarny: ``` ls -l /usr/local/bin/obsidian ``` Jeśli dowiązanie symboliczne nie istnieje, utwórz je ręcznie: ``` sudo ln -sf /Applications/Obsidian.app/Contents/MacOS/obsidian-cli /usr/local/bin/obsidian ``` > [!note] Jeśli wcześniej zarejestrowałeś CLI ze starszą wersją Obsidian, możesz mieć pozostały wpis PATH w `~/.zprofile`. Nowy proces rejestracji usuwa go automatycznie, ale jeśli pozostaje, możesz bezpiecznie usunąć linie zaczynające się od `# Added by Obsidian` z `~/.zprofile`. ### Linux Rejestracja CLI kopiuje plik binarny CLI do `~/.local/bin/obsidian`. Dzieje się tak, ponieważ niektóre metody instalacji na Linuksie uruchamiają się z katalogów tymczasowych, do których nie można tworzyć trwałych dowiązań symbolicznych. Upewnij się, że `~/.local/bin` jest w PATH. Dodaj następujące do `~/.bashrc` lub `~/.zshrc`, jeśli tak nie jest: ``` export PATH="$PATH:$HOME/.local/bin" ``` Sprawdź, czy plik binarny istnieje: ``` ls -l ~/.local/bin/obsidian ``` Jeśli plik binarny nie istnieje, skopiuj go ręcznie z katalogu instalacyjnego Obsidian: ``` cp /path/to/Obsidian/obsidian-cli ~/.local/bin/obsidian chmod 755 ~/.local/bin/obsidian ```