IRIS — szybka alternatywa dla Fig w zakresie automatycznego uzupełniania w terminalu
Jeśli używałeś Fig do automatycznego uzupełniania poleceń w konsoli na macOS, prawdopodobnie pamiętasz złe wieści z jesieni 2024 roku. Projekt został zamknięty, a prace zostały włączone do Amazon Q Developer z obowiązkowym logowaniem do chmury i ciężkim interfejsem.
Autouzupełnianie w stylu IntelliSense w terminalu jest naprawdę przydatne. Szybko przyzwyczajasz się do wygody: zaczynasz wpisywać nazwę narzędzia i pojawia się menu z argumentami, gałęziami Git lub flagami.
Autor projektu IRIS postanowił odbudować tę koncepcję od podstaw. Zamiast Electrona i zależności serwerowych stworzył pojedynczy plik binarny Go, który renderuje wyskakujące sugestie bezpośrednio w TTY.

Dlaczego TTY zmienia wszystko
Tradycyjne nakładki graficzne, takie jak Fig, są ściśle powiązane z określonymi systemami operacyjnymi i graficznymi terminalami. Spróbuj przekierować nakładkę Fig do sesji SSH na zdalnym serwerze Linux lub uruchomić ją w gołej konsoli wirtualnej — nic nie działa.
IRIS stosuje inne podejście. Wstrzykuje się bezpośrednio w wyjście terminala (TTY), co sprawia, że działa natywnie w różnych środowiskach:
- Lokalne terminale na macOS i Linux
- Zdalne sesje przez SSH
- Sesje wewnątrz tmux
- Konsoli wirtualne Linuksa bez graficznej powłoki
Konfiguracja środowiska na serwerze jest tak prosta, jak skopiowanie jednego pliku. Nie trzeba instalować menedżerów wtyczek dla Zsh ani Fish, szukać motywów ani pobierać gigabajtów zależności.
Co jest w środku i jak to działa
IRIS indeksuje Twoje aliasy i historię poleceń. Gdy zaczynasz wpisywać, narzędzie wyciąga najbardziej trafne sugestie z historii lub specyfikacji poleceń.
Dostępne są dwa style wizualne: Modern i Classic. Styl Modern wygląda łagodniej i używa ikon Nerd Fonts, podczas gdy Classic jest prostszy i bliższy tradycyjnym interfejsom TUI.

Wyróżniającą funkcją jest obsługa sieci neuronowych. Jeśli chcesz kontekstowych sugestii, możesz włączyć dostawcę AI w konfiguracji. Out of the box obsługuje:
- Groq (działa przez API chmurowe, wystarczy darmowy klucz)
- Ollama (dla osób uruchamiających lokalne modele, takie jak
qwen2.5-coder)
Debounce danych wejściowych jest kontrolowany przez parametr debounce_ms. Jeśli jesteś przyzwyczajony do szybkiego pisania, AI nie zaleje Cię żądaniami przy każdym naciśnięciu klawisza.

Plik konfiguracyjny wykorzystuje proste struktury TOML i znajduje się w ~/.config/iris/config.toml. Zmiany są pobierane na bieżąco, więc nie ma potrzeby restartowania powłoki.
[core]
mode = "last"
expand-alias = true
[ui]
style = "modern"
ghost-text = true
nerd-fonts = true
[ai]
enabled = false
provider = "ollama"
[ai.providers.ollama]
endpoint = "http://localhost:11434/v1/chat/completions"
model = "qwen2.5-coder"
timeout_ms = 5000
Zastrzeżenia i wskazówki dotyczące instalacji
Istnieje wiele sposobów instalacji narzędzia. AUR ma pakiet iris-autocomplete, Homebrew ma formułę versenilvis/iris/iris. Użytkownicy Nix Flakes również mogą znaleźć wstępnie zbudowane pakiety, a także regularne pakiety Debiana .deb i .rpm w wydaniach GitHub.
Przed uruchomieniem wyłącz wszelkie istniejące wtyczki autouzupełniania, których używasz. Narzędzia takie jak zsh-autosuggestions lub atuin będą przechwytywać kombinacje klawiszy i zaśmiecać ekran zduplikowanym tekstem.
Windows nie jest jeszcze obsługiwany. Programiści na tym systemie operacyjnym będą musieli uruchomić narzędzie wewnątrz WSL.
Nawigacja po menu używa znajomych skrótów:
Shift + Tab— ukryj lub pokaż menuTab— wstaw wybrane polecenieСтрелка вправо— zaakceptuj sugestię w postaci ghost textCtrl + R— przełącz tryb (historia lub specyfikacje)
W trybie debugowania iris -d loguje wszystko, co wpisujesz w konsoli. Miej to na uwadze podczas zgłaszania błędów, aby przypadkowo nie wyciekły hasła lub klucze prywatne.
Czy warto wypróbować
Jeśli tęsknisz za Fig lub masz dość konfigurowania tych samych wtyczek autouzupełniania na tuzinie serwerów, IRIS wygląda na rozsądną alternatywę. Nie wymaga rejestracji, jest lekki i szybko się uruchamia.
Projekt jest open source na licencji 0BSD, co oznacza, że kod jest całkowicie wolny do dowolnego użytku.
Powiązane projekty