Голосовые системы

Chat Agent 2.5.0 — поставка и проверка 06.11.2026

MR !60 одобрен пользователем и влит. Main: 90ca99b6385a448382d1d1ca8bbd6c2464c3a7c0. Reviewed source: cdaa1a1c871ee2a7abe9787973b5f503da47ac5d. Изолированный checkout: `локальный источник Пользовательская основная копия не менялась. Repowise обновлён на новый main.

Что удалено и упрощено

  • Удалены отдельный src_llm, его Dockerfile, debug-профиль, конфигурация сервиса и ветви сборки. Удалён src_agent/model_capture.py и обратный RPC capture. Работающий provider перенесён в Agent без повторной реализации; исчез внутренний сетевой вызов Agent → LLM.
  • Сохранены диагностический nats.llm.user123, health, единая очередь 1 выполняющийся / 3 ожидающих, токенизация и ограничения контекста. HTTP/SSE в новом журнале принадлежит Agent.
  • Удалены транспорт v3, проигрывание исторических PCM-архивов и специальные Core-преобразования. Opus, PCM после декодирования, ASR, waveform и временный WAV работают. Исторические записи физически не удалялись.
  • Убрана повторная сериализация ради размера диагностического сообщения; объединена очистка ресурсов Gateway. Схема Monitor переиспользует элементы, JSON и подробные пакеты загружаются при раскрытии.
  • Добавлена ручная очистка с preview, фиксированной выборкой, ограниченными порциями, защитой активности/replay и сохранением связанных payload. Production-удаление не запускалось.
  • Шесть диагностических вкладок заменены последовательной страницей одного шага. Генерации/инструменты связаны ID; отсутствующее публичное пояснение обозначается честно.

Рабочий код: +805 / −807, итог −2 строки (20 433 → 20 431). Тесты: +567 / −457, итог +110. Подсчёт учитывает переносы; неизменённый перенос провайдера не засчитан как сокращение. Новые очистка и диагностика почти компенсировали удалённый код. Сокращение состава runtime — один сервис и внутренние RPC.

CI и образы

Pipeline #5773, точный SHA main:

Job Результат
30070 Python 246 passed, 136 skipped, 10 subtests passed
30071 Browser NATS 3 passed
30072 Frontend 586 passed; типизация и audit прошли
30073 Ruby 62 tests, 390 assertions, без ошибок
30074 Integration 111 tests в 16 группах
30075 Четыре приложения Сборка и публикация успешны, теги с полным SHA
30092 Preflight Успех
30119 Consolidation Успех, адресный переход выполнен
30076 / 30120 ZIP Сборка прошла; upload артефакта не прошёл

Pipeline отображается manual из-за остальных необязательных ручных jobs; это не утверждение, что все его jobs выполнены. Публикация ZIP заблокирована resolver runner: внутреннее имя gitlab возвращает server misbehaving при загрузке artifacts. Один точечный повтор дал тот же результат. CI, DNS и общий runner ради обхода не менялись.

Работающий результат

Agent, Gateway, Audio Ingress и Front: 1/1 running, OCI revision 90ca99b6…, build label 1.0.1181. Job проверил точный image ID, health и завершённый rollout каждого компонента; Insight независимо подтвердил digest и replicas. Прежний LLM остановлен, после проверки единственного Agent-owned ответчика удалён. Допуск открыт. Остальные сервисы прошли guard без изменения; nats_box, nats_ui, pgweb_mcp, ASR, модели и GPU сохранены.

Полные новые digest находятся в runtime-after.json, прежние — в runtime-before.json. Адресный порядок отката сохранён в DOCS/CHAT_AGENT_2_5.md.

Пакет 2.5.0 собран штатным extension:build из main локально, проверен и установлен по прежнему пути локальный источник; резервная копия 2.4.6 сохранена. IDdbcdiabfkimnhbkkhkikgfapnabifmjf, permissions и CSP прежние. ZIP SHA-256:85d703cb881a2c0fd22822364258017cba925565a68bb23067aaee2202f129c2`. Пользователь подтвердил перезагрузку; новая панель проверена фактически.

Production-проверки

  • RoboForm: безопасное чтение только h1. Request 2a68332d-6dc5-415d-90c7-0bc08f37bdc5, session e553d21f-3e16-4891-9321-65b73fed9cee. Три генерации / два успешных run_js; ответ Form Filler: Test Form - All Fields. По клиентскому измерению ответ показан через 4,17 с. Поля формы и микрофон не использовались.
  • Модалка: выбранный инструмент открывает свой шаг и выделяется; последующий шаг содержит его результат; финальный ответ только в шаге 3. Проверены обе темы, переходы, Escape, возврат фокуса и сохранение выбора. В последней генерации: очередь 0,00 с, подготовка 0,10 с, вызов провайдера 0,30 с, 1820 входных / 10 выходных токенов. Интервалы не суммируются с полным временем.
  • Monitor: 53 сохранённых наблюдения → 38 передач, 9 запросов / 15 ответов / 14 событий, ошибок 0. HTTP Agent → provider, ответ обратно, разбор локально. Старого LLM-узла в новом запросе нет. Журнал → выбранная стрелка → журнал сохраняет event ID; JSON загрузился при раскрытии. Обе темы проверены на HTTPS.
  • Ручная очистка: production preview выбранной сессии успешно вернул количества; удаление не подтверждалось. Защита активности, повтор, отмена, ссылки и порции проверены в изолированных интеграционных тестах.
  • Opus 48 кГц: повтор сохранённой фразы 9c603781-fccd-5e05-80ba-538599e1e394, диапазон 0,408–2,688 с, длительность 2,28 с. GigaAM Large: текст совпал, вход совпал по SHA-256, один вызов, чистое распознавание 37,38 мс, весь повтор около 0,7 с. Waveform и временный WAV доступны. Команда чата не создавалась.
  • При открытии одной новой вкладки Monitor был единичный сбой подключения. После повторной загрузки auth/nats вернул 200, страница и replay отработали; причина первого сбоя не доказана. Первичное подключение расширения во время поставки также потребовало кнопки «Повторить», после чего NATS подключился и контрольный запрос прошёл.

Короткие замеры и ограничения

Предыдущие сопоставимые локальные замеры этого MR: подготовка диагностического тела 65 558 байт — 0,199 → 0,039 мс (5×500); запрос Monitor на одинаковом наборе — медиана 224 → 134 мс (3 повтора). Это не production p95. Разницу старого и нового ASR-времени нельзя считать ускорением релиза: модель/прогрев не сравнивались в одинаковых условиях.

Compare прошёл изменённые тесты и сборку общего кода. Отдельный production-захват Compare не запускался, поскольку микрофон исключён из проверки; живая проверка аудио выполнена серверным replay сохранённой записи. Длительные прогоны не выполнялись. Остаётся инфраструктурный блокер публикации ZIP в GitLab; установленный пакет и работающие серверы ему не зависят.

Скриншоты действующего интерфейса: шаг, светлая тема, шаг, тёмная тема, схема, светлая тема, схема, тёмная тема, preview очистки.

Исходник

Скачать Markdown · К материалам исследования