Комментарии 6
Классная работа, очень аккуратно разведён reverse-engineering и уважение к сервису — особенно понравилось, как вы упёрлись в SSE и отдельный модуль парсера, чтобы сохранить тестируемость без сети.Интересно, не думали ли вы поверх aurelle-py сделать маленький «meta-слой» для устойчивого multi-turn-режима — например, хранить и реконструировать контекст на стороне клиента, чтобы компенсировать отсутствие истории и странности с llmChatId/parentMessageId?
Спасибо! Идея рабочая, но, как выяснилось, в этом направлении уже есть официальное решение.
Уже после публикации мы обнаружили полную OpenAPI-спецификацию alphaxiv, которая до сих пор не гуглится надо сказать. Там задокументирован эндпоинт GET /assistant/v2/{llmChatId}/messages, который возвращает историю сообщений с parentMessageId для каждого. То есть нормальный tree-style threading в API есть — мы просто наткнулись на 404 во время исследования (скорее всего, race condition: пробовали читать историю раньше, чем сообщение успевало сохраниться) и ошибочно списали это на архитектурное ограничение.
Реальный multi-turn, судя по всему, выглядит так: после каждого ответа делаем GET /messages, берём id последнего сообщения и передаём его как parentMessageId в следующий POST /chat. Никакой реконструкции контекста на стороне клиента не нужно. Планируем реализовать это в следующей версии aurelle-py.
Добрый день!
Спасибо за хорошую работу!
Но возник вопрос: возможно ли ещё получить постоянный Bearer Token? Не нашел про него информации на сайте
Добрый день!
Вы абсолютно правы: как заметили в Issue на GitHub, AlphaXiv через несколько дней после данного обзора закрыл возможность получения токенов (хотя он им больше года до этого и не мешал).
Тем не менее, некоторые возможности API доступны сейчас без токена.
Грустно( Подскажите, пожалуйста: какие возможности остались доступны без токена?
aurelle-py без токена не работает совсем — библиотека решает ровно одну задачу (интерактивный чат-ассистент), а этот эндпоинт требует аутентификации.
Если вы столкнулись с тем, что токен больше нельзя создать самостоятельно: по имеющимся данным, alphaxiv перешёл на ручную выдачу ключей. Попробуйте написать на contact@alphaxiv.org — это официальный адрес команды. Вероятно, доступ можно получить по запросу, хотя процедура нигде формально не описана. Мы рассчитываем, что самостоятельная выдача ключей вернётся — такая функция в личном кабинете явно существовала и, скорее всего, это временная мера.
Тем временем мы работаем над следующей версией пакета. Изучив полную OpenAPI-спецификацию alphaxiv, мы обнаружили, что значительная часть API доступна без токена вообще: метаданные статей, готовые AI-обзоры, полный текст, поиск по индексу, похожие статьи, профили пользователей. Планируем добавить в aurelle-py методы для этих эндпоинтов — так пакет станет полезен и тем, у кого токена пока нет.

Неофициальный Python-клиент для alphaxiv: как мы нашли скрытый API и упаковали его в пакет