{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Блоги: заметки с тегом яндекс.алиса",
    "_rss_description": "Автоматически собираемая лента заметок, написанных в блогах на Эгее",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": false,
    "_itunes_explicit": "no",
    "home_page_url": "https:\/\/blogengine.me\/blogs\/tags\/yandeks-alisa\/",
    "feed_url": "https:\/\/blogengine.me\/blogs\/tags\/yandeks-alisa\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Илья Бирман",
            "url": "https:\/\/blogengine.me\/blogs\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "127143",
            "url": "https:\/\/bolknote.ru\/all\/alisa-molchit\/",
            "title": "«Алиса» молчит",
            "content_html": "<p>Как я уже писал у меня возникла задача, в рамках которой хочется научиться управлять «Алисой» из локальной сети. В <a href=\"https:\/\/bolknote.ru\/all\/upravlenie-alisoy\/\">прошлый раз<\/a> я остановился на том, что научился искать «Алисы» по имени сервиса, а вчера вечером решил попробовать подключиться и подать на одну из домашних «Алис» какую-нибудь команду.<\/p>\n<p>Поковырял первую попавшуюся библиотеку, выглядит несложно — получаем любым способом <i>OAuth<\/i>-токен «Яндекса» (я взял от «Яндекс.Музыки»), с его помощью запрашиваем структуру для работы с колонками, формируем команду и шлём её на порт 1961 по протоколу <i>WebSocket<\/i>.<\/p>\n<p>Бился-бился, получаю ошибку. К сожалению, я поленился качать себе библиотеку и формировать запрос через неё. Мне казалось, что тут приключение на пятнадцать минут, но ошибся. Надо было начинать с библиотеки. Учитывая, что сейчас даже самые простые библиотеки пишут, подражая Льву Толстому, иногда очень сложно сходу разобраться что там формируется в конце. Возможно упустил какое-то поле.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/bolknote.ru\/pictures\/2024.04.04@2x.jpg\" width=\"1000\" height=\"95\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Никак не удаётся заставить «Алису» принять команду<\/div>\n<\/div>\n",
            "date_published": "2024-04-04T09:52:42+05:00",
            "date_modified": "2024-04-04T09:52:12+05:00",
            "tags": [
                "яндекс.алиса"
            ],
            "author": {
                "name": "Евгений Степанищев",
                "url": "https:\/\/bolknote.ru\/",
                "avatar": "https:\/\/bolknote.ru\/pictures\/userpic\/userpic@2x.jpg?1760600028"
            },
            "_date_published_rfc2822": "Thu, 04 Apr 2024 09:52:42 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "127143",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        },
        {
            "id": "126353",
            "url": "https:\/\/bolknote.ru\/all\/upravlenie-alisoy\/",
            "title": "Управление «Алисой»",
            "content_html": "<p>Хочу попробовать решить одну прикладную задачу, пока не буду описывать какую. Для этого надо научиться управлять яндексовской «Алисой» из локальной сети. В идеале — проговаривать произвольную фразу. Почитал интернет, посмотрел как это делается.<\/p>\n<p>Официальный документации нет, но хорошие люди провели обратную разработку и задача выглядит как будто бы не очень сложно. Получаем токен, в сети через <i>mDNS<\/i> по имени <tt>_yandexio._tcp.local.<\/tt> ищем нужную колонку, находим, команды отдаём по протоколу <i>WebSocket<\/i>.<\/p>\n<p>Так как я сейчас <a href=\"https:\/\/bolknote.ru\/all\/kniga-protiv-kompyutera\/\">стараюсь<\/a> больше времени проводить за книгой, чем за компьютером, всё, что успел — освоить модуль <tt>zeroconf<\/tt> для Гоу, чтобы по имени колонки получать её айпи-адрес и порт.<\/p>\n<p>Получившийся код выглядит так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"go\">import &quot;github.com\/grandcat\/zeroconf&quot;\n\/\/ …тут остальные импорты…\n\nconst Service = &quot;_yandexio._tcp&quot;\nconst Domain = &quot;local.&quot;\n\nfunc getAlisaAddr(instance string) (*zeroconf.ServiceEntry, error) {\n    resolver, err := zeroconf.NewResolver(nil)\n    if err != nil {\n        log.Fatalln(&quot;Failed to initialize resolver:&quot;, err)\n    }\n\n    entries := make(chan *zeroconf.ServiceEntry)\n    ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)\n\n    err = resolver.Lookup(ctx, instance, Service, Domain, entries)\n    if err != nil {\n        return nil, err\n    }\n\n    entry := &lt;-entries\n    cancel()\n\n    &lt;-ctx.Done()\n\n    if entry == nil {\n        return nil, fmt.Errorf(\n              &quot;Failed to lookup for service instance &#039;%s&#039;&quot;,\n              instance\n       )\n    }\n\n    return entry, nil\n}<\/code><\/pre><p>Теперь надо разобраться где взять токен и как выглядят команды.<\/p>\n",
            "date_published": "2024-03-21T23:19:58+05:00",
            "date_modified": "2024-03-21T23:19:55+05:00",
            "tags": [
                "программирование",
                "язык гоу",
                "яндекс.алиса"
            ],
            "author": {
                "name": "Евгений Степанищев",
                "url": "https:\/\/bolknote.ru\/",
                "avatar": "https:\/\/bolknote.ru\/pictures\/userpic\/userpic@2x.jpg?1760600028"
            },
            "_date_published_rfc2822": "Thu, 21 Mar 2024 23:19:58 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "126353",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        },
        {
            "id": "119992",
            "url": "https:\/\/bolknote.ru\/all\/polezny-scenariy\/",
            "title": "Полезный сценарий",
            "content_html": "<p>Как я уже как-то писал, у меня не очень-то получается придумывать полезные сценарии для «умного дома», не знаю почему так, видимо этот навык надо отдельно прокачивать, а я не очень-то этим занимаюсь. Мне просто иногда месяцами не приходит в голову, что какую-то нужду можно удовлетворить, создав сценарий.<\/p>\n<p>Думаю, я не один такой, поэтому время от времени делюсь сценариями, которые оказались полезными для меня.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/bolknote.ru\/pictures\/2023.06.03@2x.jpg\" width=\"750\" height=\"1046\" alt=\"\" \/>\n<\/div>\n<p>У нас квартира так устроена, что легко не услышать как открывается дверь и, чтобы не вздрагивать от неожиданности, когда заходишь в коридор, а там кто-то копошится в полумраке, сделал сценарий «кто-то пришёл».<\/p>\n",
            "date_published": "2023-06-03T18:35:36+05:00",
            "date_modified": "2023-06-03T18:35:03+05:00",
            "tags": [
                "неглупый дом",
                "яндекс.алиса"
            ],
            "author": {
                "name": "Евгений Степанищев",
                "url": "https:\/\/bolknote.ru\/",
                "avatar": "https:\/\/bolknote.ru\/pictures\/userpic\/userpic@2x.jpg?1760600028"
            },
            "_date_published_rfc2822": "Sat, 03 Jun 2023 18:35:36 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "119992",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        },
        {
            "id": "119635",
            "url": "https:\/\/bolknote.ru\/all\/alisa-vs-chatgpt\/",
            "title": "«Алиса» vs. ChatGPT",
            "content_html": "<p>После сетей уровня <i>GPT-3,5<\/i>, общаться с «Алисой» прям тяжело. Она и раньше-то была хабалистой, хотелось её заткнуть поскорее, а сейчас появилось новое ощущение, — что у неё синдром Вильямса. Болтает без умолку, с хорошим словарным запасом, но не понимает ничего сложнее простых фраз, просто иногда угадывает что ты ей пытаешься сказать.<\/p>\n<p>Раньше было неприятно, а сейчас тяжело — будто без подготовки общаешься с умственным инвалидом, не зная как сделать так, чтобы это вынужденное общение перевести в какое-то конструктивное русло.<\/p>\n<p>Лучше бы она совсем не притворялась, что у неё есть интеллект, слушала бы, да выполняла команды.<\/p>\n",
            "date_published": "2023-05-26T10:53:59+05:00",
            "date_modified": "2023-05-26T10:53:48+05:00",
            "tags": [
                "ИИ",
                "яндекс.алиса"
            ],
            "author": {
                "name": "Евгений Степанищев",
                "url": "https:\/\/bolknote.ru\/",
                "avatar": "https:\/\/bolknote.ru\/pictures\/userpic\/userpic@2x.jpg?1760600028"
            },
            "_date_published_rfc2822": "Fri, 26 May 2023 10:53:59 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "119635",
            "_rss_enclosures": [],
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        }
    ],
    "_e2_version": 4079,
    "_e2_ua_string": "Aegea 11.0 (v4079e)"
}