用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/tomes --skill web-search命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | web-search |
| description | > Use when this capability is needed. |
GET https://api.duckduckgo.com/?q=QUERY&format=json&no_html=1&skip_disambig=1
+, special characters percent-encoded)curl -s "https://api.duckduckgo.com/?q=QUERY&format=json&no_html=1&skip_disambig=1" | jq '{
type: .Type,
abstract: .AbstractText,
abstract_source: .AbstractSource,
abstract_url: .AbstractURL,
answer: .Answer,
definition: .Definition,
definition_source: .DefinitionSource,
redirect: .Redirect,
related: [.RelatedTopics[:5][] | select(.Text) | {text: .Text, url: .FirstURL}]
}'
curl -s "https://api.duckduckgo.com/?q=QUERY&format=json&no_html=1&skip_disambig=1" | jq -r '
if .Redirect != "" then "Redirect: " + .Redirect
elif .Answer != "" then .Answer
elif .AbstractText != "" then .AbstractText + "\nSource: " + .AbstractURL
elif .Definition != "" then .Definition + "\nSource: " + .DefinitionURL
elif (.RelatedTopics | length) > 0 then .RelatedTopics[0].Text + "\nURL: " + .RelatedTopics[0].FirstURL
else "No results found. Try different keywords."
end'
curl -s "https://api.duckduckgo.com/?q=QUERY&format=json&no_html=1&skip_disambig=1" | jq '{
type: .Type,
heading: .Heading,
abstract: .AbstractText,
abstract_source: .AbstractSource,
abstract_url: .AbstractURL,
answer: .Answer,
answer_type: .AnswerType,
definition: .Definition,
definition_source: .DefinitionSource,
definition_url: .DefinitionURL,
image: .Image,
redirect: .Redirect,
related: [.RelatedTopics[]? | select(.Text) | {text: .Text, url: .FirstURL, icon: .Icon.URL}],
results: [.Results[]? | {text: .Text, url: .FirstURL}],
infobox: .Infobox
}'
| Parameter | Value | Purpose |
|---|---|---|
q | search terms | The search query (required) |
format | json | Response format (use json, also supports xml) |
no_html | 1 | Strip HTML from response text (recommended) |
skip_disambig | 1 | Skip disambiguation pages, return first result directly |
no_redirect | 1 | Do not follow !bang redirects |
pretty | 1 | Pretty-print JSON (for debugging only) |
t | app name | Application name identifier (optional, for attribution) |
| Field | Description |
|---|---|
Type | Response category: A (article), D (disambiguation), C (category), N (name), E (exclusive), or empty |
AbstractText | Summary text for the topic (no HTML when no_html=1) |
AbstractSource | Name of the source (e.g., "Wikipedia") |
AbstractURL | Deep link to the full article at the source |
Heading | Title/heading of the result |
Image | URL of a relevant image |
Answer | Instant answer text (for calculations, conversions, IP lookups, etc.) |
AnswerType | Type of instant answer: calc, color, digest, info, ip, iploc, phone, pw, rand, regexp, unicode, upc, zip |
| Field | Description |
|---|---|
Definition | Dictionary definition text |
DefinitionSource | Source of the definition |
DefinitionURL | URL to the full definition |
| Field | Description |
|---|---|
RelatedTopics | Array of related topic objects (see below) |
Results | Array of external result links |
Redirect | URL to redirect to (for !bang commands) |
Infobox | Structured data box (key-value facts) |
Each item in RelatedTopics contains:
| Field | Description |
|---|---|
Text | Description text |
FirstURL | Link to the DuckDuckGo page for this topic |
Icon.URL | Icon/thumbnail URL |
Icon.Width | Icon width |
Icon.Height | Icon height |
Result | HTML link string |
When Type is D (disambiguation), RelatedTopics may contain grouped items with a Name key and nested Topics array.
Use the user's question directly as the query.
# "What is Rust programming language?"
curl -s "https://api.duckduckgo.com/?q=Rust+programming+language&format=json&no_html=1&skip_disambig=1"
Extract key nouns and concepts, drop filler words.
# "Can you tell me about the history of the Internet?" -> "history Internet"
curl -s "https://api.duckduckgo.com/?q=history+of+the+Internet&format=json&no_html=1&skip_disambig=1"
For people, places, or things, use the proper name.
# "Who created Linux?"
curl -s "https://api.duckduckgo.com/?q=Linus+Torvalds&format=json&no_html=1&skip_disambig=1"
If the first query returns empty fields, try rephrasing:
!bang command; follow the URLcurl -s "https://api.duckduckgo.com/?q=Albert+Einstein&format=json&no_html=1" | jq '.Infobox.content[]? | {label: .label, value: .value}'
| Character | Encoded |
|---|---|
| Space | + or %20 |
& | %26 |
= | %3D |
? | %3F |
/ | %2F |
# | %23 |
+ | %2B |
" | %22 |
In bash, use jq -rn --arg q "search terms" '$q | @uri' for proper encoding.
format=json for machine-readable outputno_html=1 to get clean text without HTML tagsskip_disambig=1 to get direct answers instead of disambiguation pagesAbstractURL, DefinitionURL, or FirstURL) when presenting resultsRedirect field handles DuckDuckGo !bang shortcuts (e.g., !w for Wikipedia, !so for StackOverflow)Source: bug-ops/zeph — distributed by TomeVault.