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

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

J
Java Code Geeks
Martin Fowler
Martin Fowler
B
Blog RSS Feed
D
DataBreaches.Net
L
LangChain Blog
ๆœˆๅ…‰ๅšๅฎข
ๆœˆๅ…‰ๅšๅฎข
S
SegmentFault ๆœ€ๆ–ฐ็š„้—ฎ้ข˜
้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—
้˜ฎไธ€ๅณฐ็š„็ฝ‘็ปœๆ—ฅๅฟ—
V
Visual Studio Blog
็พŽ
็พŽๅ›ขๆŠ€ๆœฏๅ›ข้˜Ÿ
Jina AI
Jina AI
ๅš
ๅšๅฎขๅ›ญ - ๅธๅพ’ๆญฃ็พŽ
้›ทๅณฐ็ฝ‘
้›ทๅณฐ็ฝ‘
Last Week in AI
Last Week in AI
่ฎฉๅฐไบงๅ“็š„็‹ฌ็ซ‹ๅ˜็Žฐๆ›ด็ฎ€ๅ• - ezindie.com
่ฎฉๅฐไบงๅ“็š„็‹ฌ็ซ‹ๅ˜็Žฐๆ›ด็ฎ€ๅ• - ezindie.com
ITไน‹ๅฎถ
ITไน‹ๅฎถ
ๅš
ๅšๅฎขๅ›ญ - ไธ‰็”Ÿ็ŸณไธŠ(FineUIๆŽงไปถ)
WordPressๅคงๅญฆ
WordPressๅคงๅญฆ
ๅฐไผ—่ฝฏไปถ
ๅฐไผ—่ฝฏไปถ
็ฝ—
็ฝ—็ฃŠ็š„็‹ฌ็ซ‹ๅšๅฎข
ๅš
ๅšๅฎขๅ›ญ_้ฆ–้กต
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
A
About on SuperTechFans
Engineering at Meta
Engineering at Meta

Hacker News - Newest: "LLM"

GitHub - lechmazur/position_bias: A benchmark for testing whether LLM judges keep the same preference when two lightly edited versions of the same story are shown in opposite orders. Flex routing (EU and EFTA) Dark Factories: Retooling for LLM Velocity Ask HN: What would be the impact of a LLM output injection attack? GitHub - Oaklight/llm-rosetta: Production-ready LLM API translation layer for Python โ€” bidirectional conversion between OpenAI, Anthropic & Google formats via hub-and-spoke IR. Optional API gateway. Streaming & non-streaming. Zero core deps. Contributions welcome! GitHub - browser-use/browser-harness: Self-healing browser harness that enables LLMs to complete any task. GitHub - moeen-mahmud/remen: Remen turns thoughts into something you can return to Analyzing 156 LLM Launch Posts on Hacker News ChatGPT vs Gemini vs Claude: The Best LLM Subscription You Should Buy GitHub - salaamalykum/quran-semantic-search: High-density RAG Semantic Search Engine & Quran Corpus (GEO/SEO Architecture) GitHub - NVIDIA/TensorRT-LLM: TensorRT LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and supports state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT LLM also contains components to create Python and C++ runtimes that orchestrate the inference execution in a performant way. The State of LLM Bug Bounties in 2026 Operational Readiness Criteria for Tool-Using LLM Agents Meshcore: Architecture for a Decentralized P2P LLM Inference Network How an LLM becomes more coherent as we train it GitHub - seetrex-ai/laimark GitHub - Jossifresben/BibCrit: AI-assited biblical textual criticism GitHub - wastedcode/memex: File system based wiki, maintained by Claude 99helpers.com GitHub - cliver-project/AITrigram GitHub - unbody-io/adapt: A self-evolving memory layer for AI agents. GitHub - hb20007/awesome-gen-ai-fails: A list of incidents where reliance on generative AI and LLMs resulted in harm to companies, individuals, or society GitHub - nevenkordic/localmind: Run any local LLM with persistent memory and context. CLI agent over Ollama with SQLite-backed hybrid recall. No cloud. Ask HN: What are the machine requirements for a LLM like Llama-3.1-8B? Faster LLM Inference via Sequential Monte Carlo grpo explained: group relative policy optimization for llm finetuning - cgft Stop comparing price per million tokens: the hidden LLM API costs ยท TensorZero Andrej Karpathy's LLM Wiki Is a Bad Idea GitHub - GG-QandV/mnemostroma: Offline RAM-first cognitive leer/coprocessor for AI agents and robotics. Solves "Context Abandonment" with 20-80ms latency using a dual-thread biomimetic memory architecture (ONNX + SQLite WAL). mempalace/agent at agent ยท skorotkiewicz/mempalace
GitHub - brcrusoe72/agent-search: Self-hosted search API ...
bricrusoe ยท 2026-04-21 ยท via Hacker News - Newest: "LLM"

๐Ÿ” 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.