36 lines
3.5 KiB
Markdown
36 lines
3.5 KiB
Markdown
# Разговор с Астрой через Марусю
|
||
|
||
Код: `ruzzy/astra-bot`, `marusia/server.py`, тесты `test_marusia.py`.
|
||
Сервис на rpi слушает только `127.0.0.1:8788`; наружу пока не опубликован.
|
||
Webhook: `POST /webhook/<секрет из /etc/astra-marusia.env>`.
|
||
Проверка: `GET /health`.
|
||
|
||
Отдельный разговор на идентификатор пользователя Маруси, до 16 реплик в памяти;
|
||
при перезапуске история очищается, через сутки простоя удаляется. Беседа семейная,
|
||
ответы подходят ребёнку 10 лет. Тексты не пишутся в access log. Голос распознаёт
|
||
Маруся, Астра отвечает текстом, Маруся озвучивает `response.tts`.
|
||
|
||
Codex использует существующую авторизацию ChatGPT: файл auth.json привязан
|
||
только для чтения в отдельный CODEX_HOME. Пользовательская конфигурация, правила,
|
||
документы проекта и инструменты shell/apps/browser отключены. systemd скрывает
|
||
домашние каталоги, запрещает повышение привилегий и запись за пределами своего
|
||
StateDirectory. Не подключать этот сервис к административному треду Telegram.
|
||
После обновления Codex повторно проверять список отключаемых feature flags.
|
||
|
||
Быстрый ответ ожидается до 2 секунд. Если ответ ещё готовится, колонка просит
|
||
сказать «готово?»; новая реплика во время ожидания не запускает вторую задачу.
|
||
Повтор webhook с теми же session_id/message_id получает кешированный ответ.
|
||
Не более двух обращений к модели одновременно, не более 50 разговоров.
|
||
|
||
Для завершения нужны: приватный навык в аккаунте VK владельца, его skill_id
|
||
в env, публичный HTTPS URL с проксированием на rpi (например nginx на fr1
|
||
и отдельный ограниченный SSH-туннель). Доступа SSH к fr1 у astra на rpi сейчас нет;
|
||
ключ Gitea — не ключ сервера. Не открывать домашний порт в интернет напрямую.
|
||
На публичном прокси отключить access log webhook (секрет в URL), ограничить
|
||
размер тела 64 KiB, POST и частоту запросов; таймаут 5 секунд.
|
||
Регистрация/проверка: https://platform.vk.com/ и
|
||
https://skill-tester.marusia.mail.ru/ (актуальность интерфейса проверить при входе).
|
||
До заполнения skill_id все POST закрыты (403), знание случайного пути обязательно.
|
||
skill_id не является криптографическим доказательством отправителя; секрет URL
|
||
и приватный доступ навыка обеспечивают первичное ограничение доступа.
|