uni-skill

Universal interface for voice assistant skills

Usage no npm install needed!

<script type="module">
  import uniSkill from 'https://cdn.skypack.dev/uni-skill';
</script>

README

uni-skill

Универсальный адаптер на TypeScript для разработки навыков голосовых ассистентов. Позволяет писать единый код для всех платформ.

Поддерживаются:

  • Алиса
  • Сбер
  • Маруся

Использование

Пример навыка-попугая, который возвращает пользователю его фразу и рисует кнопку.

import { createRequest, createResponse } from 'uni-skill';

function handler(reqBody: unknown) {
  const request = createRequest(reqBody);
  const response = createResponse(request);
  response.addVoiceText(`Вы сказали: ${request.userMessage}`);
  response.addSuggest([ 'Кнопка' ]);
  if (response.isSber()) {
    response.body.payload.emotion = { emotionId: 'oups' };
  }
  return response.body;
}

Установка

npm i uni-skill

Свойства и методы

Специфика платформ

Для добавления платформо-зависимых элементов, нужно занести код под соответствующий if. Под if-ом работают typeguard-ы для нужной платформы, что удобно.

if (response.isSber()) {
  response.body.payload.emotion = { emotionId: 'oups' };
}

Лицензия

MIT @ Vitaliy Potapov