Від Cha до Ch

Репозиторій проєкту на GitHub

Велике оголошення

Я припиняю розвиток Cha і зосереджуюсь на Ch. У 23 серпня 2025 року я позначив Cha як застарілий і направив усі майбутні зусилля з розробки до Ch. Філософія тепер проста: тримати один інструмент, який є простим, легким і швидким, підтримувати його та виправляти помилки. Без гонитви за новими функціями.

Чому я спочатку створив Cha

Коли LLM та ChatGPT були новими, інструменти командного рядка, які я хотів, ніколи не з’являлися. ChatGPT вийшов у листопаді 2022 року і реально набрав популярність на початку 2023 року з релізом GPT-4. Я чекав, поки з’являться якісні інструменти для командного рядка, але жоден з них насправді не працював так, як мені треба. Тож я створив Cha і використовував його щодня. Насправді, у моєму першому дописі в блозі я прямо сказав: подібні проєкти були поширені, але жоден не відповідав моїм потребам, тому я написав свій власний.

Cha був моїм дітищем. Я використовував його щодня і з задоволенням працював над ним. І протягом року він трохи виріс, отримавши +60 зірок на GitHub. За цей час він набрав веб-скрапінг, витягування транскриптів з YouTube, генерацію зображень, багаторядковий ввід, як інтерактивний, так і неінтерактивний чат, введення підказок через STT, підтримку кастомних інструментів, підтримку різних платформ, не лише OpenAI, власний пошуковий механізм відповідей, розширену навігацію по директоріях та редагування файлів, можливість копіювати вміст у буфер обміну, TTS для відповідей тощо. Він багато чого вмітив, працював і був справді корисним і потужним інструментом командного рядка.

Чому мігрувати до Ch (з Python на Go)

З часом Cha став важким. Чудовий набір функцій, але занадто велика площа поверхні для того, що мені потрібно щодня. Це призвело до того, що Cha справді роздувся. Також не допомогло те, що він був написаний на Python, що спричинило дві критичні проблеми. Перша — це швидкість: лише початковий час завантаження все ще займав 0,8 секунди, і це після великої кількості оптимізацій і інженерних рішень, щоб обійти повільний початковий імпорт пакетів Python та використання мультипроцесінгу. І Python дуже складно встановлювати. Через залежність Cha від різних сторонніх відкритих інструментів його було дуже складно інсталювати. Точка перелому настала, коли я подорожував лише з планшетом на Android з iTermux і він просто не працював зовсім, а щоб якось змусити його працювати було дуже болісно і марно.

Тож я вирішив почати новий експеримент під назвою Ch. Ch мав бути як Cha, АЛЕ написаний на GoLang замість Python і містити ЛИШЕ необхідні функції Cha з ідеєю бути легким, швидким, простим в інсталяції на більшості систем і не таким перевантаженим функціями. Роблячи це, буде легше підтримувати проєкт як єдиному супроводжувачу.

Після кількох місяців роботи над Ch і використання його, я побачив, що майбутнє Cha — через Ch, а не оригінальний код Cha. Я витратив занадто багато часу на Cha, підтримка обох кодових баз займала багато часу як одного розробника, і Ch виконував основну роботу, будучи набагато легшим, швидшим і простішим в установці. Це зробило рішення очевидним…

Перепис на Go дає мені швидкий старт, одинарний бінарник і меншу ментальну модель. README Ch добре це підсумовує: Ch — спадкоємець з більш ніж у 10 разів швидшим запуском і значно кращою продуктивністю.

Рішення

Я офіційно позначив Cha як застарілий 23 серпня 2025 року і направив людей до Ch через README Cha. Репозиторій Cha залишається як історична довідка, а я тримаю Ch у режимі підтримки з акцентом на стабільність та виправлення помилок, з малою зацікавленістю додавати якісь нові функції, якщо тільки це не буде того варте або критично важливо додати (що б це не означало з часом).

Які функції Ch включає сьогодні

Ch покриває щоденний робочий процес без зайвого вантажу:

  • Високопродуктивний старт з легким CLI, написаним на GoLang
  • Підтримка кількох провайдерів (OpenAI, Groq, DeepSeek, Anthropic, XAI, Together, Gemini, Mistral, Ollama)
  • Інтерактивні та прямі режими, пайпінг з будь-якої команди, завантаження файлів і директорій, підрахунок токенів, експорт блоків коду, переглядач історії чату, перемикання моделей/платформ, відкат, дампи коду, запис сесій shell, інтеграція з буфером обміну
  • Вбудований веб-скрапінг і пошук, включаючи обробку посилань YouTube, інтегровані простим способом

Чого не вистачає в Ch порівняно з Cha (і чому)

Ch намагається зберегти лише необхідні функції Cha, але внаслідок цього я вирізав наступні функції Cha з Ch:

  • Просунутий інтерфейс “Editor” і “Answer Search” не переносяться
  • Прийом аудіо, відео та зображень, перетворення голосу в текст і тексту в мову, а також деякі додаткові експортні та зручні фічі codedump не є пріоритетом
  • Деякі помічники навігації та поведінки “змінити кореневий каталог” з Cha відсутні в Ch
  • Локальні “профілі з збереженими чатами” навмисне не є шляхом за замовчуванням

Я позначив багато з цього як надмірність або “приємні доповнення”. Те, що я вважав критичним — це веб-перегляд і веб-скрапінг, яких спочатку не вистачало в Ch, але я згодом інтегрував їх у Ch, тож базовий цикл тепер повний без решти. До того ж у Ch є нова функція під назвою !x, яка записує сесію shell, поки ви все ще у сесії Ch, і додає це до історії чату, дозволяючи використовувати інші CLI-інструменти та зберігати їхній вивід для моделі, якщо ви хочете. Ця функція дозволяє отримати багато з оригінально відсутніх можливостей Cha в Ch без того, щоб Ch робив всю роботу і роздувався. Ви можете дізнатися більше про Ch у цьому новому блозі публікації.

Ch/Cha проти Claude Code

У липні 2025 року я написав порівняння Cha з найсучаснішими AI-CLI інструментами, щоб пояснити, яку цінність Cha дає, чого ці інструменти не давали. Знаючи це, я все ще хотів включити це в цей допис, тому що Ch, у своїй основі, надає ту саму цінність, і порівняння все ще витримує перевірку через місяці навіть після цього переходу. Та сама філософія застосовується до Ch.

Ключові відмінності

  • Підхід Ch/Cha підкреслює повний контроль користувача на кожному кроці без фонових AI-робітників, що приймають автономні рішення. Ви отримуєте явне, кероване користувачем управління контекстом з витратами, які зазвичай становлять від $1 до $20 на місяць для щоденного активного використання. Немає несподіваних редагувань, усе керується користувачем, що робить це ідеальним для глибокого залучення та строгого контролю витрат.
  • Агентні CLI, як Claude Code і Gemini, йдуть іншим шляхом з автоматизованими рішеннями робочих потоків і розумними агентами, що роблять автономний вибір. Вони обробляють AI-керований контекст і управління файлами з витратами, які зазвичай становлять від $10 до $200+ на місяць для подібних рівнів використання. Вони відмінні у автономних змінах коду, що робить їх ідеальними для швидкого прототипування та делегування.

Коли обирати стиль Ch/Cha

  • Мінімальні витрати з повною прозорістю
  • Повний контроль над кожною взаємодією
  • Глибоке залучення в процес розробки
  • Явне управління контекстом для чутливих проєктів

Коли обирати агентні інструменти

  • Швидке прототипування та швидка ітерація
  • Перевага автоматизації та делегування AI
  • Швидкість над економією витрат

Рекомендація

Не існує універсального рішення. Жоден інструмент не покриває усі випадки. Ch відмінно підходить для економних щоденних завдань і точного контролю. Агентні інструменти, як Claude Code або Gemini CLI, блискучі для складного, багатофайлового, багатосередовищного кодування з акцентом на швидкість і автоматизацію. Використовуйте Ch, коли хочете зменшити витрати і зберегти контроль. Використовуйте агентні інструменти, коли потрібна швидка ітерація і вам не шкода делегувати контроль. Багато людей починають з Ch, щоб вивчити хороші патерни взаємодії, а потім додають агентні інструменти по мірі розвитку потреб.

Майбутнє Cha та Ch

Майбутнє Cha і Ch виглядає так. Cha є застарілим і заархівованим, виконуючи лише роль історичної довідки. Ch тепер — новий Cha. Він продовжуватиме підтримуватися, при необхідності доповнюватися і використовуватися. Я сильно протидіюватиму повзучому розширенню функцій для Ch. І надалі, коли я кажу/посилаюся на Cha, я маю на увазі Ch, а старий Python-базований Cha я буду називати “Cha v0” або “старий Cha”. З урахуванням цього

Дякую

Якщо ви слідували за подорожжю Cha з самого початку, дякую. Цей проєкт навчив мене багато і підштовхнув мене до версії, яка краще відповідає моєму реальному робочому процесу і одночасно є кращою для спільноти в цілому. Якщо ви нові — почніть використовувати Ch і тримайте все просто!