ๆƒฏๆ€ง่šๅˆ ้ซ˜ๆ•ˆ่ฟฝ่ธชๅ’Œ้˜…่ฏปไฝ ๆ„Ÿๅ…ด่ถฃ็š„ๅšๅฎขใ€ๆ–ฐ้—ปใ€็ง‘ๆŠ€่ต„่ฎฏ
้˜…่ฏปๅŽŸๆ–‡ ๅœจๆƒฏๆ€ง่šๅˆไธญๆ‰“ๅผ€

ๆŽจ่่ฎข้˜…ๆบ

S
SegmentFault ๆœ€ๆ–ฐ็š„้—ฎ้ข˜
G
Google Developers Blog
H
Help Net Security
ๆœˆๅ…‰ๅšๅฎข
ๆœˆๅ…‰ๅšๅฎข
้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—
้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—
้’›ๅช’ไฝ“๏ผšๅผ•้ข†ๆœชๆฅๅ•†ไธšไธŽ็”Ÿๆดปๆ–ฐ็Ÿฅ
้’›ๅช’ไฝ“๏ผšๅผ•้ข†ๆœชๆฅๅ•†ไธšไธŽ็”Ÿๆดปๆ–ฐ็Ÿฅ
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
็ˆฑ่Œƒๅ„ฟ
็ˆฑ่Œƒๅ„ฟ
้…ท ๅฃณ โ€“ CoolShell
้…ท ๅฃณ โ€“ CoolShell
ๅš
ๅšๅฎขๅ›ญ - ไธ‰็”Ÿ็ŸณไธŠ(FineUIๆŽงไปถ)
ๅคง็Œซ็š„ๆ— ้™ๆธธๆˆ
ๅคง็Œซ็š„ๆ— ้™ๆธธๆˆ
ไบบไบบ้ƒฝๆ˜ฏไบงๅ“็ป็†
ไบบไบบ้ƒฝๆ˜ฏไบงๅ“็ป็†
GbyAI
GbyAI
D
Docker
Hugging Face - Blog
Hugging Face - Blog
I
InfoQ
ๅš
ๅšๅฎขๅ›ญ - ๅธๅพ’ๆญฃ็พŽ
Last Week in AI
Last Week in AI
Microsoft Security Blog
Microsoft Security Blog
็พŽ
็พŽๅ›ขๆŠ€ๆœฏๅ›ข้˜Ÿ
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence

Hacker News: Show HN

PurrrrrFocus: Pomodoro Timer App - App Store Workflow Engine โ€” Multi-Step Orchestration for Bun RapidPhoto: Pro Photo Editor App - App Store GitHub - DheerG/swarms: Achieve extraordinary results with claude code across a variety of tasks SPICE simulation โ†’ oscilloscope โ†’ verification with Claude Code โ€” Lucas Gerads Show HN: VCoding โ€“ A 5 MB native Windows IDE with no dynamic dependencies Show HN: LLMs don't hallucinate because they're bad at math, it's the format GitHub - Agent-FM/agentfm-core: AgentFM is a peer-to-peer network that turns everyday computers into a decentralized AI supercomputer. AgentFM lets you run massive AI workloads directly across a global mesh of idle CPUs and GPUs. Show HN: Tracking Top US Science Olympiad Alumni over Last 25 Years GitHub - Potarix/agent-hub: One place to talk to all your agents Show HN: Runtime security for AI agents(injection,tool abuse, data exfiltration) GitHub - dubeyKartikay/lazyspotify: Terminal Spotify client for macOS and Linux GitHub - the-banana-tool/king-louie: Easy to use GUI Personal AI Assistant. Win/Linux/Mac. Show HN I made my vacation rental bookable by AI agentsโ€“no Airbnb, 0% commission GitHub - basteez/jsf-autoreload: maven plugin to enable hot reload on jsf projects uvm32/hosts/host-gdbstub at main ยท ringtailsoftware/uvm32 GitHub - labsai/EDDI: Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus. GitHub - glitchnsec/fortyone-oss: AI Executive Assistant Platform Quickstart | Alien GitHub - muxshed/shed: One stream in, or many. Every destination, simultaneously. No cloud middleman, no per-channel fees, no limits. GitHub - ocrbase-hq/ocrbase: ๐Ÿ“„ PDF/IMG ->.MD/JSON Document OCR API for PaddleOCR and GLMOCR. Self-hostable. GitHub - impactjo/home-memory: MCP server that lets your AI assistant remember everything about your home. GitHub - Sets88/dbcls: DbCls is a powerful terminal database client that supports various databases GitHub - neptun2000/heor-agent-mcp GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh RollQuation: Math Puzzles - Apps on Google Play GitHub - dropbox/witchcraft Show HN: Agent-cache โ€“ Multi-tier LLM/tool/session caching for Valkey and Redis GitHub - opentalon/opentalon: OpenTalon is an open-source platform built from the ground up in Go as a robust alternative to OpenClaw LinkedInโ„ข ่ŒไฝๆŠ“ๅ–ๅทฅๅ…ท - Chrome ๅบ”็”จๅ•†ๅบ—
GitHub - brcrusoe72/agent-search: Self-hosted search API ...
bricrusoe ยท 2026-04-21 ยท via Hacker News: Show HN

๐Ÿ” AgentSearch

Self-hosted SearXNG-backed search API and MCP server for AI agents. Drop-in alternative to Tavily/Exa โ€” without the per-query bill or the API key.

PyPI License: MIT

AgentSearch wraps SearXNG (an open-source meta-search engine) with a clean FastAPI layer that returns structured JSON. Built for LLM agents, RAG pipelines, and anyone tired of paying per-query for search APIs.

Why?

AgentSearch Brave API Google CSE SerpAPI
Cost Free forever $0.005/query $5/1K queries $50/mo
API Key None Required Required Required
Setup docker compose up Sign up + wait Console + billing Sign up + pay
Engines 6+ (configurable) Brave only Google only Google only
Self-hosted โœ… โŒ โŒ โŒ
Rate limits You control 1 req/sec free 100/day free 100/mo free
Deduplication Built-in โŒ โŒ โŒ

Quickstart

git clone https://github.com/brcrusoe72/agent-search.git
cd agent-search
docker compose up -d

That's it. Search at http://localhost:3939.

GET /search

General web search with deduplication and multi-engine scoring.

curl "http://localhost:3939/search?q=python+async+patterns&count=5"
{
  "results": [
    {
      "title": "Async IO in Python: A Complete Walkthrough",
      "url": "https://realpython.com/async-io-python/",
      "snippet": "A comprehensive guide to async/await in Python 3...",
      "engines": ["google", "bing", "duckduckgo"],
      "score": 1.0,
      "position": 1
    }
  ],
  "meta": {
    "query": "python async patterns",
    "total": 5,
    "engines_used": ["google", "bing", "duckduckgo"],
    "cached": false,
    "response_time_ms": 842.3
  }
}

Parameters:

Param Type Default Description
q string required Search query
count int 10 Results to return (1-50)
engines string all Comma-separated engines (google,bing)
domain string โ€” Filter to specific domain
exclude_domains string โ€” Comma-separated domains to exclude

GET /search/jobs

Job search across LinkedIn, Indeed, Glassdoor, and ZipRecruiter.

curl "http://localhost:3939/search/jobs?q=senior+python+engineer&location=remote&salary_min=150000"

Parameters:

Param Type Default Description
q string required Job title / keywords
location string โ€” Location filter
salary_min int โ€” Minimum salary filter

GET /health

curl http://localhost:3939/health

GET /engines

List all available search engines and their status.

curl http://localhost:3939/engines

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Your Agent  โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚  AgentSearch API  โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚   SearXNG    โ”‚
โ”‚  (any LLM)  โ”‚โ—€โ”€โ”€โ”€โ”€โ”‚  :3939 (FastAPI)  โ”‚โ—€โ”€โ”€โ”€โ”€โ”‚   :8080      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                     โ€ข Deduplication                  โ”‚
                     โ€ข Scoring                   โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”
                     โ€ข Caching                   โ”‚ Google  โ”‚
                     โ€ข Rate limiting             โ”‚ Bing    โ”‚
                                                 โ”‚ DDG     โ”‚
                                                 โ”‚ Brave   โ”‚
                                                 โ”‚ Start.. โ”‚
                                                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Integration Examples

Python (requests)

import requests

resp = requests.get("http://localhost:3939/search", params={"q": "latest AI news", "count": 5})
results = resp.json()["results"]
for r in results:
    print(f"{r['title']}: {r['url']}")

LangChain Tool

from langchain.tools import tool
import requests

@tool
def web_search(query: str) -> str:
    """Search the web using AgentSearch."""
    resp = requests.get("http://localhost:3939/search", params={"q": query, "count": 5})
    results = resp.json()["results"]
    return "\n".join(f"- {r['title']}: {r['url']}\n  {r['snippet']}" for r in results)

OpenClaw (TOOLS.md)

## Search
- **AgentSearch**: `http://localhost:3939/search?q=QUERY` via web_fetch โ€” free, self-hosted, no rate limits

curl (one-liner)

curl -s "http://localhost:3939/search?q=your+query" | jq '.results[:3]'

Configuration

Environment variables (set in docker-compose.yml):

Variable Default Description
SEARXNG_URL http://searxng:8080 SearXNG instance URL
CACHE_TTL 3600 Cache duration in seconds
RATE_LIMIT 30 Max requests per minute

Adding/removing search engines

Edit searxng/settings.yml and restart:

docker compose restart searxng

Development

# Run locally (needs SearXNG running separately)
pip install -r requirements.txt
SEARXNG_URL=http://localhost:8080 uvicorn app.main:app --reload --port 3939

Contributing

  1. Fork it
  2. Create your branch (git checkout -b feature/better-dedup)
  3. Commit (git commit -am 'Improve dedup algorithm')
  4. Push (git push origin feature/better-dedup)
  5. Open a PR

Python SDK

pip install agentsearch-client
from agentsearch import AgentSearch

client = AgentSearch()  # defaults to localhost:3939
results = client.search("manufacturing OEE best practices")
for r in results:
    print(f"{r.title} โ€” {r.url}")

MCP Server

Use AgentSearch as an MCP tool server โ€” gives any MCP-compatible client (Claude Desktop, Cursor, etc.) access to all 6 tools over stdio.

pip install mcp httpx
python mcp-server/server.py

Add to Claude Desktop config:

{
  "mcpServers": {
    "agent-search": {
      "command": "python",
      "args": ["/path/to/mcp-server/server.py"]
    }
  }
}

See mcp-server/README.md for full setup.

Related Projects

License

MIT โ€” do whatever you want with it.