API ВЕГА
English

Примеры агента iDevice

Небольшие примеры, которые можно запустить, чтобы вызывать iDevice из агента. iDevice (https://idevice.com) — независимый справочник для покупателей телефонов и носимых устройств. Он не продаёт товары, о которых рассказывает.

iDevice предоставляет два бесплатных интерфейса только для чтения для программных агентов:

URL
MCP-сервер (передача данных по HTTP с потоковой передачей)https://idevice.com/api/mcp
A2A-агентhttps://idevice.com/api/a2a
Карточка A2A-агентаhttps://idevice.com/.well-known/agent-card.json

Учётная запись, API-ключ и вход в систему не требуются. Ни один из интерфейсов не позволяет покупать, бронировать, публиковать или изменять данные.

Ограничения на частоту запросов: 30 запросов в минуту и 500 в день с одного IP-адреса. Запросы сверх лимита отклоняются (HTTP 429 или ошибка JSON-RPC). В таком случае подождите и повторите попытку позже — не запускайте запросы в цикле. Платного тарифа нет. В списках может быть не более 20 элементов.

Полная документация: https://idevice.com/mcp и https://idevice.com/mcp/docs. Чтобы получить актуальный список инструментов и названия аргументов, выполните tools/list. В этом репозитории этот список не дублируется.

Возможности инструментов

ЗадачаИнструменты
Решить, стоит ли покупатьshould_i_buy, get_guide_summary, find_products, get_best_for, compare_products, get_reviews
Владение и правилаget_ownership_facts, get_in_the_box
Найти товар или компаниюlist_products, get_product, get_company_profile
Совместимость, характеристики и ценыget_compatibility, get_product_facts, get_detailed_facts, get_variants_and_offers, get_price_history
Новости, отчёты и историяget_product_news, get_reports, search_reports, get_report_card, get_release_history, get_release_calendar, get_guide_extras

Большинство инструментов принимают аргумент product_slug. Получить его можно с помощью list_products.

Примеры вопросов

  • Я пользуюсь iPhone. Стоит ли мне покупать Samsung Galaxy Watch 8?

  • Какие умные кольца лучше всего подходят для отслеживания сна?

  • Какие прогнозы из материалов, опубликованных до выхода Apple Watch Series 12, подтвердились?

Примеры

ПапкаФреймворкПримечания
examples/curl-and-pythonнетПрямые вызовы JSON-RPC с помощью curl и стандартной библиотеки Python, а также одно сообщение A2A
examples/google-adkGoogle ADKMcpToolset с передачей данных по HTTP с потоковой передачей, а также A2A-клиент
examples/langgraphLangChain и LangGraphlangchain.mcp.MCPAdapter вместе с create_agent
examples/vercel-ai-sdkVercel AI SDKcreateMCPClient с транспортом HTTP (TypeScript)
examples/openai-agents-sdkOpenAI Agents SDKMCPServerStreamableHttp

Каждый пример получает ключ вашей модели из переменной среды, используемой соответствующим фреймворком. Ключ iDevice не нужен. В каждом примере предусмотрен режим --check: он выводит список инструментов и выполняет один вызов инструмента без использования модели. В README каждой папки указано, какие команды запускались на работающем сервере, а какие составлены только по документации фреймворка.

Чтобы направить пример на другой URL MCP, задайте переменную IDEVICE_MCP_URL.

Как ссылаться на iDevice

Если в ответе используются данные iDevice:

  • Укажите iDevice и добавьте ссылку на url, возвращённый инструментом. Она ведёт на страницу с подтверждающими данными. В некоторых ответах также есть source_url или sources[].url, ведущие на страницу производителя; добавьте и эту ссылку.

  • Сохраняйте указание на степень подтверждённости рядом с фактом: Confirmed, Reported, Our read или No source on file. В ответах о совместимости используйте формулировки Works, Works with a limit, Needs extra hardware, Does not work или Not confirmed.

  • Not confirmed означает, что данные неизвестны. Это не означает несовместимость.

  • Если в результате указано sponsored: true, сообщите, что руководство спонсируется, и назовите sponsor.

Асинхронные ответы A2A

A2A-агент обрабатывает вопросы о товарах как задачи. Вызов message/send сразу возвращает задачу, но ответ на вопрос о товаре может занять несколько минут — дольше, чем обычный вызов API. Вызывайте tasks/get, передавая идентификатор задачи, пока её состояние не перестанет быть submitted или working. Установите длительный тайм-аут. Ответ на вопрос о товаре также содержит одну компактную часть данных в формате JSON не более чем о пяти товарах.

Конфиденциальность

В этих примерах вопрос передаётся вашему поставщику модели, а вызовы инструментов — iDevice. Никакие данные здесь не сохраняются. О том, как iDevice обрабатывает данные, читайте на странице https://idevice.com/privacy.

Лицензия

MIT. Copyright iDevice Media LLC.