1667: Terminalowy interfejs do pisania beletrystyki przy użyciu modeli językowych
Większość narzędzi integrujących generatywną sztuczną inteligencję z procesem pisarskim powiela schemat bocznego paska czatu lub agresywnego autouzupełniania tekstu w czasie rzeczywistym. Otwartoźródłowy projekt 1667 proponuje odmienną filozofię pracy. Jest to minimalistyczny interfejs terminalowy (TUI) zaprojektowany specjalnie do tworzenia beletrystyki, w którym modele językowe pełnią funkcję sterowanego asystenta generującego tekst akapit po akapicie. Oprogramowanie udostępnione na licencji Apache-2.0 stawia na pełną kontrolę twórczą, lokalne przechowywanie danych oraz eliminację elementów rozpraszających uwagę autora.
Geneza nazwy i architektura lokalna
Nazwa programu nawiązuje do klasycznego wyzwania pisarskiego: stworzenie 1 667 słów dziennie przez 30 dni pozwala osiągnąć próg 50 000 słów, czyli objętość pierwszej wersji roboczej powieści. W przeciwieństwie do tradycyjnych edytorów z funkcjami grywalizacji, 1667 nie narzuca sztywnych liczników ani nie śledzi postępów autora.
Projekt wyróżnia się rygorystycznym podejściem do prywatności. Kod źródłowy nie zawiera bibliotek analitycznych, telemetrii, modułów raportowania awarii ani unikalnych identyfikatorów instalacji (install id). Użytkownik nie zakłada konta w żadnym zewnętrznym serwisie. Opcjonalny mechanizm sprawdzania aktualizacji jest domyślnie wyłączony, a po jego aktywacji odczytuje wyłącznie numer wersji bez pobierania dodatkowych plików.
Cała praca nad tekstem odbywa się w lokalnym katalogu wskazanym przez użytkownika (inicjalizowanym poleceniem 1667 init, np. w folderze ~/book). Wygenerowane rozdziały i wybrane linie narracyjne są eksportowane bezpośrednio do plików w formacie Markdown. Klucze dostępowe do zewnętrznych API są przechowywane w odrębnym, prywatnym pliku konfiguracyjnym i nigdy nie trafiają do katalogu z manuskryptem.
Drzewiasta struktura narracji: części i warianty
Centralnym elementem architektury 1667 jest reprezentacja utworu jako drzewa złożonego z kolejnych części (parts) oraz ich wariantów (takes). Kiedy autor prosi model o propozycję kolejnego akapitu lub alternatywne rozwinięcie sceny, poprzedni fragment nie jest nadpisywany ani usuwany. Nowy tekst staje się węzłem siostrzanym (sibling), a użytkownik może w dowolnej chwili przełączać się między wersjami za pomocą strzałek w lewo i w prawo.
Przegląd struktury tekstu umożliwia panel mapy wywoływany klawiszem M, oferujący trzy wyspecjalizowane perspektywy:
- Widok ścieżki (
path): prezentuje bieżący ciąg narracyjny w układzie wierszowym (jeden wiersz na część), oznaczając liczbę dostępnych wariantów siostrzanych symbolami okręgów oraz wyświetlając liczbę słów po prawej stronie. - Widok drzewa (
tree): ukazuje pełne drzewo rozgałęzień fabularnych, zwijając nieaktywne odnogi („cold branches”) i umożliwiając przejście do wybranej gałęzi klawiszemL. - Widok masy (
mass): zestawia poszczególne linie tekstu pod kątem ich wagi (objętości słownej), oferując sortowanie według wielkości (largest), kolejności edycji (recent), głębokości (deepest) oraz alfabetycznie (alphabetical).
Żaden fragment tekstu nie jest archiwizowany ani usuwany automatycznie przez program. Jedynym sposobem na trwałe usunięcie wariantu wraz z przypisaną do niego gałęzią jest naciśnięcie klawisza D.
Ergonomia obsługi i klawiszologia w środowisku TUI
Środowisko 1667 zostało zaprojektowane z myślą o obsłudze wyłącznie za pomocą klawiatury. Podstawowy cykl pracy opiera się na kilku kluczowych komendach:
Space: kontynuacja pisania bieżącej części przez model.EnterlubI: otwarcie kompozytora, w którym autor wpisuje dyspozycję narracyjną (kierunek akcji), po czym model generuje kolejny akapit i przechodzi w stan oczekiwania.R: ponowne wygenerowanie wariantu z zachowaniem tego samego promptu (retake).Shift+R: edycja wcześniejszego promptu przed ponownym generowaniem.W: samodzielne dopisanie własnego wariantu tekstu.E: przejście do pełnoekranowej edycji prozy oraz zadanego polecenia.F: otwarcie panelu faktów (facts), służącego do przechowywania informacji o świecie przedstawionym i postaciach na potrzeby kontekstu modelu.Z: włączenie trybu maszyny do pisania (typewriter mode).?: wyświetlenie pełnej listy skrótów klawiszowych.
Konfiguracja parametrów generowania tekstu (takich jak temperatura, maksymalna liczba generowanych tokenów czy rozmiar okna kontekstu) nie wymaga ręcznej edycji plików JSON czy YAML — dostęp do nich zapewnia panel wywoływany klawiszem przecinka (,).
Obsługiwane modele i infrastruktura uruchomieniowa
Narzędzie nie narzuca konkretnego dostawcy sztucznej inteligencji. 1667 współpracuje z dowolnym modelem udostępniającym interfejs zgodny ze standardem OpenAI lub Anthropic. W programie przygotowano gotowe profile dla usług chmurowych (OpenAI, Anthropic, OpenRouter) oraz środowisk uruchamianych lokalnie na maszynie użytkownika:
Ollama,LM Studio,llama.cpp,KoboldCpp,- Własne punkty końcowe (
Custom endpoint).
W przypadku korzystania z modeli lokalnych nie jest wymagane podawanie żadnych kluczy API, co pozwala na całkowicie autonomiczne tworzenie tekstów bez połączenia z siecią zewnętrzną.
Instalacja i weryfikacja wydań
Wydanie 1667 w wersji 0.9.9 jest dostępne dla systemów macOS (arm64/x64), Linux (wymagana biblioteka glibc 2.17+, architektury arm64/x64) oraz Windows (x64). Instalację można przeprowadzić za pomocą oficjalnych skryptów:
- macOS / Linux:
curl -fsSL https://1667.ai/install.sh | sh - Windows (PowerShell):
powershell -ExecutionPolicy Bypass -c "irm https://1667.ai/install.ps1 | iex" - Menedżer npm:
npm install --global @1667-ai/cli@latest(wymaga środowiskaNode 22) - Budowa ze źródeł: wymaga repozytorium
github.com/1667-ai/1667, środowiskaNode 22orazBun 1.3.14lub nowszego.
Twórcy udostępniają również procedurę weryfikacji kryptograficznej instalatora przy użyciu narzędzia GitHub CLI (gh attestation verify), co pozwala potwierdzić autentyczność pobranego skryptu instalacyjnego przed jego uruchomieniem w systemie.