Перейти до вмісту
ГоловнаНовиниДайджестиКонцептиГайдиІнструменти
Про насПідписатисяEN
Підписатися

AI Today Brief

Щоденний бриф з AI-інженерії. Built in public. EN · UA.

XTelegramLinkedInYouTubeRSS

Слідкуйте за AI Today Brief у LinkedIn — щоденні оновлення з AI-інженерії та тижневий PDF «5 shifts that changed how developers work».

Огляд

НовиниДайджестиКонцептиГайди

Компанія

ПідписатисяРекламаПро нас

Правове

Редакційна політикаAI-розкриттяПриватністьУмови

© 2026 AI Today Brief. Усі права захищені.

  1. Головна/
  2. Новини/
  3. Агенти й MCP/
  4. Відображення стану агентів кодингу в списку вікон Tmux
Агенти й MCP

Відображення стану агентів кодингу в списку вікон Tmux

Паралельний запуск агентів на зразок Claude Code та Codex у tmux ускладнює відстеження того, яке вікно працює, чекає на дію чи завершило роботу. Обхід дерева процесів та парсинг термінального буфера дозволяють вивести динамічні індикатори безпосередньо у список вікон tmux.

16 вересня 2026 р.· 6 хв читання
OKКуратор Oleksandr Kuzmenko, AI Product Engineer·Оновлено 16 вересня 2026 р.·Джерела вказані в кожному матеріалі
За участі AI · перевірено редактором·Як ми використовуємо AI
Відображення стану агентів кодингу в списку вікон Tmux

Вплив: Середній

Чому це важливо

Ви зможете контролювати фонові сесії агентів у кількох вікнах одночасно без постійного перемикання контексту та без переходу на сторонні мультиплексори.

TL;DR

  • 01Claude Code та Codex не оновлюють заголовки вікон tmux динамічно; необхідний прямий аналіз екрана через capture-pane.
  • 02Визначення процесів вимагає рекурсивного обходу через pgrep, оскільки інсталятори CLI запускають версійні бінарники.
  • 03Порядок правил критичний: для Claude спочатку перевіряється виконання, а для Codex — очікування підтвердження.

Ключові факти

Ціль інтеграції
Рядок стану tmux без заміни мультиплексора
Підтримувані агенти
Claude Code, Codex, Grok, pingme
Метод детекції
Обхід дерева процесів + парсинг термінала через capture-pane

Ненадійність заголовків вікон та назв команд

При одночасному запуску агентських CLI (Claude Code, Codex, Grok) типовою помилкою є спроба читати pane_title або pane_current_command. Claude Code записує назву сесії у pane_title лише один раз під час старту та не оновлює її через OSC escape-послідовності. Натомість Grok транслює динамічні спінери шрифтом Брайля (⠋, ⠸), створюючи несумісність між агентами. Змінна pane_current_command також не працює: бінарники запускаються за версійними шляхами (наприклад, 2.1.267 чи grok-1.0.30-mac), через що tmux не бачить базової назви програми.

Обхід дерева процесів та аналіз буфера екрана

Стабільна схема базується на розділенні двох завдань:

1. Визначення активного агента: Рекурсивний обхід PID через pgrep -P виявляє потрібний процес у дереві панелі (claude, codex, grok, pingme). 2. Захоплення екрана: Виклик tmux capture-pane зчитує останні рядки буфера термінала. 3. Застосування правил стану для кожного агента:

  • Claude: Наявність esc to interrupt означає стан working, порожній промпт ❯ — idle, а запити на кшталт do you want to proceed? чи waiting for permission — стан action.
  • Codex: Перевірка запитів дозволу (press enter to confirm or esc to cancel) повинна передувати перевірці esc to interrupt, щоб агент не зависав у хибному статусі виконання.
  • Grok: Застосування патернів футера (<n>/<n>:select, Allow …?) для очікування підтверджень та [stop]|Ctrl+c:cancel для обчислень.

Результат перевірки інтегрується у window-status-format, забезпечуючи миттєву візуалізацію стану кожного агента безпосередньо у списку вікон tmux.

Спробуй за 2 хвилини

agent_in_pane() {
  local root="$1" pids="$root" queue="$root"
  while [ -n "$queue" ]; do
    local pid="${queue%% *}"
    queue="${queue#$pid}"; queue="${queue# }"
    for c in $(pgrep -P "$pid" 2>/dev/null); do
      pids="$pids $c"; queue="$queue $c"
    done
  done
  ps -o comm= -p $pids 2>/dev/null | sed -nE 's|.*/||; /^(claude|codex|grok)$/p' | head -n 1
}

bash

✓ Коли використовувати

  • При одночасному запуску 3 або більше автономних CLI-агентів у вкладках tmux.
  • Коли агенти зупиняються на запитах доступу до термінала у фонових вікнах.

✕ Коли НЕ варто

  • Якщо ви працюєте з агентами виключно через графічні IDE, такі як Cursor чи Windsurf.
  • Якщо ви використовуєте спеціалізовані термінальні мультиплексори з вбудованим інтерфейсом моніторингу.

Що зробити сьогодні

  • →Додайте у dotfiles скрипт рекурсивного пошуку через pgrep для ідентифікації бінарників агентів у кожній панелі.
  • →Налаштуйте сканування виводу tmux capture-pane на маркери 'esc to interrupt' та запити дозволів.
  • →Підключіть індикатори статусу до параметра tmux window-status-current-format.
#tmux#Claude Code#Codex#Grok#Herdr#agenmux

Джерела

  • Agent State in the Tmux Status Line
ПоділитисяПоділитися в XПоділитися в LinkedIn
← Попередня новинаSalesforce та NVIDIA представили модель Koa на базі NemotronНаступна новина →Портування агентів даних Apache Iceberg між трьома хмарними фреймворками

Схожі матеріали

  • Агенти й MCPIBM ALTK-Evolve виявляє та усуває стохастичні збої в агентах
  • Агенти й MCPПортування агентів даних Apache Iceberg між трьома хмарними фреймворками
  • Агенти й MCPФреймворки Apple Siri відкривають протоколи делегування моделей та зовнішнього інференсу
  • Агенти й MCPЗбереження коду агентів під час стиснення контексту в ChatGPT Work

Email-дайджест

Отримуйте ранковий AI-бриф

Один лист на день — історії, що важливі для інженерів, фаундерів і техлідів. Редагує людина, з посиланнями на першоджерела.

  • ✓120+ джерел щодня
  • ✓Редагує людина
  • ✓1 лист на день
  • ✓EN + UA

Підписуючись, ви погоджуєтесь з політикою конфіденційності.