Przejdź do treści

Asystent AI

Wbudowany w edytor asystent, który steruje agentem AI wiersza poleceń, jaki masz już zainstalowany — wyjaśnianie, refaktoryzacja, poprawki, pisanie testów, streszczanie, tłumaczenie i czat, a każda proponowana zmiana pokazuje się jako diff do przejrzenia, który stosujesz świadomie.

Przynieś własnego agenta

Asystent nie prosi o klucz API i nigdzie Cię nie loguje. Zamiast tego uruchamia lokalnie zainstalowanego agenta CLI AI jako pomocnika i streamuje jego wyjście do edytora. Uwierzytelnianie, subskrypcja i wybór modelu należą do tego narzędzia.

  • Dziś: Claude Code (claude). Zainstaluj go i zaloguj się raz (tak, by claude działał z terminala); edytor wykryje go automatycznie. Codex i Gemini widnieją na liście silników, ale ich integracja z wierszem poleceń nie jest jeszcze zweryfikowana.
  • Wykrywanie jest automatyczne i nieblokujące. Edytor sonduje agenta w tle zaraz po starcie — okno nigdy na niego nie czeka. Podczas sondowania Widok → Czat AI jest chwilowo wyłączony z podpowiedzią Wykrywanie silnika AI…; kilka sekund później albo się włącza (agent znaleziony), albo pozostaje wyszarzony ze wskazówką, co zainstalować.

Agent to osobny program, który sam instalujesz

Edytor nie dołącza ani nie pobiera żadnego agenta AI i sam nigdzie nie wysyła Twojego tekstu — żądanie wykonuje zainstalowany przez Ciebie agent CLI, używając własnego konta i własnego połączenia sieciowego. Jeśli agent nie jest zainstalowany lub zalogowany, funkcje AI po prostu pozostają wyłączone i nic innego w edytorze na tym nie cierpi.

Wymagania

Asystent ma jedno twarde wymaganie: obsługiwany agent CLI AI zainstalowany i zalogowany, dostępny w systemowym PATH.

  • Zainstaluj obsługiwanego agenta. Dziś jest to Claude Code (claude).
  • Zaloguj się raz. Uruchom agenta z terminala i przejdź jego własne logowanie, by później działał bezobsługowo. Edytor nigdy nie prosi o klucz API ani go nie przechowuje — subskrypcja i logowanie żyją w całości w tym narzędziu.
  • Upewnij się, że jest w PATH. Jeśli edytor nie może go uruchomić, Widok → Czat AI jest wyszarzony z wyjaśniającą podpowiedzią.

Panel Czatu AI

Nie ma osobnego menu AI — wszystko mieszka w jednym dolnym panelu, przełączanym z Widok → Czat AI. Jeśli panel był otwarty przy ostatnim zamknięciu edytora, otworzy się ponownie przy następnym starcie (gdy silnik zostanie wykryty).

Od góry do dołu panel pokazuje:

  • listę Silnik (wybór jest zapamiętywany między sesjami) i pole wyboru Zezwól na edycję plików (zobacz niżej);
  • linię stanu — wykryty silnik i wersję, notkę o sondowaniu/postępie albo wskazówkę „zainstaluj i zaloguj się";
  • cienki pasek zajętości z przyciskiem Stop, gdy agent pracuje;
  • konsolę — całą rozmowę w jednym widoku;
  • linię podpowiedzi z dostępnymi poleceniami jako klikalnymi linkami.

Konsola

Rozmowa działa jak terminal: historia u góry, a Ty piszesz na końcu, za znakiem zachęty .

  • Enter wysyła; Shift+Enter wstawia złamanie linii, więc wielolinijkowe prompty działają.
  • Kliknięcie lub pisanie gdziekolwiek w historii przenosi kursor z powrotem do znaku zachęty — historia jest zaznaczalna i kopiowalna, ale nigdy edytowalna.
  • Esc anuluje trwające żądanie; gdy nic nie działa, czyści to, co wpisano po . Esc działa przy fokusie w dowolnym miejscu panelu.
  • Widok przewija się automatycznie tylko, gdy jesteś na dole; przewiń w górę, żeby czytać, a zostanie na miejscu.

Polecenia

Wpisz polecenie przy znaku zachęty albo kliknij je w linii podpowiedzi (polecenia z argumentem dostają końcową spację i czekają, aż dokończysz linię):

Polecenie Działanie Wynik
.explain Wyjaśnij zaznaczony kod odpowiedź w czacie
.summarize Streść zaznaczony tekst odpowiedź w czacie
.refactor <jak> Refaktoryzuj według instrukcji (np. .refactor extract a helper) zmiana do przejrzenia
.fix Popraw zaznaczony kod zmiana do przejrzenia
.tests Napisz testy jednostkowe dla zaznaczenia zmiana do przejrzenia
.translate <język> Przetłumacz zaznaczenie (np. .translate German) zmiana do przejrzenia

Wszystko inne jest obsługiwane naturalnie:

  • Zwykły tekst to swobodne pytanie do agenta (bieżące zaznaczenie dołącza się jako opcjonalny kontekst).
  • Linia zaczynająca się od / trafia do agenta dosłownie — jego własne polecenia (jak /help Claude'a) nadal działają.
  • Nierozpoznane .słowo nie jest błędem; jest przekazywane jako prompt.

Dopasowanie nie rozróżnia wielkości liter, a linia podpowiedzi zawęża się w trakcie pisania (.r.refactor …).

Zaznaczenie albo cały dokument

Polecenia działają na bieżącym zaznaczeniu. Bez zaznaczenia operują na całym dokumencie — a ponieważ wysyła to do agenta cały plik, edytor najpierw pyta: Wysłać cały dokument „…" do Claude? Pytanie pada raz na dokument na sesję edytora; odmowa przerywa wysyłkę i zachowuje to, co wpisałeś. Swobodne pytania nigdy nie zaciągają całego pliku — zaznaczenie jest tam tylko opcjonalnym kontekstem.

Przeglądanie i stosowanie zmian

Polecenia edycyjne nigdy nie przepisują tekstu po cichu. Gdy agent skończy, otwiera się okno przeglądu z jedną zaznaczalną, pokolorowaną grupą zmian na modyfikację — usunięte linie na czerwono, dodane na zielono:

  • odznacz zmiany, których nie chcesz;
  • Zastosuj zastępuje zaznaczenie (albo cały dokument w wariancie bez zaznaczenia) tylko zaakceptowanymi zmianami;
  • Odrzuć zostawia bufor dokładnie takim, jaki był.

Zastosowane zmiany to zwykłe edycje, więc Ctrl+Z cofa je jak wszystko inne. Styl końców linii pliku (CRLF/LF) jest zachowywany. Jeśli edytowałeś dalej, gdy agent pracował, i tekst pod pierwotnym zaznaczeniem się zmienił, edytor odmawia zastosowania i każe uruchomić polecenie ponownie — nigdy nie nakłada przeterminowanej zmiany na Twój nowszy tekst. Jeśli agent odmówi edycji, jego wyjaśnienie pojawia się jako zwykła odpowiedź w czacie zamiast fałszywego diffa.

Kolory diffa podążają za Twoim motywem kolorów: motywy mogą definiować dedykowane kolory Diff added text / Diff removed text (edytowalne w Preferencje → Kolorowanie składni → Motywy), a bez nich edytor dobiera czytelne domyślne dla jasnych i ciemnych interfejsów.

Rozmowy

Swobodne pytania tworzą ciągłą rozmowę: agent pamięta Twoje wcześniejsze pytania i odpowiedzi. Na otwarty folder przypada jedna rozmowa (albo na plik, gdy żaden folder nie jest otwarty), więc niepowiązane projekty nie dzielą kontekstu. Polecenia edycyjne (.refactor, .fix, …) celowo działają jednorazowo i nie zaśmiecają kontekstu czatu. Rozmowy nie są utrwalane — restart edytora zaczyna je od nowa.

Zatrzymywanie przebiegu

Gdy agent pracuje, pojawia się pasek zajętości z przyciskiem Stop — kliknij go (albo naciśnij Esc gdziekolwiek w panelu), aby anulować. Strumień staje, przebieg dostaje oznaczenie [Cancelled] i żadna zmiana nie jest stosowana. Enter w trakcie przebiegu niczego nie kolejkuje; linia stanu przypomina, że agent wciąż pracuje.

Pozwalanie agentowi na edycję plików

Domyślnie asystent jest tylko do odczytu: każdy przebieg uruchamia agenta z wyłączonymi narzędziami edycji plików, dostępem do powłoki i subagentami, więc zmiany docierają do Ciebie wyłącznie jako propozycje do przejrzenia. Dla silników ze zweryfikowanymi flagami uprawnień (Claude) to twarda blokada egzekwowana przez samego agenta, niezależnie od konfiguracji Twojego CLI.

Tryb tylko do odczytu nie jest gwarantowany dla każdego silnika

Twarda blokada opiera się na flagach uprawnień samego silnika. Silniki bez zweryfikowanych flag (Codex, Gemini) nie mają takiego przełącznika, więc edytor może je jedynie poprosić — instrukcją typu best-effort — o pozostanie w trybie odczytu; nie może tego wymusić. Traktuj tryb tylko do odczytu jako niegwarantowany dla tych silników: mogą mimo wszystko pisać na dysk, a ich zachowaniem ostatecznie rządzi konfiguracja Twojego CLI. Jeśli to dla Ciebie istotne, trzymaj taką pracę w folderze pod kontrolą wersji.

Pole wyboru Zezwól na edycję plików (obok listy silników, domyślnie wyłączone, zapamiętywane między sesjami) włącza edycję po stronie agenta:

  • edycje plików agenta są akceptowane automatycznie i może on modyfikować pliki w otwartym folderze w trakcie przebiegu;
  • każdy zapis jest raportowany w rozmowie jako [the agent modified a file: …], a otwarte dokumenty przejmują zmiany przez zwykłe śledzenie zmian plików edytora;
  • po zakończeniu przebiegu jedna linia podsumowania wymienia komplet dotkniętych plików z licznikiem, np. [modified files (3): …];
  • dostęp do powłoki i subagenci pozostają zablokowani nawet z włączoną opcją.

„Zezwól na edycję plików" może nadpisać lub skasować Twoją pracę

Z włączoną opcją agent pisze na dysk bezpośrednio, a zapisy są akceptowane automatycznie — nie ma okna przeglądu per zmiana. Agent może nadpisać, usunąć lub uszkodzić pliki w otwartym folderze, a edycje plików, których nie masz otwartych, nie są pokazywane jako diffy. Włączaj to tylko dla folderu pod kontrolą wersji (Git, SVN, …): najpierw zacommituj lub odłóż pracę, a potem diffem VCS przejrzyj każdą zmianę i wycofaj niechciane — traktuj kontrolę wersji jako swoje „cofnij" dla edycji agenta. Silniki bez zweryfikowanych flag uprawnień (Codex, Gemini) całkowicie ignorują tę opcję, więc ich edycjami rządzi wyłącznie konfiguracja Twojego CLI.

Przełączanie silników

W każdej chwili wybierz innego agenta z listy Silnik (jest wyłączona podczas aktywnego przebiegu). Przełączenie anuluje wykrywanie poprzedniego silnika, sonduje nowy w tle i zaczyna świeże rozmowy — czatu zaczętego z jednym silnikiem nie dokończy inny.

Prywatność i koszty

Żądania wysyła wybrany przez Ciebie agent CLI, używając własnego konta i połączenia sieciowego — edytor nie dodaje żadnej osobnej telemetrii ani punktów końcowych. O tym, co jest wysyłane (Twoje zaznaczenie lub dokument i instrukcja) i ile to kosztuje, decyduje subskrypcja lub plan tego agenta.

Co jest dostępne dziś

Polecenia działają na bieżącym zaznaczeniu (albo całym dokumencie, za zgodą) i po akceptacji je zastępują. Są dwa poziomy uprawnień: powyższy przepływ propose-only (tylko propozycje) albo jawna zgoda Zezwól na edycję plików. Nie ma osobnego przeglądu w edytorze dla dyskowych edycji samego agenta — przy włączonym Zezwól na edycję plików polegaj na kontroli wersji.