От Cha к Ch

GitHub-репозиторий проекта

Большое объявление

Я вывожу из эксплуатации Cha и сосредотачиваюсь на Ch. 23 августа 2025 года я пометил Cha как устаревший и направил все будущие усилия по разработке в сторону Ch. Теперь философия проста: оставить один инструмент, который простой, лёгкий и быстрый, поддерживать его и исправлять ошибки. Никакой погони за функциями.

Почему я изначально создал Cha

Когда LLM и ChatGPT были новыми, CLI-инструменты, которые я хотел, так и не появились. ChatGPT вышел в ноябре 2022 года и действительно взлетел в начале 2023 года с выпуском GPT-4. Я ждал появления надёжных инструментов командной строки, но ни один из них толком не работал так, как мне хотелось. Поэтому я создал Cha и использовал его ежедневно. На самом деле, в моём первом посте в блоге я прямо сказал: подобные проекты были обычным делом, но ни один не соответствовал моим потребностям, поэтому я написал свой собственный.

Cha был моим детищем. Я использовал его каждый день и с удовольствием работал над ним. И в течение года он немного вырос, собрав более 60 звёзд на GitHub. За это время в нём появились веб-скрейпинг, получение транскриптов YouTube, генерация изображений, многострочный ввод, интерактивный и неинтерактивный чат, ввод подсказок STT, поддержка пользовательских инструментов, поддержка различных других платформ помимо только OpenAI, собственный движок Answer Search, расширенная навигация по каталогам и редактирование файлов, возможность копировать содержимое в буфер обмена, TTS для ответов и т. д. Он делал многое, работал и был действительно полезным и мощным инструментом командной строки.

Почему я перешёл на Ch (с Python на Go)

Со временем Cha стал тяжеловесным. Отличный набор функций, но слишком большая поверхность для того, что мне было нужно изо дня в день. В результате Cha стал по-настоящему раздутым. Не помогало и то, что он был написан на Python, что породило две критические проблемы. Первая — скорость: даже просто первоначальная загрузка всё ещё занимала 0,8 секунды, и это после большого количества оптимизаций и инженерных ухищрений, чтобы обойти медленное время первоначального импорта пакетов в Python и использование многопроцессности. А Python очень сложно устанавливать. Из-за того, что Cha зависел от различных сторонних open-source-инструментов, его было очень трудно установить. Моей точкой перелома стало то, что я путешествовал только с планшетом на Android с iTermux, и всё это вообще не работало; а добиться хоть какого-то результата было очень мучительно и бессмысленно.

Поэтому я решил начать новый эксперимент под названием Ch. Ch был бы как Cha, НО написан на GoLang вместо Python и содержал ТОЛЬКО основные функции Cha с идеей быть лёгким, быстрым, простым в установке на большинстве систем и не таким перегруженным функциями. Тем самым будет проще поддерживать проект в одиночку.

После нескольких месяцев работы над Ch и использования 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, но при этом я исключил из Ch следующие функции Cha:

  • Продвинутый интерфейс “Editor” и “Answer Search” не переносятся
  • Аудио-, видео- и изображениеингестия, преобразование голоса в текст и текста в речь, а также некоторые дополнительные удобства экспорта и codedump не являются приоритетом
  • Некоторые вспомогательные функции навигации и поведение “change root dir” из Cha отсутствуют в Ch
  • Локальные “profiles with saved chats” намеренно не являются путём по умолчанию

Многие из этого я обозначил либо как раздувание, либо как “приятные, но не обязательные” функции. Тем, что я считал критически важным, был веб-браузинг и веб-скрейпинг, которого в Ch не хватало, но теперь я уже интегрировал это в Ch, так что основной цикл завершён без остального. Более того, в Ch появилась новая функция под названием !x, которая записывает shell-сессию, пока вы всё ещё находитесь в сессии Ch, и добавляет её в историю чата, позволяя использовать другие CLI-инструменты и сохранять их вывод для модели, если хотите. Эта функция позволяет перенести в Ch многие из отсутствовавших в Cha функций, не заставляя Ch делать всю тяжёлую работу и раздуваться. Подробнее о Ch можно узнать в этом новом посте в блоге.

Ch/Cha против Claude Code

В июле 2025 года я написал сравнение Cha с новейшими AI-CLI-инструментами, чтобы объяснить, какую ценность Cha даёт по сравнению с тем, чего эти инструменты не предоставляли. Зная это, я всё же хотел включить это в данный блог, потому что Ch по своей сути даёт ту же ценность, и это сравнение всё ещё актуально спустя месяцы, даже после этого перехода. Та же философия применима и к Ch.

Ключевые различия

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

Когда выбирать стиль Ch/Cha

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

Когда выбирать agentic-инструменты

  • Быстрое прототипирование и быстрая итерация
  • Предпочтение AI-автоматизации и делегированию
  • Скорость важнее соображений стоимости

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

Серебряной пули не существует. Ни один инструмент не покрывает все случаи. Ch отлично подходит для экономичных повседневных задач и точного контроля. Agentic-инструменты вроде Claude Code или Gemini CLI блистают в сложном программировании с множеством файлов и сред, с акцентом на скорость и автоматизацию. Используйте Ch, когда хотите снизить расходы и сохранить контроль. Используйте agentic-инструменты, когда вам нужна быстрая итерация и вас не смущает делегирование контроля. Многие начинают с Ch, чтобы научиться хорошим паттернам взаимодействия, а затем добавляют agentic-инструменты по мере изменения потребностей.

Будущее Cha и Ch

Будущее Cha и Ch таково. Cha выведен из эксплуатации и заархивирован, оставаясь лишь своего рода исторической справкой. Ch теперь — это новый Cha. Он будет и дальше поддерживаться, улучшаться (если потребуется) и использоваться. Я буду жёстко сопротивляться разрастанию функций для Ch. И в дальнейшем, когда я говорю/ссылаюсь на Cha, я имею в виду Ch, а старый основанный на Python Cha будет называться “Cha v0” или “старый Cha”. С учётом этого

Спасибо

Если вы следили за историей Cha с самого начала, спасибо. Этот проект многому меня научил и подтолкнул меня к версии, которая лучше соответствует тому, как я действительно работаю, а также лучше для сообщества в целом. Если вы новичок, начните использовать Ch и не усложняйте!