Codbash — единый пульт управления сессиями AI-агентов кодинга
📂 Исходный код на GitHubПульт управления сессиями AI-кодинга: поиск, реплей и возобновление сессий Claude Code, Codex, Cursor, OpenCode, Pi, Copilot Chat и других плюс общий терминал для параллельного запуска агентов. Zero dependencies, всё работает на localhost.
Codbash — пульт управления сессиями AI-агентов кодинга
Если вы работаете с несколькими AI-агентами для кодинга — например, с Claude Code и Codex, а может, ещё и с OpenCode или Cursor — то знаете, как быстро накапливается хаос. Сессии пишутся в разные логи, в разных форматах и в разных папках, а чтобы вернуться к вчерашней задаче, приходится вручную копаться в JSONL-файлах. Проект Codbash решает именно эту проблему: это своего рода «диспетчерская» для AI-кодинга.
Codbash — это инструмент (npm-пакет + macOS-приложение), который собирает сессии сразу нескольких AI-агентов в одном месте. Он умеет искать по всем логам, перематывать сессии как видео, возобновлять их и даже запускать несколько агентов параллельно во встроенном терминале. При этом у него ноль зависимостей, и всё крутится локально на вашем компьютере.
Что это такое
Официальное описание звучит так: «Control room for AI coding sessions» — контрольная комната для сессий AI-кодинга. На практике это значит:
- Поиск — по всем сессиям всех поддерживаемых агентов сразу;
- Реплей — перемотка прошлых сессий с таймлайном, как у видео;
- Возобновление — запуск агента с уже предзаполненной командой resume в нужной папке проекта;
- Параллельный запуск — несколько агентов рядом друг с другом в одном встроенном терминале.
Ключевая деталь: всё работает на localhost, данные никуда не отправляются.
Поддерживаемые агенты
Список агентов внушительный. Codbash читает их сессии прямо из стандартных папок:
| Агент | Формат сессий | Возобновление | Запуск |
|---|---|---|---|
| Claude Code | JSONL | Да | Терминал / cmux |
| Codex CLI | JSONL | Да | Терминал |
| Pi | JSONL | Да | Терминал |
| Oh My Pi | JSONL | Да | Терминал |
| Cursor | JSONL | Да | Открытие в Cursor |
| OpenCode | SQLite | Да | Терминал |
| Kiro CLI | SQLite | Да | Терминал |
| Copilot Chat | JSON/JSONL | Нет | — |
Отдельно упоминается, что Codbash распознаёт и Claude Code, запущенный внутри Cursor (через entrypoint claude-vscode). Для большинства агентов доступны реплей сессии, поиск и «живой» статус процесса. Для части — конвертация в другие форматы и генерация handoff-документа с контекстом сессии.
Быстрый старт
Установка занимает пару команд:
npm i -g codbash-app
codbash run
Первая команда ставит пакет глобально, вторая запускает сервер и открывает дашборд в браузере. Требуется Node.js >= 18 и хотя бы один установленный AI-агент. Работает на macOS, Linux и Windows.
Для macOS есть и полноценное десктоп-приложение — скачивается из Releases. Оно подписано и нотаризовано (Apple Silicon и Intel), открывается без предупреждения Gatekeeper и автоматически проверяет обновления через GitHub Releases. По сути это то же самое приложение, но в нативном окне.
Что умеет дашборд
Браузерный дашборд — это главный экран Codbash. Разберём его возможности по частям.
Обзор
Стартовая страница-дашборд показывает общую картину: количество сессий, активные агенты, запущенные терминалы и расход (за сегодня и суммарно). Недавние сессии — кликабельными карточками, а живые терминалы сгруппированы по папкам проектов.
Поиск по всем сессиям
Одна из самых полезных функций. Дашборд умеет два вида поиска:
- Fuzzy-поиск по триграммам — работает прямо при наборе текста;
- Полнотекстовый глубокий поиск — по всем сообщениям всех поддерживаемых логов.
Найденное можно фильтровать по агенту, тегам и диапазону дат. Для тех, кто привык к клавиатуре, есть шорткаты: / — поиск, j/k — навигация, Enter — открыть, x — закрепить, d — удалить, s — выбрать, g — сгруппировать, r — обновить, Esc — закрыть.
Реплей сессии
Сессию можно «перемотать» как видео: таймлайн-слайдер, play/pause, наведение на карточку для быстрого предпросмотра. Удобно, когда нужно вспомнить, как вы пришли к какому-то решению.
Живой мониторинг
Когда агент запущен из терминала Codbash и процесс удаётся сопоставить, на карточке появляется бейдж LIVE/WAITING, а сама карточка получает анимированную рамку. Во вкладке Running показываются CPU, память, PID и время работы. Для запущенных агентов есть кнопки Focus Terminal и Open in Cursor. Опрос состояния — каждые 5 секунд.
Стоимость
Если агенты записывают информацию об использовании токенов (input, output, cache), Codbash считает реальные затраты по моделям: Opus, Sonnet, Haiku, Codex, GPT-5. В аналитике — дневной график расходов, стоимость по проектам и список самых дорогих сессий.
Прочее
- Карточки сессий можно закреплять (star/pin) и помечать тегами;
- GitHub-style SVG-график активности с полосой «streak»;
- Темы: Dark, Light, System;
- Виды сеткой и списком, с группировкой по проектам.
Workspace — терминал в браузере
Это фишка, которая выделяет Codbash среди простых просмотрщиков логов. Внутри дашборда есть настоящий терминал (на базе xterm.js):
- Вкладки и сплит-панели — 1–4 панели на вкладку, каждая — независимый shell или агент;
- Запуск любого агента или сохранённой команды в панель, можно сохранять целые раскладки;
- «Open here» — на любой карточке сессии открывает терминал в папке проекта с предзаполненной командой resume агента;
- До 4 терминалов, привязанных к одному проекту, из раздела Projects;
- Терминалы автоматически называются по имени папки (переименование — двойной клик или кнопка ✎);
- Подтверждение перед закрытием живых терминалов, статус каждого терминала в верхней панели.
Так что можно запустить Claude Code и Codex рядом, в соседних панелях, и они будут работать над разными частями задачи параллельно. Именно этот сценарий показан на обложке репозитория: четыре агента работают бок о бок в одном Workspace.
Кросс-агентные функции
Пара функций, которые пригодятся, если вы переключаетесь между агентами или передаёте контекст.
Конвертация сессий
codbash convert <id> claude|codex|qwen
Сессии можно конвертировать между форматами Claude Code, Codex и Qwen. Например, если агент A начинал работу, а доделывать удобнее в агенте B — историю можно перенести.
Handoff
codbash handoff <id> [target] [--verbosity=full] [--out=file.md]
Из любой сессии генерируется контекстный документ с читаемыми сообщениями — готовый файл для передачи контекста другому агенту или человеку. Это удобно, когда нужно переключиться между сессиями или передать работу коллеге.
Установка агентов
В Codbash встроены команды установки поддерживаемых агентов одной строкой:
curl -fsSL https://claude.ai/install.sh | bash # Claude Code
npm i -g @openai/codex # Codex CLI
curl -fsSL https://cli.kiro.dev/install | bash # Kiro CLI
npm i -g @earendil-works/pi-coding-agent # Pi
curl -fsSL https://omp.sh/install | sh # Oh My Pi
bun install -g @oh-my-pi/pi-coding-agent # Oh My Pi (Bun)
curl -fsSL https://opencode.ai/install | bash # OpenCode
CLI-команды
Помимо дашборда, есть полноценный интерфейс командной строки:
codbash run [--port=N] [--no-browser]
codbash search <query>
codbash show <session-id>
codbash handoff <id> [target] [--verbosity=full] [--out=file.md]
codbash convert <id> claude|codex|qwen
codbash list [limit]
codbash stats
codbash export [file.tar.gz]
codbash import <file.tar.gz>
codbash update
codbash restart
codbash stop
export/import позволяют упаковать данные в tar.gz и перенести на другую машину — удобно для бэкапов или переезда. update, restart и stop управляют самим приложением.
Откуда берутся данные
Codbash не хранит собственные логи — он читает сессии из стандартных мест каждого агента:
~/.claude/ Claude Code sessions + PID tracking
~/.codex/ Codex CLI sessions
~/.cursor/projects/*/agent-transcripts/ Cursor agent sessions
~/.pi/agent/sessions/**/*.jsonl Pi coding-agent sessions
~/.omp/agent/sessions/**/*.jsonl Oh My Pi coding-agent sessions
~/.local/share/opencode/opencode.db OpenCode (SQLite)
~/Library/Application Support/kiro-cli/ Kiro CLI (SQLite)
<vscode-user-data>/workspaceStorage/ Copilot Chat (JSON/JSONL)
# Linux: ~/.config/Code
# macOS: ~/Library/Application Support/Code
# Windows: %APPDATA%\Code
Обратите внимание, что для OpenCode и Kiro используются SQLite-базы, а для остальных — JSONL/JSON-файлы. Ничего не переписывается поверх: инструмент читает уже существующие данные.
Архитектурные заметки
Из README можно выделить пару интересных технических деталей:
- Zero dependencies — у основного дашборда ноль внешних зависимостей;
- Терминал работает на базе
xterm.jsс опциональным предсобранным@lydell/node-pty; - Весь движок — единый сервер, который запускается на localhost, а десктоп-приложение для macOS — это нативное окно вокруг того же сервера;
- Для желающих разобраться в устройстве есть отдельный документ ARCHITECTURE.md;
- Проект распространяется под лицензией MIT.
Кому это может пригодиться
Честно говоря, если вы работаете только с одним агентом и у вас немного сессий — Codbash вам, скорее всего, не нужен. Встроенных списков сессий Claude Code или Codex обычно хватает.
Но картина меняется, когда агентов несколько. Например:
- вы тестируете один и тот же таск в Claude Code и Codex, чтобы сравнить подходы;
- вы ведёте несколько проектов и хотите быстро найти, в какой сессии обсуждалось конкретное решение;
- вам нужна аналитика расходов по моделям и проектам;
- вы хотите видеть, что агент прямо сейчас делает, не переключаясь между окнами терминалов.
В таких сценариях «контрольная комната» экономит время: один поиск вместо копания в куче JSONL-файлов, один терминал вместо россыпи окон, а история всех агентов — в одном месте. Ну и ноль зависимостей + работа на localhost — приятный бонус с точки зрения приватности.
Итог
Codbash — это практичный инструмент для тех, кто живёт с несколькими AI-агентами кодинга одновременно. Он закрывает реальную боль: разрозненные логи превращаются в единый поиск, просмотр и возобновление сессий, а встроенный терминал позволяет запускать агентов параллельно в одном окне. Установка простая, зависимостей нет, всё работает локально.
Проект открытый, MIT, активная разработка через feature-ветки и pull request'ы. Если работаете с несколькими агентами и устали от хаоса в логах — стоит попробовать.
Источник: https://github.com/vakovalskii/codbash