00:00:00С развитием интерфейсов командной строки появилось огромное количество инструментов для управления ИИ-агентами,
00:00:06которые пишут код за вас. В сегодняшнем видео я покажу основные из них и сравню их.
00:00:10Сам я сейчас повседневно использую Conductor, но это гибкий процесс, и я часто переключаюсь между инструментами.
00:00:16Другие набирающие популярность инструменты — это SuperSet, C-Mux, приложение Codex тоже весьма неплохое,
00:00:23а многие просто пишут в обычных терминалах, таких как Ghosty, Warp или iTerm.
00:00:27И, конечно, люди по-прежнему используют такие инструменты, как Cursor или VS Code.
00:00:31В этом видео я сосредоточусь на Conductor, SuperSet и C-Mux, так как это довольно новые инструменты, которые мало кто пробовал.
00:00:36Все знают, как пользоваться VS Code или Cursor, поэтому я не буду углубляться в них.
00:00:40Итак, первый на очереди — Conductor. Именно его вы сейчас видите на моем экране.
00:00:44Как видите, у меня запущено множество разных чатов параллельно.
00:00:48Это реальная работа, которую я сейчас делаю для проекта Inbox Zero.
00:00:50Каждый из этих чатов в боковой панели — это отдельное рабочее дерево (worktree).
00:00:53Если вы не знакомы с рабочими деревьями, они стали популярны благодаря параллельной работе ИИ-агентов.
00:00:58Суть в том, что основной проект клонируется в новую папку на вашем компьютере.
00:01:03Вот репозиторий Inbox Zero, и у меня просто создано много его копий на компьютере.
00:01:08Одна называется Belgrade, другая — Algiers.
00:01:10У каждой свое имя, и именно это вы видите здесь, в боковой панели.
00:01:15Каждый пункт — это, по сути, отдельная ветка, над которой я могу работать.
00:01:18У нее также есть свой собственный PR (pull request).
00:01:20Так что изменения здесь никак не влияют на изменения в других ветках.
00:01:25Это как если бы на вас работали семь разных сотрудников — разные ИИ-агенты,
00:01:30и каждый менял бы свои файлы, работая параллельно и не мешая друг другу.
00:01:35Что касается работы в Conductor, то это обычный чат.
00:01:38Здесь видно одну задачу в процессе: я даю ИИ команду продолжать работу.
00:01:43Когда задача готова, я могу перейти и проверить прикрепленный к ней PR.
00:01:49Также я могу нажать здесь, чтобы выполнить слияние (merge).
00:01:51Кнопка «review» запустит нового агента в новой вкладке для проверки изменений в этом рабочем дереве или ветке.
00:01:59Я также могу просматривать различные файлы.
00:02:01Вот, например, файл .env.example.
00:02:03А здесь справа у меня обычный терминал.
00:02:07Поскольку рабочие деревья копируют ваш основной проект в новое место,
00:02:13зачастую для этой новой папки требуется повторная настройка.
00:02:17Во всех проектах, которые мы сегодня разберем, вы увидите скрипт настройки (setup) и скрипт запуска (run).
00:02:24Скрипт настройки означает, что когда я жму «плюс» для новой фичи в новом дереве, он выполнит, скажем, pnpm install или запустит проект на новом порту.
00:02:35Вы сами решаете, как их использовать.
00:02:36Но обычно скрипт настройки делает pnpm install, а скрипт запуска фактически запускает приложение, которое доступно на localhost:3000 или другом порту.
00:02:46Каждое рабочее дерево может работать на своем отдельном порту.
00:02:50Это необходимо, потому что в каждом дереве свои изменения.
00:02:54Если вы запустите проект в одной папке, он, очевидно, не покажет изменения из другой папки на вашем ПК.
00:03:00Еще одна приятная вещь — возможность видеть проверки (checks).
00:03:04Вашу сборку или комментарии из GitHub.
00:03:07Здесь видно много запущенных проверок и комментарии от Kubik и Baz — это инструменты ИИ-ревью кода.
00:03:15Если я кликну на один из них, откроется комментарий, оставленный в ходе проверки.
00:03:19При желании я могу добавить все эти комментарии в чат, и ИИ автоматически исправит их после нажатия кнопки «отправить».
00:03:25Следующий инструмент, который я хочу показать, — это SuperSet.
00:03:28Как видите, идея очень похожая.
00:03:30Все ваши агенты отображаются в боковой панели.
00:03:32Честно говоря, многие проекты вдохновлялись Conductor, поэтому их интерфейсы так похожи.
00:03:39Справа видна возможность сделать коммит.
00:03:41Есть доступ к различным файлам проекта.
00:03:44Что здесь интересно, так это более проработанный опыт работы с терминалом.
00:03:49Если вы предпочитаете просто запускать Claude Code или Codex в обычном режиме, вы можете это сделать.
00:03:54Здесь виден результат обычного запуска.
00:03:56У них также есть собственный интерфейс чата.
00:03:58Если вам так удобнее — по-моему, это довольно новая функция.
00:04:00Conductor заставляет вас использовать их кастомный чат, а в SuperSet
00:04:04у вас есть выбор.
00:04:06Причина использовать «чистые» версии Claude Code или Codex в том, что в них будут все последние функции.
00:04:13Я имею в виду, что если в Codex выйдет обновление с новой слеш-командой,
00:04:18в Conductor она может просто не появиться, пока они не обновят само приложение.
00:04:22По большому счету это оболочка для Claude Code и Codex, но не один-в-один из-за собственного интерфейса чата.
00:04:29В SuperSet та же идея с интерфейсом чата, но можно пользоваться CLI напрямую.
00:04:36Еще в SuperSet можно работать напрямую в ветке main.
00:04:40Удивительно, но в Conductor это делать не совсем удобно.
00:04:43Насколько я знаю, в Conductor нельзя работать прямо в main.
00:04:47Приходится открывать проект в чем-то вроде Cursor или VS Code.
00:04:52Кстати, в Conductor есть такая же возможность.
00:04:54Но здесь вы видите, что я могу открыть проект из SuperSet прямо в другом редакторе, например Zed.
00:05:01Та же самая концепция.
00:05:03Я могу открыть его в Finder, Ghosty или где угодно.
00:05:06Другая крутая фишка SuperSet — возможность открывать вкладки браузера; вот Inbox Zero запущен прямо внутри SuperSet.
00:05:15Это очень полезно при работе над фронтендом.
00:05:18Стоит упомянуть, что оба приложения синхронизируются с Linear и GitHub.
00:05:22Так что вы можете создать новое рабочее дерево на основе тикета в Linear, например.
00:05:27Вот еще некоторые функции SuperSet.
00:05:29Думаю, будет очень интересно, когда запустятся облачные рабочие пространства и мобильное приложение.
00:05:34Полагаю, Conductor сделает что-то подобное.
00:05:36Эти приложения развиваются очень быстро, как вы понимаете.
00:05:39То, что мы видим сегодня, через три месяца может выглядеть совсем иначе.
00:05:42Если показать, как мы используем SuperSet, то можно выбирать между Codex, Claude Code или другими вариантами, например Open Code.
00:05:50Думаю, это еще одно преимущество SuperSet перед Conductor.
00:05:54В Conductor вы ограничены только Codex и Claude Code.
00:05:57А здесь у меня гораздо больше опций для использования.
00:05:59Давайте внесем изменения и создадим рабочее пространство.
00:06:03Видно, как пространство настраивается, выполняются определенные действия.
00:06:06Здесь открылся Codex, и одновременно в другой панели запускается pnpm install.
00:06:15Теперь, когда все готово, я попрошу его создать PR.
00:06:19Кстати, обратите внимание, в боковой панели наша ветка была переименована.
00:06:22Мы можем открыть предпросмотр в браузере, что очень удобно.
00:06:26И вот PR готов.
00:06:27Ссылка на него появилась здесь.
00:06:29В боковой панели видно, что это PR №1915, и проверки запущены — очень похоже на Conductor.
00:06:37Я также могу кликнуть здесь и увидеть изменения или коммиты.
00:06:40Если я хочу увидеть разницу (diff), я кликаю сюда, и внизу отображается diff, а также статус CI-проверок.
00:06:48Это происходит в GitHub Actions и через другие подключенные боты.
00:06:52Бот Vercel и Socket Security уже закончили, а ИИ-ревьюеры и end-to-end тесты еще выполняются.
00:07:00Кое-что важное при использовании Superset и Conductor.
00:07:03Вы можете искать файлы, но я не думаю, что есть способ искать конкретные слова в коде.
00:07:07Поэтому часто приходится открывать код в другом редакторе.
00:07:10Допустим, я хочу найти это в проекте.
00:07:12На данный момент в Conductor или Superset сделать это не получится.
00:07:17Это не критично, но иногда мне приходится открывать другой редактор, чтобы лучше понять суть происходящего.
00:07:24Но большую часть времени я просто нахожусь в Conductor, управляя агентами в боковой панели.
00:07:29И кстати, посмотрите сюда.
00:07:31Это изменение сейчас создается.
00:07:33Я могу нажать «создать PR» или «ревью», и процесс пойдет дальше.
00:07:37В нем много удобных встроенных кнопок, которые значительно упрощают рабочий процесс.
00:07:42Cmux — следующий инструмент, который мы рассмотрим.
00:07:44Но перед этим давайте взглянем на Ghosty.
00:07:46Ghosty — это просто еще один терминал.
00:07:48Он классный, советую скачать.
00:07:49Он очень быстрый, написан на Zig.
00:07:51Вот как Codex работает в Ghosty.
00:07:53То же самое: Claude Code запущен в iTerm2.
00:07:56А здесь у нас запущен Warp.
00:08:00Тоже отличный терминал. Он выделяется тем, что ИИ встроен прямо в терминал.
00:08:04И он умеет делать много других вещей, вроде агентного программирования.
00:08:07Я не пользовался им часто для этих целей, так что не буду углубляться.
00:08:10Но это очень приятный терминал, которым можно управлять на естественном языке вместо ввода команд.
00:08:16Вот как Warp выглядит на практике.
00:08:18Перейдем к Cmux: это нативное приложение для macOS, построенное на базе Ghosty.
00:08:24Вертикальные вкладки, уведомления, когда агентам нужно внимание, разделение панелей и Socket API для автоматизации.
00:08:30Вот как это выглядит. Сбоку запущено множество задач.
00:08:33Также видно много работающих панелей.
00:08:37И даже вкладка браузера.
00:08:39Так выглядит Cmux при первом запуске.
00:08:43Это высокопроизводительный терминал Ghosty, который позволяет делать дополнительные вещи.
00:08:48Он начинает работать больше как Tmux. Если вы не знакомы с Tmux, вот его основная идея.
00:08:53Вот Tmux запущен в моем терминале.
00:08:55Я могу создавать разные панели внутри самого Tmux. Это терминал внутри терминала.
00:09:00Его также называют мультиплексором терминала.
00:09:03Здесь вы видите, как я запустил Tmux внутри Cmux, но мы сейчас выйдем оттуда.
00:09:08Вот работает Cmux. Я могу продолжать делить его на разные окна.
00:09:13Это очень удобно. Если я хочу запустить четыре Codex параллельно, я могу это сделать.
00:09:18И мне не нужно управлять четырьмя разными окнами.
00:09:21Конечно, я могу открыть еще один терминал здесь и переключаться между ними.
00:09:27Одна из крутых особенностей Cmux в том, что это CLI, который можно вызывать.
00:09:32Например, команда «cmux new split left» заставит его создать для меня еще одну вкладку.
00:09:37Представьте, если вы используете Claude Code, он мог бы, например, запускать несколько агентов в разных вкладках.
00:09:44Вы также можете заставить Claude Code использовать Cmux CLI для управления другими вещами.
00:09:49Например, здесь мы на PR №1905.
00:09:52Я настроил это, просто сказав Claude Code: «Эй, я хочу видеть этот PR в боковой панели».
00:09:59Также можно автоматически обрабатывать и настраивать уведомления.
00:10:04Например, когда Claude Code или Codex заканчивают задачу, они могут вызвать Cmux CLI, чтобы отправить уведомление и сообщить, в какой вкладке всё готово.
00:10:14Еще его можно использовать для запуска браузера и автоматизации действий в нем.
00:10:18Например, я ввел «cmux browser open getinboxzero.com».
00:10:21И сайт открылся в новой вкладке прямо здесь.
00:10:24Загляните в документацию, чтобы узнать больше о его возможностях.
00:10:27Вот CLI для автоматизации браузера.
00:10:30А здесь — управление уведомлениями.
00:10:33Команда «cmux notify». Давайте попробуем.
00:10:36И вот пришло новое уведомление. Отлично.
00:10:39Теперь о некоторых различиях между Cmux и Tmux.
00:10:42Tmux великолепен, скажем, для удаленной работы.
00:10:46Если ваше соединение с сервером прервется, сессия Tmux продолжит работу.
00:10:50Cmux работает только на Mac, так что на сервере его запустить, скорее всего, не выйдет.
00:10:54Это также значит, что если вы запустите его на компьютере и захотите продолжить на телефоне, он вам не поможет.
00:11:00Лично я использую приложение Echo на телефоне. Оно стоит всего три доллара.
00:11:05Оно позволяет зайти на компьютер через SSH.
00:11:08И если у вас уже запущена сессия Tmux с Claude Code, вы можете продолжить ее прямо с телефона.
00:11:14Можно объединить компьютер и телефон в одну сеть Tailscale для такой настройки.
00:11:18Вот как это выглядит на практике. И это на самом деле очень удобно.
00:11:21Я пользуюсь этим нечасто, но само приложение очень простое и качественное.
00:11:25Так что рекомендую присмотреться и к нему.
00:11:27На этом видео заканчивается. Надеюсь, оно дало вам представление
00:11:31о существующих инструментах и способах их использования.
00:11:34Честно говоря, все они делают почти одно и то же.
00:11:37В конечном счете вы просто общаетесь с ИИ через немного разные интерфейсы.
00:11:41Для меня самое важное — это возможность запускать нескольких агентов параллельно.
00:11:45Проще всего это делать через рабочие деревья (worktrees).
00:11:48Стоит упомянуть, что в Cmux нет нативной поддержки рабочих деревьев.
00:11:52Так что вам придется поискать скрипты для их настройки.
00:11:55Но если вы используете Claude, можно просто ввести «claude worktree»,
00:11:58и он сам настроит всё в новом рабочем дереве.
00:12:01Рабочие деревья встроены в Git, так что ими можно пользоваться в любом приложении.
00:12:05Но в таких инструментах, как Conductor или Superset, вы просто нажимаете «плюс»,
00:12:09получаете новое дерево, и всё настраивается автоматически —
00:12:11вам не нужно об этом беспокоиться. Это очень приятно.
00:12:14Для Cmux в сети есть скрипты, которые помогают добиться того же эффекта.
00:12:17Там буквально пара строк кода для этого.
00:12:20Надеюсь, видео вам понравилось и было интересным.
00:12:23Обязательно подписывайтесь на новые выпуски. И если хотите помочь,
00:12:26загляните на GitInboxZero.com. Поставьте звезду репозиторию на GitHub, это проект с открытым исходным кодом.
00:12:31Это ИИ-помощник для почты, который помогает управлять письмами и быстро разбирать входящие до нуля.