{"id":19489378,"url":"https://github.com/salute-developers/smart_app_framework","last_synced_at":"2026-02-27T23:11:04.601Z","repository":{"id":36959741,"uuid":"483639673","full_name":"salute-developers/smart_app_framework","owner":"salute-developers","description":"Python-фреймворк, который позволяет создавать смартапы для виртуальных ассистентов Салют.","archived":false,"fork":false,"pushed_at":"2024-10-29T14:00:39.000Z","size":5169,"stargazers_count":16,"open_issues_count":9,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-29T17:11:39.177Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/salute-developers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-20T12:11:17.000Z","updated_at":"2024-10-29T13:59:54.000Z","dependencies_parsed_at":"2023-10-16T23:18:09.801Z","dependency_job_id":"31f2d905-4691-4f29-a6ea-053d44e0b08c","html_url":"https://github.com/salute-developers/smart_app_framework","commit_stats":null,"previous_names":[],"tags_count":192,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salute-developers%2Fsmart_app_framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salute-developers%2Fsmart_app_framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salute-developers%2Fsmart_app_framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/salute-developers%2Fsmart_app_framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/salute-developers","download_url":"https://codeload.github.com/salute-developers/smart_app_framework/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224014306,"owners_count":17241281,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T21:08:21.048Z","updated_at":"2026-02-27T23:10:59.580Z","avatar_url":"https://github.com/salute-developers.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmartApp Framework\n\n**SmartApp Framework** - это Python-фреймворк, который позволяет создавать смартапы для виртуальных ассистентов Салют. \n\n\n## Оглавление\n   * [Конфигурация](#Конфигурация)\n     * [Фреймворк и смартапы](#Фреймворк)\n     * [Инструменты фреймворка](#Инструменты)\n     * [Рекомендованные требования](#Рекомендованные)\n   * [Настройка фреймворка](#Настройка)\n     * [Обновление фреймворка](#Обновление)\n     * [Установка фреймворка](#Установка)\n     * [Создание проекта](#Создание)\n     * [Тестирование онлайн](#Тестирование) \n     * [Тестирование офлайн](#Тестирование)    \n   * [Документация](#Документация)\n   * [Обратная связь](#Обратная)\n\n____\n\n# Конфигурация\n\n## Фреймворк и смартапы\n\nСмартап - это приложение для виртуального ассистента Салют. С помощью смартапов пользователи могут вызвать такси, узнать погоду, управлять устройствами умного дома, записаться в салон красоты и совершить прочие действия, которые можно доверить ассистенту. \n\nВиртуальный ассистент понимает текущие намерения пользователя и для каждой его реплики подбирает соответствующий запрос на выполнение ([интент](#TODO: вставить ссылку)). Поведение смартапа для различных интентов описывается с помощью сценариев. Интенты и сценарии связываются через смартапы, написанные на SmartApp Framework. \n\n\n## Инструменты фреймворка\n\nФреймворк содержит следующие инструменты:\n\n* инструменты для создания сценариев;\n* решения для автоматического тестирования;\n* демо-приложение для просмотра примеров реализации; \n* готовые механизмы для слот-филлинга и извлечения сущностей из текста. \n\n\n## Рекомендованные требования\n\n* Linux, Mac OS или Windows (необходима установка [Conda](https://docs.conda.io/en/latest/)).\n* 512 МБ свободной памяти.\n* Python 3.9 - 3.11.\n\n____\n\n\n\n# Настройка фреймворка\n\n## Обновление фреймворка\n\nДля перехода на новую версию фреймворка выполните в терминале следующие команды:\n\n```bash\npython3 -m pip uninstall -y smart-app-framework\npython3 -m pip install git+https://github.com/salute-developers/smart_app_framework@main\n```\n\nПри переходе на версию фреймворка \u003e=1.0.7.rc4 со старым смартапом необходимо в директории смартапа из файла ```static/.text_normalizer_resources/static_workdata.json``` удалить строки 'Ё на Е'.\n\nПри переходе на версию фреймворка \u003e=1.0.8rc15 со старым смартапом необходимо проверить соблюдение асинхронных\nинтерфейсов методами классов-наследников классов Action, Requirement, FieldFillerDescription, Scenario, HandlerBase, \nSmartAppModel, BaseMainLoop.\n\n## Установка фреймворка\n\nДля установки фреймворка выполните в терминале следующую команду:\n\n```bash\npython3 -m pip install git+https://github.com/salute-developers/smart_app_framework@main\n```\n\n## Создание проекта\n\nДля создания проекта выполните в терминале следующую команду:\n```bash\npython3 -m smart_kit create_app \u003cYOUR_APP_NAME\u003e\n```\nПосле этого в текущей директории появится каталог с проектом. Он уже содержит в себе всё необходимое для запуска минимального приложения, включая базовый сценарий hello_scenario. Описание сценариев и форм можно найти в \u003cYOUR_APP_NAME\u003e/static/references/.\n\n\n## Тестирование онлайн\n\nДля тестирования онлайн вам понадобится мобильное приложение Салют или собственное устройство, на котором будет запускаться смартап. Для такого тестирования:\n\n1. Запустите в терминале dev сервер:\n\n```bash\npython3 manage.py run_app\n```\n\n2. Передайте в интернет порт. Для этого потребуется внешний IP-адрес. Если у вас его нет, воспользуйтесь специальными сервисами (например, Ngrok).\n3. Зарегистрируйтесь в кабинете разработчика - [SmartApp Studio](#TODO: вставить ссылку).\n4. Создайте в [SmartApp Studio](#TODO: вставить ссылку) свой смартап. \n5. Перейдите в настройки смартапа и укажите в поле \"Настройки вебхука\" адрес вашего сервера. Сохраните изменения.\n6. Запустите свой смартап с помощью фразы \"Запусти \u003cимя приложения\u003e\". \n\nВ терминале должны появиться записи о входящем сообщении, а ассистент ответит приветствием согласно сценарию hello_scenario.\n\n\n## Тестирование офлайн\n\nНиже представлен пример команды для терминала при тестировании офлайн и пример ответа, который выводится на экране: \n```console\nlocalhost:~$ python \u003cYOUR_APP_NAME\u003e/manage.py local_testing\nТекущий сценарий: hello_scenario\nПривет! Введите help или ? для вызова списка команд.\n\u003e set intent run_app // смена интента на другой. По умолчанию имя сценария совпадает с именем интента\nintent = run_app\n\u003e Привет\npronounceText: Как тебя зовут?\n```\n\n\n## Тестирование сценариев\n\nДля тестирования обработки вашим навыком приходящих сообщений воспользуйтесь \n```console\npython3 manage.py tests --run static/references/tests\n```\n\n\n____\n\n\n\n# Документация\n\nВы можете ознакомиться с подробной документацией по работе со SmartApp Framework в [справочнике разработчика](#TODO: вставить ссылку).\n\n# Разработка\n\n## Запуск тестов\n\nДля тестов используется `unittests`.\nТесты находятся в директории `tests`\n\n```shell\npython -m unittest discover -s tests -v\n```\n\n# Обратная связь\n\nC вопросами и предложениями пишите нам по адресу [#TODO: вставить почту] или вступайте в \nнаш Telegram канал - [SmartMarket Community](https://t.me/smartmarket_community). \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalute-developers%2Fsmart_app_framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsalute-developers%2Fsmart_app_framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsalute-developers%2Fsmart_app_framework/lists"}