jeyroik/extas-alice
Composer 安装命令:
composer require jeyroik/extas-alice
包简介
Yandex.Alice Extas package
README 文档
README
Библиотека для создания навыков для голосового помощника Алисы от компании Яндекс.
Данная библиотека поддерживает сценарии (см. руководство ниже).
Установка
composer require jeyroik/extas-alice:1.*
Использование
Пример использования библиотеки смотрите в репозитории alice-extas-example
Реализация навыка
- Регистрируем навык в Яндекс.Диалогах (https://dialogs.yandex.ru/developer/).
- Получаем идентификатор навыка (skill_id).
- Добавялем запись о навыке в extas.json в секцию skills:
"skills": [ { "id": "идентификатор навыка, полученный в Яндекс.Диалогах", "name": "алиас навыка, по нему будет организовываться связка со сценариями", "description": "описание навыка, нигде не используется, заполняется только для понимания" } ]
- Добавляем в extas.json шаги, которые потребуются для навыка:
"steps": [ { "name": "Имя шага, по нему будут запускаться плагины (см. ниже)", "title": "Название шага, используется только для понимания", "description": "Описание шага, используется для понимания" } ]
- Добавляем в extas.json сценарии навыка:
"scenarios": [ { "name": "Имя сценария, используется для запуска плагинов", "title": "Название сценария, используется для понимания", "description": "Описание сценария, используется для понимания", "skill_name": "алиас навыка - см. skills:name", "schema": { "message_1": [{ "condition": "имя класса для проверки условия, оставить пустым для обязателнього запуска данной реакции", "step": "имя шага, см. steps:name" }], "message_x": [{ "condition": "", "step": "demo.help" }, { "condition": "extas\\components\\yandex\\skills\\conditions\\ConditionTest", "step": "demo.test" }] } } ]
- В схеме доступны два варианта идентификаторов сообщения:
- N, где N - целое число, идентификатор сообщения (см. детали https://yandex.ru/dev/dialogs/alice/doc/protocol-docpage/ описание по message_id)
- Пример: message_1, message_2
- x - для реакции на все сообщения пользователя;
- Пример: message_x
- При необходимости можно также заранее прописать карточки и кнопки (см. extas.json для примера).
- Устанавливаем навык:
alice-extas# vendor/bin/extas i - Запускаем навык:
alice-extas# php -S 0.0.0.0:8080 -t resources- См.
resources/index.phpдля примера запуска.
- См.
Использование сценария
- Сценарий состоит из реакций.
- Реакция состоит из проверки условий и имени шага.
- Шаг состоит из имени и описания.
Шаги можно установить предварительно.
Установка шагов
{
"steps": [
{
"name": "demo.help",
"title": "Помощь",
"description": "Пользователь запросил помощь"
},
{
"name": "demo.start",
"title": "Начало использования",
"description": "На этом шаге приветствуем пользователя"
}
]
}
Как видно, шаги не зависят от сценария и могут переиспользоваться. По каждому шагу запускается следующие стадии (события):
- step.<name шага>
- <name сценария>.step.<name шага>
- <name навыка>.<name сценария>.step.<name шага>
Таким образом возможно реализовать как общую логику (и ограничения), так и персонально для каждого сценария и навыка.
Установка сценария
"scenarios": [ { "name": "demo", "title": "Демонстрационный сценарий", "description": "Это демонстрационный сценарий", "skill_name": "test", "schema": { "message_1": [{ "condition": "", "step": "demo.start" }], "message_x": [{ "condition": "", "step": "demo.help" }] } } ]
Схема сценария может содержать следующие секции:
message_N, гдеN- любое целое число, представляющее идентификатор сообщения (см. документацию по навыкам). Данная секция содержит реакции на конкретное по порядку сообщение.message_x- данная секция содержит реакции для вариативных по порядку сообщений.
Каждая реакция состоит из
condition- проверка условия. Если данная реакция должна применяться всегда, поле оставляется пустым, в противном случае здесь указывается имя класса. Класс реакции должен реализовывать метод__invoke(IAliceCall $call)и возвращатьbool(trueилиfalse). Еслиtrue, то будет запущен соответствующий реакции шаг.step- имя шага, который нужно запустить, если условия подходят.
jeyroik/extas-alice 适用场景与选型建议
jeyroik/extas-alice 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 81 次下载、GitHub Stars 达 6, 最近一次更新时间为 2020 年 03 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 jeyroik/extas-alice 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jeyroik/extas-alice 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 81
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 6
- 点击次数: 6
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2020-03-17