Репозитории
Чтение репозиториев GitHub из панели
Спросите про библиотеку — и вместо пересказа по памяти программа откроет настоящий репозиторий и прочитает из него нужный файл.
Что умеет
Найти, осмотреть, прочитать файл
Три шага: поиск репозиториев по словам, обзор одного выбранного и чтение конкретного файла по пути. Модель отвечает уже по тексту файла, а не по тому, что помнит о библиотеке, — и в ответе видно, откуда взята строка.
Почему через службу
Окно браузера не ходит на чужой сайт само
Правило источника в браузере запрещает странице обращаться к чужому домену, поэтому запрос идёт через службу Vkladka. Отсюда и вход в аккаунт: без него поиск и репозитории не работают, и программа говорит об этом прямо. У GitHub без ключа 60 запросов в час — на разбор задачи хватает, на массовую выкачку нет.
Граница
Только открытые репозитории
Закрытый репозиторий не откроется, и это техническое ограничение: закрытость проверяется до того, как что-то вернётся в разговор. Раньше на этом месте стояло рассуждение «у службы нет чужих прав» — без проверки; теперь есть проверка. Ваши ключи от GitHub программа не спрашивает и не хранит.
Как это делается
Числа, которые держат ответ в рамках
Поиск возвращает не больше восьми находок, список файлов репозитория — не больше трёхсот путей, а из содержимого одного файла модели достаётся первые сто двадцать килобайт. Любой ответ GitHub, что бы он ни прислал, срезается по четырём мегабайтам ещё до разбора — это потолок для ответа целиком, а не только для содержимого файла. Название репозитория программа принимает только в виде «владелец/имя» — в любом другом виде откажет раньше, чем дойдёт до GitHub.
Где граница
Внутренний репозиторий закрыт так же, как приватный
У GitHub кроме «публичный» и «приватный» есть ещё «internal» — доступный только внутри организации. Программа считает закрытым и то, и другое: проверяет оба поля описания репозитория и отказывает раньше, чем что-то вернётся в разговор. Ключ доступа, если владелец сервиса его задал, поднимает предел запросов с 60 до 5000 в час, но наружу, кроме самого GitHub, он никуда не уходит.
Разберитесь в чужой библиотеке за один разговор
Поиск и репозитории работают после входа в Vkladka.