Подробный паспорт Шлюза
Область применения источника
Шлюз — браузерное расширение с чатом сайта, локальными видами и разрешёнными действиями во вкладке. Личное приложение называется Штрих. Node и Native Messaging host обслуживают существующие механизмы связи с устройством. Старое совместное название приложения и расширения больше не используется как описание текущего состава.
Проверенный кандидат Шлюза 1.6.0 связан со Штрихом и Node отдельным согласованным комплектом. Это не доказательство установки этого комплекта на каждом компьютере. Далее описаны механизмы транспорта, pairing и действий; поддержка платформ и общий сценарий подтверждаются конкретной поставкой.
1. Цель и смысл
Связать выбранную страницу с нужным исполнителем: показать чат, передать согласованный контекст, предложить изменение и выполнить только разрешённое действие. Работа остаётся видимой человеку, с возможностью остановки и отзыва.
Личный разговор может принадлежать Codex или Штриху; корпоративный маршрут — привязанному агенту Core через Node. Переключение не переносит историю автоматически. Для обычной работы в веб-Штате расширение не обязательно.
2. Пользователи и ценность
Сотрудник подключает свой компьютер и видит разрешения/остановку. Администратор управляет корпоративной установкой и отзывом устройства. Агент получает ровно те device capabilities, которые поддерживаются и разрешены на этом устройстве. Ценность проверяется успешной локальной задачей, корректной остановкой, отсутствием повторного эффекта и отсутствием доступа к неподключённой вкладке/машине.
3. Системная карта
Текстовая схема или контракт
flowchart LR Core[Двигатель: device command] --> Desktop[Desktop: identity и command guard] Desktop --> Host[Native Messaging host] Host --> Extension[Расширение браузера] Extension --> Tab[Разрешённая вкладка] Desktop --> Native[Разрешённые OS helpers] Tab --> Receipt[Результат / receipt] Native --> Receipt Receipt --> Core Person[Человек: разрешение / остановка] --> Desktop
Диаграмма сохраняет технические имена транспорта Node/Desktop и Extension. Личный чат Штриха подключается через отдельный проверяемый маршрут; это не означает нативный корпоративный вход Штриха. Прямые browser transports, упомянутые upstream, не считаются автоматически принятыми в Ядре.
4. Части и возможности
| Часть | Ответственность | Граница |
|---|---|---|
| Расширение | Чат сайта и разрешённые действия | Выбранный профиль и вкладка |
| Node | Pairing и локальный транспорт | Совместимый зарегистрированный helper |
| Native host | Связь браузера с Node | Точная идентичность расширения |
| Штрих | Владелец связанной личной беседы | Самостоятельное приложение macOS |
| Core | Корпоративный агент и состояние | Серверные права компании |
Локальные виды и поддерживаемые скрипты сайта могут работать без доступного агента. Они не создают серверные полномочия. Дополнительный профиль диагностики сети не заменяет браузерные инструменты и не является обязательным для чата.
5. Источники и архитектура
Исходники кандидата включают расширение Manifest V3, чат, runtime модулей сайта, Native Messaging host и маршрутизацию Node. Поддержка конкретного браузера определяется манифестом и проверкой установки, а не сходством браузеров на Chromium.
Маршрут Штриха проверяет локальный протокол перед запросом. Маршрут TeamON использует существующую привязку устройства к Core. Прямой личный Codex — отдельный маршрут. Неизвестное имя маршрута не должно незаметно выбирать другого исполнителя.
6. Pairing и состояние
Целевой цикл: не подключён → одноразовое pairing → связанная идентичность → доступен/сон/сетевая ошибка → возобновление → отзыв. Сетевая ошибка не стирает identity, а истёкший/отозванный доступ не обходится автоматическим новым pairing. Повторное подключение требует явного действия. Секрет хранится в проверенном OS-хранилище; UI показывает статус, не raw bearer.
Upstream описывает durable command guard и at-least-once delivery. Это источник для проверки повторов, а не доказательство exactly-once внешнего эффекта при любом сбое. Core и устройство связывают command ID с единственным наблюдаемым результатом; при неизвестном исходе требуется reconcile.
7. Контекст и локальные действия
Для браузерной задачи показывается выбранная вкладка/origin и разрешённое действие. Пользователь может остановить работу. Redirect, смена вкладки, потеря target и выход за разрешённый origin проверяются перед выполнением. Agent текст не расширяет разрешения. Данные контекста содержат происхождение и время получения.
Скриншоты, запись и активность не включаются скрыто. Пакет не предоставляет агенту доступ к паролям, cookies и OS-хранилищу секретов в качестве обычных инструментов. Наличие приложения на компьютере не означает согласия на непрерывное наблюдение.
8. Владение данными и границы
Node хранит привязку устройства и квитанции транспорта. Шлюз — настройки расширения и временный разрешённый контекст. История корпоративной задачи принадлежит Core, личной связанной беседы — Штриху. Отзыв останавливает прежние сессии. Сроки хранения и удаления задаются конфигурацией; журналы не содержат секретов. Расширение не получает ключ модели.
9. Сбои и наблюдаемость
Сон/пробуждение: resume без создания второго poll/writer. Native host отсутствует: явная диагностика, не бессрочное ожидание. Нет OS permission: конкретное действие по включению и доступная остановка. Несовместимый протокол: отказ с указанием версий. Дубль command ID: прежний receipt/обнаружение конфликта. Недоступен target: ошибка, не действие на похожем окне. Отзыв во время задачи проверяется отдельно.
Наблюдаемость: connection state, последняя ошибка, версии, capability readiness, command ID и результат. Содержимое вкладок и секреты не становятся обычным логом.
10. Установка и сопровождение
Отдельные подписанные installers по принятым ОС; extension доставляется способом, разрешённым заказчиком. Native host/extension ID/OS helpers включаются в BOM. После update сохраняется только действующая identity и проверяется совместимость. Удаление снимает регистрацию native host и отзывает токены по выбранному процессу. На первом демо используется один тестовый компьютер; поддержка остальных платформ не выводится из успеха на нём. Старый teamon-edge не подставляется вместо Node.
11. Приёмка
ENT-09/10/11/28/30/34, DEMO-06/05/08. Install/pair → выбранная вкладка → инструмент → receipt → stop/revoke → отрицательный тест другой вкладки/пользователя; sleep/resume; повтор команды; update/uninstall. Для каждой ОС/браузера отдельная evidence.
12. Открытые решения
Поддерживаемые ОС/браузеры, точные версии/подписи, безопасное хранилище credentials на каждой платформе, доступность helpers в закрытой сети, политики capture и распространения расширения. Пока это задачи интеграции, а не готовая поставка.
Общий контекст: системная карта (см. оглавление документации), критерии приёмки (см. оглавление документации), план демо (см. оглавление документации).
Разрешения и браузерный разговор
В интеграционном кандидате запрос привязан к сайту, профилю, беседе и исполнителю. При чтении результата проверяется актуальная привязка. Команда остановки содержит идентификатор показанной работы; устаревшая кнопка не отменяет следующий запрос.
Черновик сохраняется с проверкой ревизии. Если пользователь уже набрал новый текст, позднее подтверждение предыдущей отправки его не очищает. Большой ответ может отображаться частично с явным сообщением; это не разрешает обрезанному предложению стать действием.
Эти свойства проверены в кандидате совместного комплекта. Обновление действующего расширения и Node должно сохранить другие новые функции, после чего проводится реальная проверка в браузере.