Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Duckduckgo Tìm kiếm

Tìm kiếm trên web miễn phí qua DuckDuckGo — văn bản, tin tức, hình ảnh, video. Không cần khóa API. Ưu tiên ddgs CLI khi cài đặt; chỉ sử dụng thư viện Python DDGS sau khi xác minh rằng ddgs có sẵn trong thời gian chạy hiện tại.

Siêu dữ liệu kỹ năng

NguồnTùy chọn — cài đặt với
`Hermes skills install official/research/duckduckgo-search
`
Đường dẫn

optional-skills/research/duckduckgo-search ` | | Phiên bản |

1.3.0 ` | | Tác giả | gamedevMây | | Giấy phép | MIT | | Nền tảng | Linux, macOS, Windows | | Thẻ |

search

, `duckduckgo

, `web-search

, `free

, fallback | | Kỹ năng liên quan | XPROTECTX19XPROTECTX |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

DuckDuckGo Tìm kiếm

Tìm kiếm trên web miễn phí bằng DuckDuckGo. Không cần khóa API.

Được ưu tiên khi web_search không khả dụng hoặc không phù hợp (ví dụ: khi FIRECRAWL_API_KEY không được đặt). Cũng có thể được sử dụng làm đường dẫn tìm kiếm độc lập khi có kết quả DuckDuckGo được mong muốn cụ thể.

Luồng phát hiện

Kiểm tra những gì thực sự có sẵn trước khi chọn phương pháp tiếp cận:


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

`
``Cây quyết định:
1. Nếu
`ddgs
` CLI được cài đặt, hãy ưu tiên
`terminal

+
`ddgs

2. Nếu
`ddgs
` CLI bị thiếu, đừng cho rằng
`execute_code
` có thể nhập
`ddgs

3. Nếu người dùng muốn cụ thể là DuckDuckGo, trước tiên hãy cài đặt
`ddgs
` trong môi trường liên quan
4. Nếu không thì quay lại các công cụ web/trình duyệt tích hợp

Lưu ý thời gian chạy quan trọng:
- Terminal và
`execute_code
` là các thời gian chạy riêng biệt
- Cài đặt shell thành công không đảm bảo
`execute_code
` có thể nhập
`ddgs

- Đừng bao giờ cho rằng các gói Python của bên thứ ba được cài đặt sẵn bên trong
`execute_code

## Cài đặt

Chỉ cài đặt
`ddgs
` khi tìm kiếm DuckDuckGo đặc biệt cần thiết và thời gian chạy chưa cung cấp tính năng này.

``` bash

# Python package + CLI entrypoint
pip install ddgs

# Verify CLI
ddgs --help

`
``Nếu quy trình làm việc phụ thuộc vào quá trình nhập Python, hãy xác minh rằng cùng thời gian chạy có thể nhập
`ddgs
` trước khi sử dụng
`from ddgs import DDGS

.

## Cách 1: Tìm kiếm CLI (Ưu tiên)

Sử dụng lệnh
`ddgs
` thông qua
`terminal
` khi nó tồn tại. Đây là đường dẫn ưa thích vì nó tránh giả định hộp cát
`execute_code
` đã cài đặt gói Python
`ddgs

.

``` bash

# 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

`

### Cờ CLI

| Cờ | Mô tả | Ví dụ |
|------|-------------|----------|
|

-q
` | Truy vấn — **bắt buộc** |

-q "search terms"
` |
|

-m
` | Kết quả tối đa |

-m 5
` |
|

-r
` | Vùng |

-r us-en
` |
|

-t
` | Thời hạn |

-t w
` (tuần) |
|

-s
` | Tìm kiếm an toàn |

-s off
` |
|

-o
` | Định dạng đầu ra |

-o JSON
` |

## Cách 2: Python API (Chỉ sau khi xác minh)

Chỉ sử dụng lớp
`DDGS
` trong
`execute_code
` hoặc thời gian chạy Python khác sau khi xác minh rằng
`ddgs
` đã được cài đặt ở đó. Theo mặc định, đừng cho rằng
`execute_code
` bao gồm các gói của bên thứ ba.

Từ ngữ an toàn:
- "Sử dụng
`execute_code
` với
`ddgs
` sau khi cài đặt hoặc xác minh gói nếu cần"

Tránh nói:
- "
`execute_code
` bao gồm
`ddgs

"
- "Tìm kiếm DuckDuckGo hoạt động theo mặc định trong
`execute_code

"`**Quan trọng:**
`max_results
` phải luôn được chuyển dưới dạng **đối số từ khóa** — việc sử dụng vị trí sẽ gây ra lỗi trên tất cả các phương thức.

### Tìm kiếm văn bản

Tốt nhất cho: nghiên cứu chung, công ty, tài liệu.

``` python
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()

`
``Trả về:
`title

,
`href

,
`body

### Tìm kiếm tin tức

Tốt nhất cho: sự kiện hiện tại, tin nóng, cập nhật mới nhất.

`Python
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()

`
``Trả về:
`date

,
`title

,
`body

,
`url

,
`image

,
`source

### Tìm kiếm hình ảnh

Tốt nhất cho: tài liệu tham khảo trực quan, hình ảnh sản phẩm, sơ đồ.

`Python
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()

`
``Trả về:
`title

,
`image

,
`thumbnail

,
`url

,
`height

,
`width

,
`source

`
### Tìm kiếm video

Tốt nhất cho: hướng dẫn, demo, giải thích.

``` python
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()

`
``Trả về:
`title

,
`content

,
`description

,
`duration

,
`provider

,
`published

,
`statistics

,
`uploader

### Tham khảo nhanh

| Phương pháp | Sử dụng Khi nào | Các trường chính |
|--------|----------|-------------|
|
`text()
` | Nghiên cứu tổng hợp, công ty | tiêu đề, href, nội dung |
|
`news()
` | Sự kiện hiện tại, cập nhật | ngày, tiêu đề, nguồn, nội dung, url |
|
`images()
` | Hình ảnh, sơ đồ | tiêu đề, hình ảnh, hình thu nhỏ, url |
|
`videos()
` | Hướng dẫn, demo | tiêu đề, nội dung, thời lượng, nhà cung cấp |

## Quy trình làm việc: Tìm kiếm rồi trích xuất

DuckDuckGo trả về tiêu đề, URL và đoạn trích — không phải nội dung trang đầy đủ. Để có được nội dung trang đầy đủ, trước tiên hãy tìm kiếm rồi trích xuất URL phù hợp nhất bằng
`web_extract

, công cụ trình duyệt hoặc cuộn tròn.

Ví dụ CLI:

`bash
ddgs text -q "fastAPI deployment guide" -m 3 -o JSON

`
``Ví dụ về Python, chỉ sau khi xác minh
`ddgs
` được cài đặt trong thời gian chạy đó:

`Python
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"])

`
``Sau đó trích xuất URL tốt nhất bằng
`web_extract
` hoặc một công cụ truy xuất nội dung khác.

## Hạn chế
- **Giới hạn tỷ lệ**: DuckDuckGo có thể tăng tốc sau nhiều yêu cầu nhanh. Thêm độ trễ ngắn giữa các lần tìm kiếm nếu cần.

- **Không trích xuất nội dung**:
`ddgs
` trả về các đoạn trích, không phải nội dung toàn trang. Sử dụng
`web_extract

, công cụ trình duyệt hoặc cuộn tròn để xem toàn bộ bài viết/trang.
- **Chất lượng kết quả**: Nói chung là tốt nhưng ít cấu hình hơn tìm kiếm của Firecrawl.
- **Tính khả dụng**: DuckDuckGo có thể chặn yêu cầu từ một số IP đám mây. Nếu tìm kiếm trả về trống, hãy thử các từ khóa khác hoặc đợi vài giây.
- **Biến đổi trường**: Các trường trả về có thể khác nhau giữa các kết quả hoặc phiên bản
`ddgs

. Sử dụng

.get()
` cho các trường tùy chọn để tránh
`KeyError

.
- **Thời gian chạy riêng**: Cài đặt
`ddgs
` thành công trong terminal không tự động có nghĩa là
`execute_code
` có thể nhập nó.

## Khắc phục sự cố

| Vấn đề | Nguyên nhân có thể xảy ra | Phải Làm Gì |
|----------|--------------|-------------|
|
`ddgs: command not found
` | CLI chưa được cài đặt trong môi trường shell | Cài đặt
`ddgs
` hoặc sử dụng các công cụ trình duyệt/web tích hợp thay thế |
|
`ModuleNotFoundError: No module named 'ddgs'
` | Thời gian chạy Python chưa cài đặt gói | Không sử dụng Python DDGS ở đó cho đến khi thời gian chạy đó được chuẩn bị |
| Tìm kiếm không trả lại kết quả gì | Giới hạn tỷ lệ tạm thời hoặc truy vấn kém | Đợi vài giây, thử lại hoặc điều chỉnh truy vấn |
| CLI hoạt động nhưng quá trình nhập
`execute_code
` không thành công | Terminal và
`execute_code
` là các thời gian chạy khác nhau | Tiếp tục sử dụng CLI hoặc chuẩn bị riêng thời gian chạy Python |

## cạm bẫy
- **
`max_results
` chỉ có từ khóa**:
`ddgs.text("query", 5)
` gây ra lỗi. Sử dụng
`ddgs.text("query", max_results=5)

.
- **Đừng cho rằng CLI tồn tại**: Kiểm tra
`command -v ddgs
` trước khi sử dụng.
- **Đừng cho rằng
`execute_code
` có thể nhập
`ddgs

**:
`from ddgs import DDGS
` có thể không thành công với
`ModuleNotFoundError
` trừ khi thời gian chạy đó được chuẩn bị riêng.
- **Tên gói**: Gói này là
`ddgs
` (trước đây là
`duckduckgo-search

). Cài đặt với
`pip install ddgs

.
- **Đừng nhầm lẫn

-q
`

-m

** (CLI):

-q
` dành cho truy vấn,

-m
` dành cho số kết quả tối đa.
- **Kết quả trống**: Nếu
`ddgs
` không trả về kết quả nào thì kết quả có thể bị giới hạn tỷ lệ. Đợi vài giây và thử lại.

## Được xác thực bằng

Các ví dụ đã được xác thực dựa trên ngữ nghĩa
`ddgs==9.11.2

. Hướng dẫn kỹ năng hiện coi tính khả dụng của CLI và tính khả dụng của nhập Python là những mối quan tâm riêng biệt để quy trình làm việc được ghi lại phù hợp với hành vi thời gian chạy thực tế.