{/ Эта страница автоматически создается на основе файла SKILL.md навыка с помощью сайта site/scripts/generate-skill-docs.py. Редактируйте исходный код SKILL.md, а не эту страницу. /}

Поиск Duckduckgo

Бесплатный поиск в Интернете через DuckDuckGo — текст, новости, изображения, видео. Ключ API не требуется. Предпочитайте CLI ddgs при установке; используйте библиотеку Python DDGS только после проверки доступности ddgs в текущей среде выполнения.

Метаданные навыков

Источник Необязательно — установите с помощью hermesskills installofficial/research/duckduckgo-search
Путь необязательные навыки/исследования/duckduckgo-search
Версия 1.3.0
Автор геймдевОблачно
Лицензия Массачусетский технологический институт
Платформы Linux, MacOS, Windows
Теги поиск, duckduckgo, веб-поиск, бесплатно, резервный вариант
Сопутствующие навыки arxiv

Ссылка: полная версия SKILL.md:::информация

Ниже приведено полное определение навыка, которое Гермес загружает при активации этого навыка. Это то, что агент видит в качестве инструкций, когда навык активен.

Поиск DuckDuckGo

Бесплатный поиск в Интернете с помощью DuckDuckGo. Ключ API не требуется.

Предпочтительно, когда web_search недоступен или не подходит (например, если FIRECRAWL_API_KEY не установлен). Также может использоваться как отдельный путь поиска, когда результаты DuckDuckGo особенно желательны.

Порядок обнаружения

Прежде чем выбирать подход, проверьте, что действительно доступно:

# Check CLI availability
command -v ddgs >/dev/null && echo "DDGS_CLI=installed" || echo "DDGS_CLI=missing"

Дерево решений: 1. Если установлен интерфейс командной строки ddgs, используйте terminal + ddgs. 2. Если CLI ddgs отсутствует, не думайте, что execute_code может импортировать ddgs. 3. Если пользователю нужен именно DuckDuckGo, сначала установите ddgs в соответствующей среде. 4. В противном случае вернитесь к встроенным инструментам веб-браузера.

Важное примечание во время выполнения: - Терминал и execute_code – это отдельные среды выполнения. - Успешная установка оболочки не гарантирует, что execute_code сможет импортировать ddgs. - Никогда не предполагайте, что сторонние пакеты Python предустановлены внутри execute_code.

Установка

Устанавливайте ddgs только в том случае, если поиск DuckDuckGo особенно необходим и среда выполнения еще не предоставляет его.

# Python package + CLI entrypoint
pip install ddgs

# Verify CLI
ddgs --help

Если рабочий процесс зависит от импорта Python, убедитесь, что та же среда выполнения может импортировать ddgs, прежде чем использовать from ddgs import DDGS.

Способ 1: поиск через интерфейс командной строки (предпочтительно)

Используйте команду ddgs через терминал, если он существует. Это предпочтительный путь, поскольку он позволяет избежать предположения, что в песочнице execute_code установлен пакет Python ddgs.

# Text search
ddgs text -q "python async programming" -m 5

# News search
ddgs news -q "artificial intelligence" -m 5

# Image search
ddgs images -q "landscape photography" -m 10

# Video search
ddgs videos -q "python tutorial" -m 5

# With region filter
ddgs text -q "best restaurants" -m 5 -r us-en

# Recent results only (d=day, w=week, m=month, y=year)
ddgs text -q "latest AI news" -m 5 -t w

# JSON output for parsing
ddgs text -q "fastapi tutorial" -m 5 -o json

Флаги CLI

Флаг Описание Пример
-q Запрос — обязательно -q "условия поиска"
Максимальные результаты -м 5
Регион -r нас-en
Ограничение по времени -t w (неделя)
Безопасный поиск -выключено
Выходной формат -o json

Способ 2: API Python (только после проверки)

Используйте класс DDGS в execute_code или другой среде выполнения Python только после проверки того, что там установлен ddgs. Не думайте, что execute_code по умолчанию включает сторонние пакеты.

Безопасная формулировка: - «При необходимости используйте execute_code с ddgs после установки или проверки пакета»

Избегайте говорить: - "execute_code включает ddgs" - «Поиск DuckDuckGo работает по умолчанию в execute_code»

Важно: max_results всегда должен передаваться как аргумент ключевого слова — позиционное использование вызывает ошибку во всех методах.

Текстовый поиск

Лучше всего подходит для: общих исследований, компаний, документации.

from ddgs import DDGS

with DDGS() as ddgs:
    for r in ddgs.text("python async programming", max_results=5):
        print(r["title"])
        print(r["href"])
        print(r.get("body", "")[:200])
        print()

Возвращает: title, href, body

Поиск новостей

Подходит для: текущих событий, последних новостей, последних обновлений.

from ddgs import DDGS

with DDGS() as ddgs:
    for r in ddgs.news("AI regulation 2026", max_results=5):
        print(r["date"], "-", r["title"])
        print(r.get("source", ""), "|", r["url"])
        print(r.get("body", "")[:200])
        print()

Возвращает: дата, заголовок, тело, url, изображение, источник

Поиск изображений

Лучше всего подходит для: визуальных ссылок, изображений продуктов, диаграмм.

from ddgs import DDGS

with DDGS() as ddgs:
    for r in ddgs.images("semiconductor chip", max_results=5):
        print(r["title"])
        print(r["image"])
        print(r.get("thumbnail", ""))
        print(r.get("source", ""))
        print()

Возвращает: title, image, thumbnail, url, height, width, source

Поиск видео

Лучше всего подходит для: обучающих программ, демонстраций, пояснений.

from ddgs import DDGS

with DDGS() as ddgs:
    for r in ddgs.videos("FastAPI tutorial", max_results=5):
        print(r["title"])
        print(r.get("content", ""))
        print(r.get("duration", ""))
        print(r.get("provider", ""))
        print(r.get("published", ""))
        print()

Возвращает: title, content, description, продолжительность, провайдер, опубликовано, статистика, загрузчик

Краткий справочник

Метод Используйте, когда Ключевые поля
текст() Общие исследования, компании заголовок, href, тело
новости() Текущие события, обновления дата, заголовок, источник, текст, URL
изображения() Наглядные изображения, диаграммы заголовок, изображение, миниатюра, URL
видео() Учебники, демо название, содержание, продолжительность, поставщик

Рабочий процесс: поиск и извлечение

DuckDuckGo возвращает заголовки, URL-адреса и фрагменты, а не полное содержимое страницы. Чтобы получить полное содержимое страницы, сначала выполните поиск, а затем извлеките наиболее релевантный URL-адрес с помощью web_extract, инструментов браузера или Curl.

Пример интерфейса командной строки:

ddgs text -q "fastapi deployment guide" -m 3 -o json

Пример Python, только после проверки установки ddgs в этой среде выполнения:

from ddgs import DDGS

with DDGS() as ddgs:
    results = list(ddgs.text("fastapi deployment guide", max_results=3))
    for r in results:
        print(r["title"], "->", r["href"])

Затем извлеките лучший URL-адрес с помощью «web_extract» или другого инструмента поиска контента.

Ограничения

Устранение неполадок

Проблема Вероятная причина Что делать
ddgs: команда не найдена CLI не установлен в среде оболочки Установите ddgs или используйте вместо этого встроенные инструменты веб-браузера
ModuleNotFoundError: нет модуля с именем 'ddgs' В среде выполнения Python не установлен пакет Не используйте там Python DDGS, пока не будет подготовлена ​​среда выполнения
Поиск ничего не возвращает Временное ограничение скорости или неправильный запрос Подождите несколько секунд, повторите попытку или измените запрос
CLI работает, но импорт execute_code невозможен Терминал и execute_code — разные среды выполнения Продолжайте использовать CLI или отдельно подготовьте среду выполнения Python

Подводные камни

Проверено с помощью

Проверенные примеры на соответствие семантике ddgs==9.11.2. Руководство по навыкам теперь рассматривает доступность CLI и доступность импорта Python как отдельные проблемы, поэтому документированный рабочий процесс соответствует фактическому поведению во время выполнения.