95 lines
5.6 KiB
TypeScript
95 lines
5.6 KiB
TypeScript
import { useAuth } from "../auth/AuthContext";
|
||
|
||
export default function AdminDocumentationTab() {
|
||
const { user } = useAuth();
|
||
|
||
return (
|
||
<div className="prose prose-sm max-w-none dark:prose-invert">
|
||
<h2>Документация администратора</h2>
|
||
|
||
<h3>Ролевая модель</h3>
|
||
<ul>
|
||
<li><strong>Owner</strong> — полный доступ, управление сервисами systemd, debug mode</li>
|
||
<li><strong>Admin</strong> — полный доступ к данным, управление пользователями и тарифами</li>
|
||
<li><strong>Moderator</strong> — ограниченные права, настраиваемые через чекбоксы</li>
|
||
<li><strong>User</strong> — стандартный пользователь</li>
|
||
</ul>
|
||
|
||
<h3>Вкладки админ-панели</h3>
|
||
<dl>
|
||
<dt>Пользователи</dt>
|
||
<dd>Поиск, редактирование ролей, блокировка, назначение прав модераторам</dd>
|
||
<dt>Агенты</dt>
|
||
<dd>Просмотр и управление агентами, включение/отключение</dd>
|
||
<dt>Журналы</dt>
|
||
<dd>Просмотр логов, debug mode, очистка, экспорт. Фильтрация по уровню и источнику</dd>
|
||
<dt>Обратная связь</dt>
|
||
<dd>Управление отзывами пользователей, изменение статуса</dd>
|
||
<dt>Тарифы</dt>
|
||
<dd>Создание и редактирование тарифных планов</dd>
|
||
<dt>Фичи</dt>
|
||
<dd>Трекер новых функций, 2FA глобальный переключатель</dd>
|
||
<dt>Пайплайн</dt>
|
||
<dd>Настройка VAD, wake word, семантической валидации, цепочек агентов и авто-тюнинга</dd>
|
||
<dt>Сервисы</dt>
|
||
<dd>Управление systemd-сервисами (только owner, только production)</dd>
|
||
<dt>Система</dt>
|
||
<dd>Информация о версии, БД, окружении</dd>
|
||
</dl>
|
||
|
||
<h3>Настройка VAD (шумоподавление)</h3>
|
||
<p>
|
||
Вкладка «Пайплайн» позволяет точно настроить параметры обнаружения голоса:
|
||
</p>
|
||
<ul>
|
||
<li><strong>noise_threshold</strong> (0–1) — порог шума. Чем ниже, тем тише звуки будут считаться речью. Для тихого окружения ставьте 0.1–0.2, для шумного — 0.5–0.7</li>
|
||
<li><strong>silence_timeout_ms</strong> — сколько миллисекунд тишины нужно, чтобы считать фразу законченной. Больше = дольше ждёт паузу</li>
|
||
<li><strong>min_audio_duration_ms</strong> — минимальная длина аудио в миллисекундах. Короткие звуки (щелчки, кашель) отбрасываются</li>
|
||
</ul>
|
||
<p>
|
||
Пользователи выбирают пресеты голоса в настройках. Администратор может задать
|
||
точные значения в пайплайне — они станут базой для всех пользователей.
|
||
</p>
|
||
|
||
<h3>2FA (двухфакторная аутентификация)</h3>
|
||
<p>
|
||
Глобальный переключатель 2FA находится во вкладке «Фичи». Если 2FA отключена —
|
||
пользователи входят без кода, даже если у каждого лично 2FA была включена.
|
||
</p>
|
||
|
||
<h3>Debug Mode</h3>
|
||
<p>
|
||
Во вкладке «Журналы» доступен режим расширенного логирования (1000%).
|
||
Включается owner-ом. При активации логируются:
|
||
</p>
|
||
<ul>
|
||
<li>Каждый HTTP-запрос (метод, path, статус, длительность)</li>
|
||
<li>Каждый LLM-вызов (промпт, ответ, модель)</li>
|
||
<li>Все вызовы агентов с полными данными</li>
|
||
<li>Все этапы пайплайна</li>
|
||
</ul>
|
||
<p>
|
||
Логи авто-очищаются по расписанию (настраивается). Owner также может очистить
|
||
вручную. При переполнении (80%) отправляется уведомление.
|
||
</p>
|
||
|
||
<h3>Экспорт логов</h3>
|
||
<p>
|
||
Вкладка «Журналы» → кнопка «Скачать». Все логи выгружаются одним JSON-файлом
|
||
для скачивания на локальную машину. Удобно для анализа ошибок вне VPS.
|
||
</p>
|
||
|
||
{user?.role === "owner" && (
|
||
<>
|
||
<h3>Управление сервисами</h3>
|
||
<p>
|
||
Вкладка «Сервисы» доступна только владельцу. Позволяет перезапускать
|
||
systemd-юниты: <code>voidea-api</code>, <code>voidea-worker</code>, <code>voidea-beat</code>.
|
||
Работает только в production-окружении.
|
||
</p>
|
||
</>
|
||
)}
|
||
</div>
|
||
);
|
||
}
|