Add voice name flow controls and analytics
This commit is contained in:
@@ -35,6 +35,7 @@
|
||||
<a class="nav-link" href="#queues"><span class="nav-bullet"></span>Очереди</a>
|
||||
<a class="nav-link" href="#routes"><span class="nav-bullet"></span>Маршрутизация</a>
|
||||
<a class="nav-link" href="#ivr"><span class="nav-bullet"></span>IVR</a>
|
||||
<a class="nav-link" href="#voiceNameCollection"><span class="nav-bullet"></span>Voice AI</a>
|
||||
<a class="nav-link" href="#asterisk"><span class="nav-bullet"></span>Asterisk</a>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -250,6 +251,81 @@
|
||||
<pre id="ivrRouteOutput" class="output">Предпросмотр IVR-маршрута появится здесь.</pre>
|
||||
</article>
|
||||
|
||||
<article class="panel reveal" id="voiceNameCollection">
|
||||
<h2>Voice AI: сбор имени</h2>
|
||||
<p class="hint">Глобальная админ-настройка сценария определения имени клиента для voice_start и downstream AI.</p>
|
||||
<pre id="voiceNameSummary" class="output">Сводка по текущим настройкам появится здесь.</pre>
|
||||
|
||||
<div class="inline-form split-two">
|
||||
<label class="checkbox-label"><input id="voiceNameEnabled" type="checkbox" checked /> Сценарий включён</label>
|
||||
<label class="checkbox-label"><input id="voiceNameAskOnStart" type="checkbox" checked /> Спрашивать имя на старте</label>
|
||||
</div>
|
||||
|
||||
<div class="inline-form split-two">
|
||||
<label>
|
||||
Известный клиент
|
||||
<select id="voiceNameKnownCustomerBehavior">
|
||||
<option value="trust_and_handoff">Сразу доверять имени и переводить дальше</option>
|
||||
<option value="confirm_in_downstream">Передавать имя на подтверждение в downstream</option>
|
||||
<option value="ask_on_start">Переспрашивать имя на старте</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>
|
||||
Неизвестный клиент
|
||||
<select id="voiceNameUnknownCustomerBehavior">
|
||||
<option value="ask_on_start">Спрашивать имя на старте</option>
|
||||
<option value="skip_to_downstream">Сразу переводить в downstream</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="inline-form split-two">
|
||||
<label>
|
||||
Если имя не получено
|
||||
<select id="voiceNameMissingNameBehavior">
|
||||
<option value="ask_inline_once">Спросить inline один раз</option>
|
||||
<option value="do_not_ask">Не спрашивать inline</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>
|
||||
Если имя неуверенное
|
||||
<select id="voiceNameUncertainNameBehavior">
|
||||
<option value="confirm_then_finalize">Подтвердить и только потом финализировать</option>
|
||||
<option value="finalize_immediately">Считать имя финальным сразу</option>
|
||||
<option value="discard_and_collect">Сбросить кандидат и собирать заново</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="inline-form split-two">
|
||||
<label class="checkbox-label"><input id="voiceNameFinalizeOnExplicitName" type="checkbox" checked /> Финализировать имя при явном ответе</label>
|
||||
<label class="checkbox-label"><input id="voiceNameFinalizeOnConfirmation" type="checkbox" checked /> Финализировать имя после подтверждения</label>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="voiceNameRuStartPrompt">Тексты RU</label>
|
||||
<textarea id="voiceNameRuStartPrompt" rows="2" class="json-textarea" placeholder="Стартовый prompt"></textarea>
|
||||
<textarea id="voiceNameRuPersonalizedGreeting" rows="3" class="json-textarea" placeholder="Персонализированное приветствие с {name}"></textarea>
|
||||
<textarea id="voiceNameRuConfirmationGreeting" rows="3" class="json-textarea" placeholder="Подтверждение имени с {name}"></textarea>
|
||||
<textarea id="voiceNameRuInlineFollowup" rows="2" class="json-textarea" placeholder="Inline follow-up"></textarea>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label for="voiceNameKzStartPrompt">Тексты KZ</label>
|
||||
<textarea id="voiceNameKzStartPrompt" rows="2" class="json-textarea" placeholder="Стартовый prompt"></textarea>
|
||||
<textarea id="voiceNameKzPersonalizedGreeting" rows="3" class="json-textarea" placeholder="Персонализированное приветствие с {name}"></textarea>
|
||||
<textarea id="voiceNameKzConfirmationGreeting" rows="3" class="json-textarea" placeholder="Подтверждение имени с {name}"></textarea>
|
||||
<textarea id="voiceNameKzInlineFollowup" rows="2" class="json-textarea" placeholder="Inline follow-up"></textarea>
|
||||
</div>
|
||||
|
||||
<div class="actions compact-actions">
|
||||
<button id="loadVoiceNameConfigBtn" class="btn ghost">Загрузить настройки</button>
|
||||
<button id="saveVoiceNameConfigBtn" class="btn">Сохранить настройки</button>
|
||||
<button id="resetVoiceNameConfigBtn" class="btn ghost">Сбросить форму к текущим</button>
|
||||
</div>
|
||||
<pre id="voiceNameConfigOutput" class="output">Raw payload voice name collection появится здесь.</pre>
|
||||
</article>
|
||||
|
||||
<article class="panel reveal" id="asterisk">
|
||||
<h2>Мост Asterisk</h2>
|
||||
<p class="hint">Диагностика AMI-подключения, пересланных bridge-событий и ручного повтора.</p>
|
||||
|
||||
Reference in New Issue
Block a user