# Chat Agent

Браузерный чат и расширение Chrome: текст, голос, действия на текущей странице,
история и Monitor. Имя Git-репозитория — `webrtc-komaroff`, production-стека — `chat-agent`.

- [Чат](<https://chat-agent.gis-master.ru/>), [Monitor](</experiments/voice-ai/monitor-archive/>), [ASR Compare](</experiments/voice-ai/compare-golos/>).
- [Текущая архитектура](</experiments/voice-ai/archive/w/DOCS/ARCHITECTURE.md>), [запуск](</experiments/voice-ai/archive/w/DOCS/START_HERE.md>), [локальная разработка](</experiments/voice-ai/archive/w/DOCS/QUICKSTART.md>).
- [run_js и DOM API](</experiments/voice-ai/archive/w/DOCS/RUN_JS.md>), [NATS-контракты](</experiments/voice-ai/archive/w/DOCS/NATS.md>).
- [Поставка](</experiments/voice-ai/archive/w/DOCS/DEPLOYMENT.md>), [диагностика](</experiments/voice-ai/archive/w/DOCS/DIAGNOSTICS.md>).

## Компоненты

| Исходники | Ответственность |
|---|---|
| `src_front`, `extensions/chrome` | Общий UI, захват микрофона, Silero, Opus, исполнение инструментов страницы |
| `src_api_gateway` | Доступ браузера к NATS, прямой допуск команд в Agent, Monitor и аудиоархив |
| `src_agent` | Pydantic Agent, очередь запросов, вызовы модели и `run_js` |
| `src_llm` | Шлюз к модели и сохранение фактических входов/выходов |
| `src_audio_ws_ingress` | Допуск аудио, декодирование, архив, batch ASR, результат и диагностический повтор |
| `src_shared`, `src_postgres` | Общие контракты и PostgreSQL |

Production использует отдельные NATS для чата и аудио. ASR bridge и GPU worker
принадлежат соседнему `py_faster_whisper`; модели и GPU-конфигурация — внешнему контуру.
Ruby/AsyncGraph runtime и WebRTC ingress удалены; запускать их profiles не нужно.

## Разработка и проверки

Работайте из корня checkout. [AGENTS.md](</experiments/voice-ai/archive/w/AGENTS.md>),
[инвентаризация](</experiments/voice-ai/archive/w/.knowledge/project-inventory.md>) и [workflows](</experiments/voice-ai/archive/w/.knowledge/workflows.md>)
задают границы проекта. Сохраняйте чужие изменения в dirty checkout.
Выбирайте тесты изменённых частей; штатный CI сам определяет затронутые группы.

Новый аудит упрощения: [03.11.2026](</experiments/voice-ai/archive/w/DOCS/SIMPLIFICATION_2026-11-03.md>).
[Прежняя очистка run_js](</experiments/voice-ai/archive/w/DOCS/RUN_JS_AUDIT_2026-10-28.md>) и датированные отчёты C1–C4
описывают соответствующие снимки, а не текущее состояние runtime.
