Od Cha do Ch
Wielkie ogłoszenie
Wycofuję Cha i skupiam się na Ch. 23 sierpnia 2025 oznaczyłem Cha jako wycofane i skierowałem wszystkie przyszłe wysiłki rozwojowe na Ch. Filozofia jest teraz prosta: mieć jedno narzędzie, które jest proste, lekkie i szybkie, utrzymywać je i naprawiać błędy. Bez gonienia za funkcjami.
Dlaczego początkowo zbudowałem Cha
Kiedy LLM-y i ChatGPT były nowe, narzędzia CLI, których chciałem, nigdy się nie pojawiały. ChatGPT wyszedł w listopadzie 2022 i naprawdę rozkręcił się na początku 2023 wraz z wydaniem GPT-4. Czekałem na solidne narzędzia wiersza poleceń, ale żadne z nich tak naprawdę nie działało tak, jak chciałem. Więc zbudowałem Cha i używałem go codziennie. W rzeczywistości w moim pierwszym wpisie na blogu powiedziałem to wprost: projekty takie jak ten były powszechne, ale żaden nie spełniał moich potrzeb, więc napisałem własny.
Cha było moim dzieckiem. Używałem go codziennie i uwielbiałem nad nim pracować. I w ciągu roku trochę urosło, zdobywając +60 gwiazdek na GitHubie. W tym czasie zyskało web scraping, pobieranie transkrypcji z YouTube, generowanie obrazów, wielowierszowe wprowadzanie danych, zarówno interaktywny, jak i nieinteraktywny czat, wprowadzanie promptów STT, obsługę niestandardowych narzędzi, obsługę różnych innych platform poza samym OpenAI, własną wyszukiwarkę Answer Search, zaawansowaną nawigację po katalogach i edycję plików, możliwość kopiowania treści do schowka, TTS dla odpowiedzi itd. Robiło wiele, działało i było naprawdę użyteczne i potężne jako narzędzie wiersza poleceń.
Dlaczego przenieść się do Ch (z Pythona do Go)
Z czasem Cha stało się ciężkie. Świetny zestaw funkcji, ale zbyt duża powierzchnia dla tego, czego potrzebowałem na co dzień. To sprawiło, że Cha stało się naprawdę przeładowane. Nie pomagało też to, że było napisane w Pythonie, co wprowadzało dwa krytyczne problemy. Jednym była szybkość — sam czas pierwszego uruchomienia nadal wynosił 0,8 sekundy, i to po wykonaniu wielu optymalizacji oraz prac inżynieryjnych, aby obejść wolny początkowy czas importu pakietów Pythona i użycie wieloprocesowości. A Pythona bardzo trudno się instaluje. Ze względu na to, że Cha zależało od różnych zewnętrznych narzędzi open-source, instalacja była bardzo trudna. Punktem przełomowym był moment, gdy podróżowałem mając tylko tablet Android z uruchomionym iTermux i to po prostu w ogóle nie działało, a doprowadzenie tego do jakiegokolwiek działania było bardzo bolesne i bezsensowne.
Postanowiłem więc rozpocząć nowy eksperyment o nazwie Ch. Ch miał być jak Cha, ALE napisany w GoLang zamiast Python i zawierać TYLKO podstawowe funkcje Cha, z myślą o tym, by był lekki, szybki, łatwy do zainstalowania na większości systemów i nie tak przeładowany funkcjami. Robiąc to, łatwiej będzie utrzymywać projekt jako jedyny opiekun.
Po kilku miesiącach pracy nad Ch i korzystania z niego zobaczyłem, że przyszłość Cha leży w Ch, a nie w oryginalnym kodzie Cha. Poświęciłem zbyt dużo czasu na Cha, utrzymywanie obu baz kodu było czasochłonne dla pojedynczego dewelopera tych projektów, a Ch wykonywał podstawową pracę, będąc jednocześnie znacznie lżejszy, szybszy i łatwiejszy do zainstalowania. To sprawiło, że decyzja stała się jasna…
Przepisanie w Go daje mi szybki start, pojedynczy plik binarny i mniejszy model mentalny. README Ch dobrze to podsumowuje: Ch jest następcą z ponad 10x szybszym uruchamianiem i znacznie lepszą wydajnością.
Decyzja
Oficjalnie wycofałem Cha 23 sierpnia 2025 i skierowałem ludzi do Ch poprzez README Cha. Repozytorium Cha pozostaje jako historyczne odniesienie, a ja trzymam Ch w trybie utrzymania z naciskiem na stabilność i poprawki błędów, z niewielkim zainteresowaniem dodawaniem nowych funkcji, chyba że będzie to warte zachodu i/lub krytyczne do dodania (cokolwiek to może oznaczać z upływem czasu).
Jakie funkcje zawiera dziś Ch
Ch obejmuje codzienny przepływ pracy bez zbędnego ciężaru:
- Wysoka wydajność uruchamiania z lekkim CLI napisanym w GoLang
- Obsługa wielu dostawców (OpenAI, Groq, DeepSeek, Anthropic, XAI, Together, Gemini, Mistral, Ollama)
- Tryby interaktywny i bezpośredni, potokowanie z dowolnego polecenia, wczytywanie plików i katalogów, zliczanie tokenów, eksport bloków kodu, przeglądarka historii czatu, przełączanie modeli/platform, cofanie kroków, zrzuty kodu, nagrywanie sesji shella, integracja ze schowkiem
- Wbudowany web scraping i wyszukiwanie, w tym obsługa linków z YouTube, zintegrowane w prosty sposób
Czego brakuje w Ch w porównaniu z Cha (i dlaczego)
Ch stara się zachować tylko niezbędne funkcje Cha, ale robiąc to, usunąłem z Ch następujące funkcje Cha:
- Zaawansowany interfejs „Editor” i „Answer Search” nie zostaną przeniesione
- Pobieranie audio, wideo i obrazów, zamiana głosu na tekst i tekstu na mowę oraz niektóre dodatkowe udogodnienia eksportu i codedump nie są priorytetem
- Niektóre pomocniki nawigacyjne i zachowania „zmiany katalogu głównego” z Cha nie są obecne w Ch
- Lokalne „profile z zapisanymi czatami” celowo nie są domyślną ścieżką
Wiele z tych rzeczy oznaczyłem jako bloat albo „miłe do posiadania”. To, co uznałem za krytyczne, to przeglądanie sieci i web scraping, których brakowało w Ch, ale od tego czasu zintegrowałem je z Ch, więc podstawowa pętla jest kompletna bez reszty. Nie tylko to, ale Ch ma nową funkcję o nazwie !x, która zapisuje sesję shella, podczas gdy nadal jesteś w sesji Ch, i dodaje to do historii czatu, pozwalając używać innych narzędzi CLI i zapisywać ich wynik dla modelu, jeśli chcesz. Ta funkcja pozwala uzyskać wiele pierwotnie brakujących funkcji Cha w Ch bez tego, by Ch musiało samo dźwigać cały ciężar i się rozrastać. Możesz dowiedzieć się więcej o Ch w tym nowym wpisie na blogu.
Ch/Cha vs Claude Code
W lipcu 2025 napisałem porównanie Cha z najnowszymi narzędziami CLI opartymi na AI, aby wyjaśnić, jaką wartość Cha zapewnia, której tamte narzędzia nie dawały. Mając to na uwadze, nadal chciałem uwzględnić to w tym wpisie na blogu, ponieważ Ch, w swojej istocie, zapewnia tę samą wartość, a porównanie nadal się broni po miesiącach, nawet po tej zmianie. Ta sama filozofia odnosi się do Ch.
Kluczowe różnice
- Podejście Ch/Cha kładzie nacisk na całkowitą kontrolę użytkownika na każdym etapie, bez działających w tle pracowników AI podejmujących autonomiczne decyzje. Otrzymujesz jawne, kontrolowane przez użytkownika zarządzanie kontekstem, przy kosztach zwykle wynoszących od 1 do 20 USD miesięcznie przy codziennym aktywnym użyciu. Nie ma niespodziewanych edycji, wszystko jest prowadzone przez użytkownika, co czyni to idealnym do głębokiego zaangażowania i ścisłej kontroli kosztów.
- Agentowe CLI, takie jak Claude Code i Gemini, obierają inną drogę, zautomatyzowane decyzje workflow i inteligentni agenci podejmują autonomiczne wybory. Obsługują zarządzanie kontekstem i plikami przez AI, przy kosztach zwykle wynoszących od 10 do 200+ USD miesięcznie przy podobnym poziomie użycia. Doskonale radzą sobie z autonomicznymi modyfikacjami kodu, co czyni je idealnymi do szybkiego prototypowania i delegowania.
Kiedy wybrać styl Ch/Cha
- Minimalny koszt z pełną przejrzystością
- Pełna kontrola nad każdą interakcją
- Głębokie zaangażowanie w proces tworzenia
- Jawne zarządzanie kontekstem w projektach wrażliwych
Kiedy wybrać narzędzia agentowe
- Szybkie prototypowanie i szybka iteracja
- Preferencja dla automatyzacji AI i delegowania
- Szybkość ponad względy kosztowe
Rekomendacja
Nie ma srebrnej kuli. Żadne narzędzie nie obejmuje każdego przypadku. Ch świetnie sprawdza się w opłacalnych codziennych zadaniach i precyzyjnej kontroli. Narzędzia agentowe, takie jak Claude Code lub Gemini CLI, błyszczą przy złożonym kodowaniu w wielu plikach i wielu środowiskach, z naciskiem na szybkość i automatyzację. Używaj Ch, gdy chcesz obniżyć koszty i zachować kontrolę. Używaj narzędzi agentowych, gdy potrzebujesz szybkiej iteracji i nie przeszkadza Ci delegowanie kontroli. Wiele osób zaczyna od Ch, aby nauczyć się dobrych wzorców interakcji, a następnie dodaje narzędzia agentowe wraz z ewolucją potrzeb.
Przyszłość Cha i Ch
Przyszłość Cha i Ch wygląda tak. Cha jest wycofane i zarchiwizowane, służąc jedynie jako pewnego rodzaju historyczne odniesienie. Ch jest teraz nowym Cha. Będzie nadal utrzymywane, rozwijane (jeśli zajdzie taka potrzeba) i używane. Będę mocno opierał się rozrostowi funkcji w Ch. A idąc dalej, gdy mówię/odnoszę się do Cha, mam na myśli Ch, a stare oparte na Pythonie Cha będzie określane jako „Cha v0” albo „stare Cha”. Mając to na uwadze
Dziękuję
Jeśli śledziłeś podróż Cha od samego początku, dziękuję. Ten projekt nauczył mnie bardzo wiele i popchnął mnie w stronę wersji, która lepiej pasuje do tego, jak naprawdę pracuję, a jednocześnie jest lepsza dla całej społeczności. Jeśli jesteś nowy, zacznij używać Ch i trzymaj się prostoty!