Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Search.elixpo

БесплатноНе проверен

OreoLook — an open-source, OpenAI-compatible agentic web search and deep-research engine with streaming, MCP tools, Redis memory, Qdrant retrieval, and PDF expo

GitHubEmbed

Описание

OreoLook — an open-source, OpenAI-compatible agentic web search and deep-research engine with streaming, MCP tools, Redis memory, Qdrant retrieval, and PDF exports.

README

OreoLook icon OreoLook

A curious, open-source AI search scout with real-time web research, RAG, and an OpenAI-compatible API.



License: MIT Python 3.11+ Docker OpenAI Compatible Redis Playwright Cloudflare Pages

GitHub stars GitHub forks GitHub issues GitHub last commit


OreoLook

✨ What Makes OreoLook Different?

  • Don't wait for search results. OreoLook remembers what you've already asked about and serves up answers instantly from its memory. Same question, instant answer.

  • Unlike regular search engines, OreoLook understands what you're really asking for. It searches the web, watches YouTube videos, analyzes images, and pieces everything together into a coherent answer.

  • Every answer comes with sources. Read the original articles, watch the videos, see exactly where the information came from. No fluff, no guessing.

  • Ask a follow-up question and OreoLook remembers what you were just talking about. It's like chatting with someone who actually paid attention to the conversation.


🚩 Released Packages

Package Registry Install / Pull Description
lix-open-cache PyPI pip install lix-open-cache Standalone 3-layer Redis caching + Huffman disk archival for conversational AI
LixSearch Docker Hub / GHCR docker pull elixpo/lixsearch OR docker pull ghcr.io/circuit-overtime/lixsearch Full self-hostable search engine (API + Redis + ChromaDB + Playwright) both on Docker Hub and GitHub Container Registry
  • lix-open-cache — standalone caching library, works independently with just Redis. No server needed. Only depends on redis, numpy, loguru.
  • LixSearch Docker — the full search engine. Run docker compose --env-file .env.local up and get a working API.

⚙️ How It Works

When you ask OreoLook a question, here's what happens behind the scenes:

  1. You Ask - Type your question naturally, like you're talking to a friend
  2. We Understand - OreoLook breaks down your question into its key parts
  3. We Search - Multiple search agents fan out across the web, YouTube, and images simultaneously
  4. We Read - Automatically extract the important information from articles and videos
  5. We Synthesize - An AI reads through everything and writes a clear, concise answer
  6. You Get Results - A beautifully formatted answer with clickable sources and relevant images
image

🌍 Real-World Use Cases

  • Any NLP based model that has the ability to perform tools / function calling can use this
  • Completely self hosted, so you can run it on your own infrastructure and customize it to your needs on CPU
  • Can surf youtube / web_images / indexed web pages to find information and synthesize it into a single answer
  • Can be used as a backend for any search engine, chatbot, or assistant that needs to
    • Search the web for information
    • Find relevant videos and images
    • Synthesize information into a clear answer
    • Provide sources for all information
  • Can be modified into single endpoints for specific use cases like:
    • Product search with reviews and images
    • Recipe search with videos and photos
    • News search with original sources and summaries
    • Location search with details, reviews, and photos

🛠️ How The System Design HLD

flowchart TD
    A["🔍 You Ask a Question"] --> B["🧠 Query Analysis & Understanding"]
    B --> C{"Cache Hit?"}
    C -- "Yes (cosine > 0.90)" --> J["⚡ Instant Cached Answer"]
    C -- "No" --> D["🔀 Tool Router"]

    D --> E["🌐 Web Search\n(Playwright Agents)"]
    D --> F["🎬 YouTube Search\n(Metadata + Transcripts)"]
    D --> G["🖼️ Image Search"]
    D --> H["📄 Page Fetch\n(Full Text Extraction)"]

    E --> I["📚 RAG Context Assembly\nChunk → Embed → Vector Search"]
    F --> I
    G --> I
    H --> I

    I --> K{"Need More Info?"}
    K -- "Yes (max 3 loops)" --> D
    K -- "No" --> L["🤖 LLM Synthesis\n(Conversation History + RAG + Sources)"]

    L --> M["📡 Stream Response\n(SSE: real-time, word by word)"]
    M --> N["Answer with Sources"]

    M -.-> O[("💾 Save to Cache\n& Session History")]

    style A fill:#4A90D9,stroke:#2C5F8A,color:#fff
    style C fill:#F5A623,stroke:#D4891A,color:#fff
    style J fill:#7ED321,stroke:#5FA318,color:#fff
    style N fill:#7ED321,stroke:#5FA318,color:#000
    style D fill:#9B59B6,stroke:#7D3C98,color:#fff
    style L fill:#E74C3C,stroke:#C0392B,color:#fff

Result: Fast, accurate answers you can trust. The Searching Process Explained in Detail


🎁 Core Capabilities

Capability Implementation
Real-time streaming Server-Sent Events (SSE) — tokens stream as they're generated, not buffered
Semantic caching Redis DB0 with cosine similarity (threshold 0.90) — repeat queries resolve in <15ms
Multi-turn memory Two-tier hybrid: Redis hot window (20 msgs) + Huffman-compressed disk archive (30-day TTL)
Dynamic context Token-budget based history injection (6000 tokens) — model gets as much context as it needs
Source attribution Every claim links to the original URL, with full-text extraction and relevance scoring
Deep search mode Decomposes complex queries into sub-queries, runs parallel mini-pipelines, synthesizes a unified answer

📖 API Usage

OreoLook is available through Pollinations.ai and can also be self-hosted.

OreoLook exposes an OpenAI-compatible API. Keep using lixsearch as the model ID for direct and Pollinations-routed requests.

Use through Pollinations

curl https://gen.pollinations.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $POLLINATIONS_API_KEY" \
  -d '{
    "model": "lixsearch",
    "messages": [{"role": "user", "content": "What changed in AI today?"}],
    "stream": true
  }'

Basic search

curl -X POST https://search.elixpo.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{"role": "user", "content": "What is the best way to learn Python?"}],
    "stream": true
  }'

Multi-turn conversation

curl -X POST https://search.elixpo.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [
      {"role": "user", "content": "What is the best way to learn Python?"},
      {"role": "assistant", "content": "Here are the top approaches..."},
      {"role": "user", "content": "What about free resources specifically?"}
    ],
    "stream": true
  }'

The full conversation history is injected into the model context — no session ID management needed.

Non-streaming (JSON response)

curl -X POST https://search.elixpo.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "messages": [{"role": "user", "content": "Latest breakthroughs in AI"}],
    "stream": false
  }'

Returns a standard chat.completion object with usage (prompt/completion tokens) and choices[0].message.content.

Available endpoints

Endpoint Method Description
/v1/chat/completions POST OpenAI-compatible chat completions (stream + non-stream)
/v1/models GET List available models
/api/search POST/GET Legacy search endpoint (SSE)
/api/stats GET Redis memory, disk archive stats, session counts
/api/health GET Health check
/mcp POST/GET/DELETE Stateless Streamable HTTP MCP: research, deep research, PDF export
/docs GET Interactive API documentation (Scalar UI)

MCP setup, authentication, tools, and limits are documented in docs/MCP.md.



Star History Chart

❓ Why Use lixSearch?

vs. Regular Search Engines

  • Better Understanding - Grasps what you really want, not just keyword matching
  • Saves Time - One coherent answer instead of browsing 10 blue links
  • Context Aware - Remembers what you were just talking about
  • Multimedia - Automatically finds videos, images, and articles

vs. ChatGPT

  • Real-Time Info - Connected to the web, not using outdated training data
  • Verified Sources - Every fact links to where it came from
  • Fresher Results - Gets today's news, not last year's knowledge
  • Faster - Streamed results, not waiting for a complete response

👥 Perfect For

  • Students - Research papers, homework, learning topics
  • Professionals - Market research, industry updates, competitor analysis
  • Home Improvement - DIY guides, product reviews, how-to videos
  • Travelers - Travel planning, local info, reviews
  • Researchers - Deep dives with cited sources
  • News Junkies - Latest updates with original sources

Each will give you a complete, sourced answer.

Sample Results

Request Flow

This is the flow of the request that we have from the CF Reverse proxy

Browser → search.elixpo.com (Cloudflare Pages, edge)
           ↓
         Next.js API route (e.g. /api/search/route.ts)
           ↓
         backendUrl("/api/search") → "http://search.elixpo.com/api/search"
           ↓
         fetch() with headers:
           X-API-Key: <API_KEY secret>           ← nginx auth on :10001
           X-Internal-Key: <INTERNAL_API_KEY>    ← app-level auth
           ↓
         Your droplet :10001 (nginx) → :9002 (app)

❔ FAQ

How is this different from Google? Google gives you links. lixSearch gives you answers. We do the searching for you and synthesize a coherent response.

Is my search history private?
Your privacy is important. [Link to privacy policy]

Can I use this offline? lixSearch needs internet to search the web, but works faster when utilizing local cache.

Why are my results sometimes general? Ask more specifically! "Vegan chocolate chip cookies" gives better results than "recipes."


🤝 Get Involved

Found a bug? Have ideas for improvement? Contribute on GitHub | Report Issues


📧 Contact & Support

Questions? Feedback? Suggestions?


Happy Searching!

lixSearch - Search smarter, not harder. Made with ❤️ by Elixpo

from github.com/pollinations/search.elixpo

Установка Search.elixpo

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/pollinations/search.elixpo

FAQ

Search.elixpo MCP бесплатный?

Да, Search.elixpo MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Search.elixpo?

Нет, Search.elixpo работает без API-ключей и переменных окружения.

Search.elixpo — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Search.elixpo в Claude Desktop, Claude Code или Cursor?

Открой Search.elixpo на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

wenb1n-dev/SmartDB_MCP

A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim

wenb1n-devавтор: wenb1n-dev

Postgres Server

This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools

madhurprashавтор: madhurprash

Postgres

Query your database in natural language

Anthropicавтор: Anthropic

PostgreSQL

Read-only database access with schema inspection.

modelcontextprotocolавтор: modelcontextprotocol

Redis

Interact with Redis key-value stores.

modelcontextprotocolавтор: modelcontextprotocol

SQLite

Database interaction and business intelligence capabilities.

modelcontextprotocolавтор: modelcontextprotocol

mxcp

Open-source framework for building enterprise-grade MCP servers using just YAML, SQL, and Python, with built-in auth, monitoring, ETL and policy enforcement.

raw-labsавтор: raw-labs

tadas-github/a2asearch-mcp

MCP server to search 4,800+ MCP servers, AI agents, CLI tools and agent skills. Install: npx -y a2asearch-mcp. Ask Claude: "Find MCP servers for database access

tadas-githubавтор: tadas-github

julien040/anyquery

Query more than 40 apps with one binary using SQL. It can also connect to your PostgreSQL, MySQL, or SQLite compatible database. Local-first and private by desi

julien040автор: julien040

drakonkat/wizzy-mcp-tmdb

A MCP server for The Movie Database API that enables AI assistants to search and retrieve movie, TV show, and person information.

drakonkatавтор: drakonkat

Compare Search.elixpo with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории data