Agent Skills
› rcarmo/piclaw
› web-search-summary
web-search-summary
GitHub通过 SearXNG 或 DuckDuckGo 执行网络搜索,获取前几条结果并生成句子级摘要及可选的页面内容转换。
Trigger Scenarios
需要快速了解网页核心内容的场景
批量获取搜索结果摘要而非全文的场景
Install
npx skills add rcarmo/piclaw --skill web-search-summary -g -y
SKILL.md
Frontmatter
{
"name": "web-search-summary",
"description": "Search via SearXNG (or DuckDuckGo fallback), fetch top results, and return sentence-level summaries plus optional converted page content.",
"distribution": "public"
}
Web Search Summary
Use this when you need short summaries of the top pages, not full page content.
If you need fetched Markdown as the main artifact, use web-search.
Search engine selection
- If
PICLAW_SEARX_URLis set or--searx-urlis passed, the script uses SearXNG. - Otherwise, it falls back to DuckDuckGo HTML search (no API key required).
Examples
Run a summarised search:
bun /workspace/.pi/skills/web-search-summary/web-search-summary.ts --query "your query"
Adjust fetch depth or summary length:
bun /workspace/.pi/skills/web-search-summary/web-search-summary.ts --query "your query" --fetch-limit 3 --max-sentences 4 --max-chars 800
Output shape
The script prints JSON like:
{
"query": "...",
"searxUrl": "http://.../search",
"limit": 5,
"fetch": true,
"maxSentences": 3,
"maxChars": 600,
"results": [
{
"title": "...",
"url": "https://...",
"content": "fetched markdown or original snippet",
"summary": "short sentence-level digest"
}
]
}
summaryis only added for fetched items.contentcontains converted Markdown when fetch succeeds.
Failure behaviour
- If the search request fails, the script exits non-zero.
- If page fetch fails for an individual result, the search still succeeds and that item gets
summary: "Failed to fetch: ..."while other results continue. - Set
--fetch falseto skip page retrieval entirely.
Options
--query/--q— required search query--limit— number of search results to return (default5)--fetch— set tofalseto skip page fetches (defaulttrue)--fetch-limit— how many results to fetch and convert (default2)--searx-url— override the SearXNG endpoint (env:PICLAW_SEARX_URL; falls back to DuckDuckGo if unset)--timeout— fetch timeout in milliseconds (default15000)--max-sentences— summary sentence limit (default3)--max-chars— summary character limit (default600)
Notes
- Summaries are heuristic first-sentence digests and may need human refinement.
- HTML conversion uses
turndown+linkedomand prefers<article>,<main>, or[role='main'].
Version History
- 5fa0ce5 Current 2026-07-25 10:26


