Agent Skills › karust/openserp › openserp-search

openserp-search

GitHub

通过自托管 OpenSERP 服务器执行实时网页搜索和内容提取,支持多搜索引擎。适用于依赖最新信息、特定引擎排名或页面内容的场景,提供搜索、批量提取及错误处理工作流。

skills/openserp-search/SKILL.md karust/openserp

触发场景

需要获取当前实时网络信息 查询特定搜索引擎的排名结果 读取并解析网页具体内容

安装

npx skills add karust/openserp --skill openserp-search -g -y
更多选项

不安装直接使用

npx skills use karust/openserp@openserp-search

指定 Agent (Claude Code)

npx skills add karust/openserp --skill openserp-search -a claude-code -g -y

安装 repo 全部 skill

npx skills add karust/openserp --all -g -y

预览 repo 内 skill

npx skills add karust/openserp --list

SKILL.md

Frontmatter
{
    "name": "openserp-search",
    "description": "Live web search and page reading through a self-hosted OpenSERP server (Google, Bing, Yandex, Baidu, DuckDuckGo, Ecosia). Use when the answer depends on current information, a specific engine's ranking, or the content of web pages, and the OpenSERP MCP tools or a local OpenSERP API are available."
}

Web search with OpenSERP

OpenSERP returns real results pages from named engines, with original ranks, plus page content as Markdown. Use the MCP tools (search, mega_search, any_search, extract, batch_extract, list_engines). Without MCP, call the HTTP API on http://localhost:7000 (or $OPENSERP_BASE_URL).

Workflow

  1. Search one engine first. search with engine: "google" for general queries. Use yandex for Russian-language, baidu for Chinese-language queries. Keep limit at 10 unless you need more.
  2. Pick sources by rank and domain. Prefer official docs, release notes and primary sources over aggregators. Skip type: "ad".
  3. Read with one batch_extract call for the 2-4 URLs you need, not repeated extract calls. Avoid archive or changelog index pages: they can be hundreds of KB. Pick the single post or section page instead.
  4. Answer with links. Cite each claim with the URL you read. Mention the engine and rank when ranking matters (SEO questions).

When a search fails

  • captcha detected, blocked or rate_limited from one engine: do not retry the same engine more than once. Use any_search with engines: ["google", "duckduckgo", "bing"], or search on another engine.
  • Results that do not match the query (unrelated brands, dictionary pages, a single keyword) mean the engine served a degraded page. Treat them as a failure and switch engine; do not use them as evidence.
  • An empty result set is not proof that nothing exists. Rephrase once or try another engine.
  • In batch_extract, an item with metadata.error failed; the others are still valid.

HTTP fallback

curl "http://localhost:7000/google/search?text=QUERY&limit=10"
curl "http://localhost:7000/mega/search?text=QUERY&engines=google,duckduckgo&mode=any"
curl -X POST "http://localhost:7000/extract/batch" -H "Content-Type: application/json" \
  -d '{"urls":["https://example.com/a","https://example.com/b"],"mode":"auto"}'

extract=N adds Markdown for up to N organic results (1-5) in one call. Ads and answer rows are skipped.

版本历史

  • 948f0ac 当前 2026-11-02 12:21

元信息

文件数
0
版本
948f0ac
Hash
1d809d46
收录时间
2026-11-02 12:21

首页 - Wiki
Copyright © 2011-2026 iteam. Current version is 2.156.0. UTC+08:00, 2026-11-07 01:30
浙ICP备14020137号-1