Использование Web UI
Web UI — это представление ThreadCells в реальном времени для оператора. Он рассчитан на loopback listener и нормально работает в браузере или как установленный базовый PWA. Установка не добавляет офлайн-операций или новую границу аутентификации.
Основные области
- Home суммирует сохранённую историю сессий и агентов, текущую активность, внимание владельца и подсчёты состояний First/Last/Total без загрузки каждого терминала.
- Раздел «Агенты» предоставляет представления сессий, статусов и профилей по терминалам, идентичности профиля/провайдера, состоянию выполнения, состоянию рабочего процесса и сохранённым результатам.
- Раздел «Потоки» создаёт, включает, отключает, исследует и вручную запускает повторяющиеся расписания агентов. Созданные ими агенты и жизненный цикл рабочего процесса отображаются в разделе «Агенты».
- Statistics отображает сообщённое провайдером использование, не придумывая метрики.
- Настройки содержит общие настройки, оркестрационную ёмкость, профили, провайдеры, обслуживание, глобальные для установки уведомления Telegram и сведения о приложении.
- Docs показывает общедоступную allowlisted документацию, упакованную с работающей сборкой.
- Spawn Agent запускает новую сессию из проекта, провайдера и профиля.
- Add Agent запускает ещё один терминал в точном жизненном цикле выбранной сессии; он не присоединяется к другой исторической сессии только из-за совпавшего имени.
Поддерживаются прямые URL. История браузера должна сохранять выбранную страницу Settings и Docs.
Обычный операционный цикл
- Проверьте Главную на текущую активность сессий и рабочих процессов, а Настройки — на работоспособность хоста, давление на диск и доступную ёмкость.
- Используйте Spawn Agent и подтвердите готовность выбранного провайдера.
- Наблюдайте за новой сессией в Agents.
- Используйте Flows для повторяющихся расписаний. Следите за запускаемыми ими агентами в Agents.
- Прочитайте и включите сохранённые результаты до вывода дочерних агентов из эксплуатации.
- Используйте Statistics, чтобы понимать сообщённое провайдером использование.
Метки статуса берутся из долговременного состояния control plane. Обработка означает, что ход активен; Готов — что runtime провайдера работает и действительно простаивает. Метки очереди различают исчерпание ёмкости провайдера, барьеры вывода дочерних агентов из эксплуатации и общее продолжение рабочего процесса. Метка ожидания решения владельца остаётся категориальной, а развёрнутая панель решения владельца показывает конкретную сохранённую причину.
Активные и исторические сессии остаются разными сохраняемыми жизненными циклами. Удаление исторической сессии затрагивает только этот точный подходящий жизненный цикл. Удаление завершённого терминала также проверяет его точную runtime identity, writer lease, защиту рабочего процесса/результата и связь сессии перед очисткой; неоднозначное или активное состояние остаётся защищённым. Сохранённые ресурсы очистки не создают ложной блокировки выполнения: точный жизненный цикл можно пометить удалённым, сохранив полномочия над защищёнными ресурсами файловой системы для последующего вывода из эксплуатации, а повтор того же удаления безопасен.
Агенты внутри сессии всегда следуют долговременной последовательности создания. Home и Agents сохраняют один и тот же порядок в режимах List и Grid при разворачивании, опросе, переподключении, перезапуске и изменениях жизненного цикла. Статус, ID, провайдер, профиль, активность и время обновления не используются как ключи сортировки представления; новый агент добавляется в конец сессии.
Защищённые настройки
Для чувствительных изменений используется общий элемент управления Unlock operator changes. Отсутствующее, недействительное, заблокированное, разблокированное и истёкшее состояния различаются. Точная минимальная длина секрета — пять символов, а сеанс аутентификации по умолчанию длится пять минут.
UI отправляет секрет только для разблокировки, сразу очищает его и никогда не помещает в browser persistence или exports. Ёмкость, привилегированные изменения профилей/провайдеров, конфигурация/тесты Telegram, выполнение обслуживания, выполнение Full Cleanup и применимые запуски владельца остаются заблокированными без серверного сеанса.
В самом низу Settings → Обслуживание находится опасный блок Delete all system files — Full Cleanup. Его предварительный просмотр только для чтения показывает оценку освобождаемого места по классам, причины защиты, состояние простоя, релизы/worktree и предупреждение о том, что останется только активный релиз. После разблокировки обязательно используется существующее модальное окно подтверждения. Выполнение отключено, пока активен любой агент или операция, изменяющая файловую систему, и сервер повторно проверяет это условие перед удалением. В результате отображаются запланированное и фактическое освобождение места, пропуски, состояние диска, активный релиз и доступность отката.
Безопасно подготовьте verifier по инструкции Авторизация оператора.
Выбор провайдера и профиля
Метки провайдеров различают Встроенный адаптер, CLI готов, CLI не установлен, Требуется аутентификация, Установлен, но неисправен и Готовность не проверена. Запуск отключён только для заведомо недоступного провайдера и использует ту же серверную предварительную проверку, что и настройки.
Профили в первую очередь предлагают поиск встроенных и пользовательских вариантов и предварительный просмотр итоговой конфигурации. Необработанный импорт/экспорт артефактов намеренно находится в Advanced. Выбор исключительного профиля владельца XHigh показывает предупреждение о полномочиях и требует отдельного пути выдачи разрешения.
Уведомления Telegram
Settings → Telegram настраивает одно глобальное для установки назначение независимо от проектов. Токен бота доступен в UI только для записи; действия подключения и тестового сообщения выполняются явно, а отдельное подтверждённое действие очистки отключает доставку и удаляет credential. Включённая доставка охватывает только завершение верхнего уровня, ворота внимания владельца и неожиданное завершение терминала верхнего уровня, с сохранённым подавлением дубликатов и fail-open доставкой. См. Уведомления Telegram.
Statistics
Statistics включает активные, завершённые, а также сохранённые и ещё не удалённые сессии, как только становится доступна долговременная телеметрия провайдера. Кэшированный ввод и вывод рассуждений остаются разделёнными; недоступные поля отображаются как Not reported. См. Статистика и использование провайдера.
Чтение Docs
Навигация Docs сгруппирована по пути обучения, поддерживает поиск и сопровождается структурой страницы на широких экранах. Ссылки «предыдущая/следующая» следуют опубликованному порядку manifest. Просмотрщик открывает только упакованный allowlisted Markdown; в нём нет произвольного файлового браузера или endpoint редактирования.
Full Output
Full Output отображает сохранённый текст провайдера для проверки человеком после удаления ANSI/VT control sequences и манипуляций курсором терминала. Санитизация предотвращает переписывание видимой истории управляющими последовательностями отображения; она не переосмысливает, не выполняет и не заверяет текст провайдера. Если Full Cleanup безопасно удалил старый журнал завершённого агента, сохранив его метаданные, просмотрщик сообщает, что долговременный вывод недоступен, вместо ошибки или вымышленного содержимого.
Установка как приложения
Поддерживаемые браузеры Chromium могут установить ThreadCells через действие установки браузера. Manifest использует брендинг ThreadCells и открывается в standalone display mode. В iOS можно использовать Add to Home Screen.
Когда доступ оператора защищён учётными данными браузера, manifest и связанные запросы того же origin используют ту же границу учётных данных. Cross-origin access по-прежнему ограничен явно доверенными origins; метаданные PWA не обходят элементы управления оператором или удалённым доступом.
Консервативный service worker кэширует только неизменяемые статические assets с fingerprint. Он никогда не кэширует HTML navigation, APIs, operator authorization, agents, sessions, рабочие процессы, results, Statistics, terminals, WebSockets или mutations. Если сервер недоступен, установленное приложение сообщает о реальном сетевом сбое, а не показывает устаревшее операционное состояние.
Новая неизменяемая сборка заменяет старые assets с fingerprint через обычный жизненный цикл обновления service worker в браузере. ThreadCells не удерживает оператора на устаревшей офлайн-оболочке.
Адаптивность и клавиатура
Основная навигация, Docs, Settings, таблицы и элементы управления терминалом поддерживают ширины телефонов, планшетов и настольных устройств. Широкие операционные таблицы на узких экранах прокручиваются по горизонтали, а не сжимают значения до нечитаемости.
На телефонах заголовок каждой сессии Home использует отдельную строку имени и отдельную строку метаданных/действий. Карточки агентов всегда используют канонический одноколоночный список; селектор List/Grid скрыт. Планшетная и настольная раскладки сохраняют выбор List/Grid.
Используйте обычную навигацию Tab/Shift-Tab и видимые индикаторы фокуса. Блоки кода в Docs прокручиваются по горизонтали и имеют кнопку копирования. Поведение клавиатуры терминала остаётся нативным для провайдера; прокрутка касанием не должна вводить данные в терминал.
Граница доступа
Обычный UI и Docs не предоставляют общий пользовательский вход. Оставляйте ThreadCells на loopback. Для Удалённого доступа используйте SSH-туннель или аутентифицированный Caddy/Authelia proxy; никогда не публикуйте порт 9889 напрямую.
