tty7 — скилл
Скилл tty7 учит Claude Code и Codex управлять панелями терминала tty7: запускать команды в настоящем PTY, читать экран и передавать работу другому агенту
- 1 373 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Скилл дает агенту отправлять текст и нажатия клавиш в любую панель, а значит выполнять команды в чужих сеансах
- Клиент читает содержимое экрана других панелей, в том числе ssh-сеансов
- Фоновый сервер держит оболочки и удаленные подключения живыми после закрытия окна
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/tty7Определит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Скилл дает агенту отправлять текст и нажатия клавиш в любую панель, а значит выполнять команды в чужих сеансах
- Клиент читает содержимое экрана других панелей, в том числе ssh-сеансов
- Фоновый сервер держит оболочки и удаленные подключения живыми после закрытия окна
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
tty7 — терминал на Rust с отрисовкой на GPU. Оболочками и панелями владеет фоновый сервер, поэтому сеансы живут после закрытия приложения. Рядом ставится одноименный скилл. Он описывает клиент командной строки tty7: агент получает список рабочих пространств, вкладок и панелей и делит панель командой `split`. Он отправляет текст и нажатия клавиш командой `send` и снимает содержимое экрана командой `capture`. Команда `tty7 run` запускает программу в настоящем PTY, выводит поток в stdout и завершается с кодом самой программы. Для долгих и интерактивных задач вроде сервера разработки, REPL, ssh или TUI агенту не нужно блокировать собственный Bash. Команда `wait` ждет, пока панель освободится или потребует ввода, а `procs` показывает процессы и открытые порты. Главный сценарий — передать задачу другому агенту. Один агент открывает панель для второго, отправляет ему поручение, ждет и читает результат, при этом окно приложения запускать необязательно. Адреса панелей записываются как %42, вкладки как @7. Скилл просит сначала выполнить `tty7 doctor` и не запускать сервер без просьбы пользователя.
Для кого. Для разработчиков, которые запускают несколько агентов в tty7 и хотят, чтобы Claude Code или Codex сами открывали панели, ждали и читали результаты.
Подходит, если
- Claude Code должен запустить сервер разработки или ssh-сеанс так, чтобы он не блокировал его Bash-вызов
- Нужно поручить подзадачу Codex в соседней панели и получить его ответ обратно
- Агенту нужно увидеть, что сейчас выводится в другой панели, и какие порты там слушаются
- Программа ведет себя иначе без терминала, и ее нужно запускать в настоящем PTY с кодом возврата
- Несколько агентов работают параллельно по разным репозиториям, а результат надо собрать вместе
Не подходит, если
- Вы не пользуетесь терминалом tty7: без его сервера скилл не работает
- Задача завершается одной обычной командой без терминала и зрителей: хватит Bash
- Политика запрещает агентам отправлять нажатия клавиш и текст в другие терминалы машины
- Нужен только список запущенных агентов, а управлять панелями не требуется
Пример запроса к агенту
Открой в соседней панели tty7 сервер разработки, дождись его запуска и скажи, какой порт он слушаетОграничения
- Скилл работает только вместе с терминалом tty7 и его сервером. Установщики приложения лежат в разделе Releases: dmg для macOS, setup.exe или zip для Windows, AppImage для Linux.
- Вне панели tty7 адрес цели нужно называть явно, иначе команды сообщат об ошибке.
- Идентификатор вкладки вида @7 сдвигается при появлении и исчезновении вкладок, поэтому его перечитывают перед использованием.
- Чтобы `tty7 wait` видел статус другого агента, в настройках должны стоять его хуки интеграции, иначе ожидание закончится по таймауту.
- Статус и возобновление работают не для всех из 28 определяемых агентов.
Как отключить. Скилл удаляется из каталога скиллов вашего агента. Приложение tty7 снимается обычным способом для вашей системы, а хуки агентов отключаются в Settings, раздел Integrations.
Частые вопросы
Как установить скилл tty7 в Claude Code?
Выполните npx skills add l0ng-ai/tty7, позже обновляйте командой npx skills update tty7. Сам терминал tty7 ставится отдельно со страницы Releases репозитория.
Чем tty7 заменяет tmux?
Фоновый сервер владеет оболочками и панелями, поэтому после закрытия окна сеансы продолжают работать, а после перезагрузки возвращаются раскладка, экран и поддерживаемые разговоры агентов. Отдельный tmux для этого не нужен.
Как заставить один агент поручить задачу другому?
Через клиент tty7: агент открывает панель для второго агента, отправляет поручение командой `send`, ждет командой `wait` и читает результат командой `capture`. Подробный порядок описан в references/delegation.md внутри скилла.
Какие агенты поддерживает tty7?
Определяет 28 агентов, среди них Claude Code, Codex, OpenCode, Goose, Gemini, Copilot, Cursor и Amp. Статус, уведомления и возобновление после перезагрузки включаются установкой хука в Settings, раздел Integrations.
Что делает `tty7 doctor`?
Одной таблицей показывает, доступен ли сервер, совпадает ли версия протокола, установлены ли хуки агентов и заданы ли TTY7_CONFIG_DIR, TTY7_WS и TTY7_PANE, то есть работаете ли вы внутри панели tty7.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыЗеркало набора pstack Лорен Тан из Cursor: больше 50 скиллов, режим poteto-mode с 23 сценариями работы и 24 принципа для строгой работы агента с кодом
Настольное и браузерное рабочее пространство для параллельных сессий Claude Code, Codex и OpenCode в отдельных git worktree
Терминальный мультиплексор для кодинг-агентов: держит сессии Claude Code, Codex и Cursor живыми после отключения и объединяет несколько машин в одном окне
Терминальный кодинг-агент на Python в манере Claude Code: читает репозиторий, правит файлы, запускает команды, с памятью, подагентами и MCP
Утилита и скилл, с которыми Claude Code раздает задачи субагентам Claude, Codex или OpenCode в отдельных Git worktree
Кодинг-агент для терминала и рабочего стола: не засчитывает «готово» без тестов или diff и работает с DeepSeek, GLM, Kimi, Claude, Codex и Gemini
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| tty7 (эта запись) | нет | 1 373 | |
| cmux | нет | 28 603 | терминал только для macOS на базе Ghostty с вертикальными вкладками и уведомлениями, без клиента для передачи задач между агентами |
| AI Maestro | нет | 839 | панель управления агентами на разных машинах, без терминала с постоянными сеансами |
Коротко о README
Описание проекта начинается с шести причин выбрать tty7: скорость отрисовки, постоянные сеансы, учет агентов, управление агентами через скрипты, ввод как в редакторе и удаленная разработка по SSH. Затем идут ссылки на установочные пакеты, таблица возможностей, матрица из 28 определяемых агентов с отметками о статусе, ветвлении и прошлых сеансах, команда установки скилла и таблица сравнения скорости с другими терминалами. Свои замеры автор датирует и приводит способ воспроизведения.
Бейдж для README
Исходный SKILL.md
---
name: tty7
description: >-
Drive the tty7 terminal workbench from the shell with the `tty7` binary — list workspaces/tabs/panes, split a pane, send text or keystrokes into one, capture what is on a pane's screen, run a command in a real PTY and pass its exit code through, run a command in a shell pane you already have and get back its output and exit code, block until a pane finishes or needs input, see which coding agents are running and which ports a pane is listening on. Use this whenever tty7, panes, workspaces, or `%42`/`@7`/"the other pane"/"the other agent" come up; whenever you want to hand work to another agent and collect the result ("get Claude/Codex to do X", "派个活", "let another agent handle this", running several agents in parallel and merging what they produce); whenever you need to start something long-running or interactive (dev server, REPL, ssh session, `tail -f`, a TUI) that should not sit blocking your Bash tool; whenever a program needs a real terminal to behave the way the user sees it; and whenever you need to look at or report on what is running in some *other* terminal on this machine. Cheap to check: if `$TTY7_PANE` is set you are already inside tty7 and every command here works with no setup.
---
# Driving tty7 from the command line
`tty7` is a thin, non-interactive client of the tty7 server. Every verb returns
and exits; `--json` makes the output machine-readable. The GUI never has to be
running — the server is what owns the panes.
## First: where are you?
```bash
tty7 doctor
```
One table, and it answers everything you need before doing anything else:
whether a server is reachable, whether the dialect matches, whether each agent's
status hooks are installed, and whether `TTY7_CONFIG_DIR` / `TTY7_WS` /
`TTY7_PANE` are set — i.e. whether you are running *inside* a tty7 pane.
Being inside a pane matters for two reasons: the address-taking verbs
(`split`, `send`, `exec`, `capture`, `procs`, `wait`, `pane close`) default to
`$TTY7_PANE`, and `run --keep` files its pane into `$TTY7_WS`. Outside a tty7
shell you must name a target explicitly, and the error will say so rather than
guessing.
The hooks row matters if you intend to delegate to another agent: without them
an agent reports no status, so `tty7 wait` on it will only ever time out.
If `tty7 doctor` says the server is unreachable, stop and tell the user — do
not run `tty7 server start` on your own initiative. Starting a server they
didn't ask for changes what their GUI attaches to.
## What are you here to do?
Four jobs, four shapes:
1. **Run something that shouldn't block you or needs a real TTY** — a dev
server, a long test run, a TUI. [Running a command](#running-a-command-two-shapes).
2. **Talk to something stateful over time** — a REPL, `ssh`, a debugger.
Same primitives: [send](#non-blocking-a-pane-you-talk-to-over-time),
[read](#reading-a-pane), repeat.
3. **Look at what this machine is doing** — other panes, other agents, ports.
[Looking around](#looking-around), strictly read-only.
4. **Hand work to another coding agent** — one worker or a fan-out of several.
Read `references/delegation.md` first; the short version is
[below](#handing-work-to-another-agent).
The Bash tool remains right for anything that starts, does its job, and exits
without needing a terminal or an audience. A pane earns its keep when the
process outlives your turn, needs a real PTY, or should be visible to the user
in their tty7 window — that last one is often the whole point.