Searchpin

io.github.telly6由 GitHub 帳號 telly6 發布v1.0.10更新於 Nov 7, 2026

Self-hosted web search for AI agents — zero API keys, embedding rerank, multi engine parallel search

概覽

AI 產生的概覽

供 AI 代理使用的自架網頁搜尋與抓取服務,平行查詢百度、搜狗與 Bing,並以嵌入模型重新排序結果,不需 API 金鑰。

可以做什麼
  • 在百度、搜狗、Bing 中國與 Bing 國際四個引擎上平行搜尋,並回報各引擎的執行或略過狀態與重試倒數。
  • 以本機嵌入模型合併並依語意重新排序結果,標記與查詢無關的結果。
  • 抓取網頁並擷取伺服器端渲染內容、JSON-LD 結構化資料與 microdata,回傳精簡的結構化資料。
  • 在本機辨識並擷取 PDF 文字,對無法讀取或純圖片的 PDF 回傳明確錯誤。
  • 可透過 Python API 呼叫相同的搜尋與抓取功能。
適用情境
適合需要無配額、零成本的網頁搜尋與頁面讀取的代理,尤其是長時間在本機執行的代理,或無法連上 Google 類服務的中國網路環境。
執行需求
以本機程序執行,可從 PyPI 安裝(pip install searchpin 後執行 searchpin-setup),或以 uvx、Docker 映像啟動。不需帳號、API 金鑰或環境變數。首次執行會透過 hf-mirror.com 下載約 118MB 的嵌入模型,且需要能連線各搜尋引擎的網路。
安裝前請注意
搜尋請求直接送往百度、搜狗與 Bing,可能被限流或出現驗證碼,此時該引擎會暫停一段時間。查詢與抓取的頁面內容會傳送給這些第三方。PDF 擷取上限為 25 MiB、200 頁與 200 萬字元,且不含 OCR。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Searchpin,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

English | 简体中文

Searchpin

[PyPI version] [Python] [License] [Docker]

Self-hosted web search for AI agents — zero API keys, zero cost. In 2026, the center of gravity in AI development is shifting from "chatting" to "autonomous task execution" — locally deployed, long-running agents are becoming the norm. When an agent runs 24/7, every web search must not be interrupted by API quotas or billing. Searchpin was designed for this from day one: zero external dependencies, zero usage limits. Agents can search, fetch, and verify without restriction, and developers never worry about cost.

Why Searchpin

🇨🇳 Optimized for Chinese Network Environments

Defaults to Baidu, Sogou, Bing CN, and Bing Intl — four search engines queried in parallel. Works natively within China's network, no proxy or VPN needed. Most overseas alternatives rely on Google, DuckDuckGo, or Brave, which are largely inaccessible inside China.

One running server sends Baidu searches at least 20 seconds apart. A Baidu captcha pauses Baidu for 10 minutes. A Sogou challenge pauses Sogou for 60 seconds, then 120 seconds on consecutive challenges. Other engines remain eligible; a search skips a paused engine without waiting for it. In web_search, search_pages[].engines reports which engines ran or were skipped, and retry_after_seconds reports the local time remaining. The next eligible search tests recovery; the timer does not guarantee that the upstream engine has unblocked access.

🧠 Semantic Re-ranking — a Differentiator Few Offer

Results from all four engines are not simply concatenated. They are merged and re-ranked by an embedding model based on semantic similarity to the query. What your AI receives is a curated list of high-quality results, not a pile of noisy links. Among free MCP search servers, very few offer this capability.

💰 Completely Free, Zero Barrier

No account registration, no API key application, no usage limits. No dependency on any commercial API — no risk of sudden paywalls or quota restrictions. The entire pipeline runs on your own machine.

🔍 Built for Modern Websites

Built-in SSR content extraction can parse pages rendered by Next.js, Nuxt, and similar frameworks, and extract JSON-LD structured data and microdata. Plain HTML scraping gets nothing from these sites.

web_fetch also detects PDFs by content type or file signature and extracts page-labelled text locally. Unreadable, encrypted, or image-only PDFs return an explicit error instead of binary garbage; OCR is not included. Extraction is limited to 25 MiB, 200 pages, and 2 million text characters.

🛡️ Pollution Detection + Cross-Verification

Automatically detects and flags results unrelated to your query. Four independent search engines provide cross-verifiable results, enabling your LLM to corroborate information across sources for more credible answers.

⚡ Deliberate Engineering Trade-offs

Every design decision was made with real-world usage in mind:

  • Token-conscious — Search results return only titles, URLs, and snippets. Structured extraction data is compact and truncated. Your LLM decides which pages are worth fetching in full, without wasting context window.
  • Fast response — Four engines queried asynchronously in parallel. Total time depends on the slowest engine, not the sum of all four. A typical search completes in 1–2 seconds.
  • Memory-friendly — The embedding model (~118MB) is downloaded once through hf-mirror.com (HuggingFace mirror for China), then reused from local cache.

Quick Start

bash
pip install searchpin && searchpin-setup

On first run, the embedding model (~118MB) is downloaded once via hf-mirror.com (HuggingFace mirror for China). That is the only one-time setup.

Configuration

Claude Desktop / Cursor / any MCP client

Add to your mcpServers config:

json
{  "mcpServers": {    "Searchpin": {      "command": "searchpin-server",      "args": []    }  }}

VS Code

[Install in VS Code] [Install in VS Code Insiders]

Or manually, add to .vscode/mcp.json:

json
{  "servers": {    "Searchpin": {      "command": "searchpin-server",      "args": []    }  }}

Docker

bash
docker run -i --rm ghcr.io/telly6/searchpin:latest

Python API

python
from searchpin import SearchEngine
engine = SearchEngine()results = engine.search("Python 3.13 新特性")page = engine.fetch("https://docs.python.org/3/whatsnew/3.13.html")engine.close()

來源:README.md,提交 9b912bb

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

3
  1. v1.0.10最新Nov 7, 2026
  2. v1.0.9Oct 23, 2026
  3. v1.0.7Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。