Атомарная цель. Проверить один vision-запрос и один локальный voice cycle с контролем приватности и feedback loop.
Что мы делаем и зачем
Text-only тест не доказывает перенос изображения, а voice baseline не доказывает работу через gateway. Здесь связываются все компоненты: screenshot -> VLM через gateway -> ответ -> локальный TTS, при этом аудио остаётся локальным.
Что должно быть готово
- Эксперимент 10 PASS.
- Подготовлен безопасный screenshot без имён, чатов, token и cookies.
- Динамики на умеренной громкости.
Где выполнять
Те же три окна процессов и браузер localhost. Логи собираются обезличенно.
Scope
| Разрешено | Только действия, прямо указанные в prompt и командах этого эксперимента. |
|---|---|
| Запрещено | Секреты, изменение main/upstream, расширение scope и скрытое исправление новых ошибок. |
| Результат | Артефакты и критерии на третьей странице эксперимента. |
Откройте Codex из папки, указанной на предыдущей странице. Для независимого аудита обязательно создайте новую сессию. Скопируйте следующий prompt целиком, не вырезая ограничения.
PROMPT ДЛЯ CODEX - КОПИРОВАТЬ ЦЕЛИКОМ
Проведи два ограниченных smoke test без изменения файлов.
Тест A: отправь приложенный обезличенный screenshot в Open-LLM-VTuber и задай короткий вопрос о видимом объекте. Докажи по request_id, что payload прошёл через gateway к локальному qwen3-vl:4b.
Тест B: один раз включи microphone capture и попроси меня произнести «Шлюз локального голоса 7319». В логах сохрани только метку [REDACTED SPEECH] и уникальное число 7319. После одного TTS-ответа попроси меня выключить микрофон и 15 секунд наблюдай отсутствие новых циклов.
Не отправляй аудио в cloud API. Не сохраняй исходный audio. Не выводи полные prompt/response. Ничего не изменяй. В конце дай PASS/FAIL отдельно для vision, ASR, gateway, TTS и loop control.Команды PowerShell
Команды ниже нужны либо для ручного выполнения, либо для сверки предложения Codex. Строки после комментария «после подтверждения» не запускаются заранее.
КОМАНДЫ - КОПИРОВАТЬ ПО ПОРЯДКУ
# Процессы уже запущены. Read-only проверки:
Invoke-RestMethod http://127.0.0.1:8642/health
Get-NetTCPConnection -LocalPort 11434,8642,12393 -State Listen
git status --shortКак действовать при запросе разрешения
Прочитайте команду и рабочую папку; сразу сверьте их со scope этого эксперимента.
Для одной безопасной команды выберите разовое Yes, proceed.
Если команда читает секреты, пишет за пределами scope или меняет main - нажмите Esc и объясните ограничение.
Что должно получиться
- Vision-ответ относится к содержимому screenshot.
- Request id связывает VTuber и gateway.
- ASR transcript сохраняет число 7319.
- TTS слышен локально; после выключения микрофона нет нового request_id.
Типовые ошибки и действия
- Screenshot содержит PII: заменить безопасным тестовым изображением.
- Vision payload отсутствует: проверить frontend message type read-only.
- Повторные циклы: немедленно выключить capture и классифицировать VAD/echo control.
- Audio ушёл в cloud: FAIL и остановка эксперимента.
Артефакты и доказательства
Критерий завершения
ГОТОВАЯ ЗАПИСЬ В ОТЧЁТ
Эксперимент 11: Экран и голос через gateway | Статус: PASS / FAIL / NOT PROVEN
Доказательство: <минимальный обезличенный вывод> | Не доказано: <ограничение>
Source tree: unchanged / <известный diff> | Следующий шаг: Проверить, нужен ли вообще adapter между VTuber и gateway.