3.7 KiB
3.7 KiB
DEBUG: тестирование сетевого соединения между двумя клиентами
Документ описывает временный debug-контур для проверки WebRTC соединения между двумя активными WS-сессиями.
1) Подготовка
- Создай файл
.debug-tokenв корне проекта на основеdebug-token.example. - В
.debug-tokenдолжна быть одна строка: секретный токен. - Перезапусти сервер.
2) API debug
Базовый заголовок для всех запросов:
-H "Authorization: Bearer <YOUR_DEBUG_TOKEN>"
2.1 Получить список живых клиентов
curl -s \
-H "Authorization: Bearer <YOUR_DEBUG_TOKEN>" \
http://localhost:7070/debug/ws/clients | jq
Ответ содержит sessionId, login, ip, userAgent, и клиентскую информацию.
2.2 Запустить debug-соединение между двумя сессиями
curl -s -X POST \
-H "Authorization: Bearer <YOUR_DEBUG_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"initiatorSessionId": "SESSION_ID_A",
"responderSessionId": "SESSION_ID_B",
"clearDebugLog": false
}' \
http://localhost:7070/debug/ws/connect | jq
В ответе придёт runId. Его используй для фильтра логов.
2.3 Читать последние N debug-логов
curl -s \
-H "Authorization: Bearer <YOUR_DEBUG_TOKEN>" \
"http://localhost:7070/debug/ws/logs?limit=200&runId=<RUN_ID>" | jq
3) Операционный сценарий “Codex + пользователь”
- Codex поднимает сервер и сообщает пользователю ссылку на UI.
- Codex пишет пользователю: «Запусти двух клиентов и скажи “продолжай”».
- Пользователь запускает два клиента (лучше под разными логинами).
- Пользователь пишет: «продолжай».
- Codex:
- вызывает
/debug/ws/clients, - выбирает 2 сессии,
- вызывает
/debug/ws/connect, - получает
runId, - читает
/debug/ws/logs?runId=...и сообщает прогресс.
- вызывает
- Если соединение не удалось:
- Codex сообщает ошибки по логам,
- при необходимости просит перезапустить 2 клиента,
- повторяет запуск debug-run.
4) Какие сообщения считать успехом
peer_connection_connecteddebug_connection_successsignal_sent_200/210/220без ошибок
5) Что говорить пользователю в ходе прогона (через «колонку»/чат)
Рекомендуемые фразы:
- «Сервер запущен. Запусти двух клиентов и напиши “продолжай”.»
- «Вижу 2 активные сессии, запускаю тест соединения.»
- «Тест запущен, runId=... Сейчас проверяю логи.»
- «Соединение установлено / не установлено. Ниже причины и следующий шаг.»
6) Ограничения
- Механизм временный, не для production-эксплуатации.
- Доступ к debug API имеет любой, кто знает токен.
- Рекомендуется тестить между разными логинами.