freshcrate
Skin:/
Home > AI Agents > MiniSearch

MiniSearch

Minimalist web-searching platform with an AI assistant that runs directly from your browser. Uses WebLLM, Wllama and SearXNG. Demo: https://felladrin-minisearch.hf.space

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Minimalist web-searching platform with an AI assistant that runs directly from your browser. Uses WebLLM, Wllama and SearXNG. Demo: https://felladrin-minisearch.hf.space

README

MiniSearch

A minimalist web-searching app with an AI assistant that runs directly from your browser.

Live demo: https://felladrin-minisearch.hf.space

Screenshot

MiniSearch Screenshot

Features

Prerequisites

Getting started

Here are the easiest ways to get started with MiniSearch. Pick the one that suits you best.

Option 1 - Use MiniSearch's Docker Image by running in your terminal:

docker run -p 7860:7860 ghcr.io/felladrin/minisearch:main

Option 2 - Add MiniSearch's Docker Image to your existing Docker Compose file:

services:
  minisearch:
    image: ghcr.io/felladrin/minisearch:main
    ports:
      - "7860:7860"

Option 3 - Build from source by downloading the repository files and running:

docker compose -f docker-compose.production.yml up --build

Once the container is running, open http://localhost:7860 in your browser and start searching!

Frequently asked questions Ask DeepWiki

How do I search via the browser's address bar?

You can set MiniSearch as your browser's address-bar search engine using the pattern http://localhost:7860/?q=%s, in which your search term replaces %s.

How do I search via Raycast?

You can add this Quicklink to Raycast, so typing your query will open MiniSearch with the search results. You can also edit it to point to your own domain.

image
Can I use custom models via OpenAI-Compatible API?

Yes! For this, open the Menu and change the "AI Processing Location" to Remote server (API). Then configure the Base URL, and optionally set an API Key and a Model to use.

How do I restrict the access to my MiniSearch instance via password?

Create a .env file and set a value for ACCESS_KEYS. Then reset the MiniSearch docker container.

For example, if you to set the password to PepperoniPizza, then this is what you should add to your .env:
ACCESS_KEYS="PepperoniPizza"

You can find more examples in the .env.example file.

I want to serve MiniSearch to other users, allowing them to use my own OpenAI-Compatible API key, but without revealing it to them. Is it possible?

Yes! In MiniSearch, we call this text-generation feature "Internal OpenAI-Compatible API". To use this it:

  1. Set up your OpenAI-Compatible API endpoint by configuring the following environment variables in your .env file:
    • INTERNAL_OPENAI_COMPATIBLE_API_BASE_URL: The base URL for your API
    • INTERNAL_OPENAI_COMPATIBLE_API_KEY: Your API access key
    • INTERNAL_OPENAI_COMPATIBLE_API_MODEL: The model to use
    • INTERNAL_OPENAI_COMPATIBLE_API_NAME: The name to display in the UI
  2. Restart MiniSearch server.
  3. In the MiniSearch menu, select the new option (named as per your INTERNAL_OPENAI_COMPATIBLE_API_NAME setting) from the "AI Processing Location" dropdown.
How can I contribute to the development of this tool?

We welcome contributions! Please read our Contributing Guidelines for detailed information on how to get started.

Quick start:

  1. Fork this repository and clone it
  2. Start the development server: docker compose up
  3. Make your changes and test them
  4. Push to your fork and open a pull request

All contributions are welcome! 🎉

Where can I find more information?

Release History

VersionChangesUrgencyDate
2026.10.20Release 2026.10.20. See [changelog.md](https://github.com/felladrin/MiniSearch/blob/2026.10.20/changelog.md) for notable changes, and the [compare view](https://github.com/felladrin/MiniSearch/compare/2026.10.11...2026.10.20) for the full commit list.High10/20/2026
2026.10.11## 2026-10-10 - The text-search fallback now cascades over Parallel and You.com instead of asking a single provider. On each search the configured providers are tried in a random order, one after the other, until one returns results, under the same 15-second budget, which is split across the providers still untried and not paused so a hanging one cannot starve the rest. A provider that answers HTTP 429 is paused until its `Retry-After` and skipped meanwhile, as You.com's acceptable use policy aHigh10/11/2026
2026.10.8## 2026-10-08 - `/status` now reports `authorization.distinctRejectedTokens`, the number of distinct dead tokens the server has cached and keeps refusing. A steady stream of invalid-token rejections with a value of 1 there is one client replaying one stale token, not many old search links, which the existing counters could not tell apart. - Added an optional second source for text searches, so a SearXNG outage no longer has to end in a 502. It stays off unless `SEARCH_FALLBACK_ENABLED` is `trueHigh10/8/2026
2026.10.7## 2026-10-07 - Security: cleared the flagged copy of `postcss-selector-parser` that lives inside the npm the image ships. npm pins its own dependency tree exactly, so neither `npm install -g npm@latest` nor a dependency bump reaches a bundled copy, and the npm in the image still carried 7.1.4. This was the one of the image's three code scanning findings that no dependency bump could fix. The image's npm-bundle repair now lists that package among its targets, so the build replaces the bundled cHigh10/7/2026
2026.10.6Release 2026.10.6. See [changelog.md](https://github.com/felladrin/MiniSearch/blob/2026.10.6/changelog.md) for notable changes, and the [compare view](https://github.com/felladrin/MiniSearch/compare/2026.10.2...2026.10.6) for the full commit list.High10/6/2026
2026.10.2Release 2026.10.2. See [changelog.md](https://github.com/felladrin/MiniSearch/blob/2026.10.2/changelog.md) for notable changes, and the [compare view](https://github.com/felladrin/MiniSearch/compare/2026.9.23.1...2026.10.2) for the full commit list.High10/2/2026
2026.9.23.1## 2026-09-23 - Moved the Dictate control inside the search field, as an icon button at its right edge, and gave the follow-up question box the same control, so dictating a follow-up no longer means typing it. It shows a microphone when idle, a red stop button while it listens, and the model download progress in its tooltip and its accessible name. Pressing it never takes the focus off the field, so the caret stays where it was and a phone keeps its on-screen keyboard open. In the chat box itHigh9/23/2026
2026.9.23## 2026-09-23 - Moved the bi-encoder's dense passage scoring to a worker thread. `onnxruntime-node` runs inference synchronously on the calling thread, so a scoring pass stopped the server's event loop for its whole duration and nothing else could be served while it ran, including the concurrent /page-content reads that share the model. On a 200-passage pool the worst main-thread stall went from 815 ms to 1.5 ms, and the pass finished in 2.7 s instead of 6.1 s, with the scores byte-identical. AHigh9/23/2026
2026.9.21## 2026-09-21 - Security: cleared every fixable high and critical vulnerability from the Docker image, covering the Debian base packages, npm's bundled dependency tree, SearXNG's vendored Python packages, and build-only dependencies that were shipping in the runtime image. - Answered a rejected or stripped search token with a readable page that links back to the app, when the browser asked for HTML. - Fixed page-content ranking to fuse dense bi-encoder scores with the lexical ranking instead ofHigh9/21/2026
2026.9.16This is the first GitHub Release for MiniSearch. From now on, each release is cut with CalVer: the date of the release (`2026.9.16`), plus a sequence when there is more than one on the same day (`.1`, `.2`, ...). If you are new here: MiniSearch is a self-hosted search engine with an AI assistant that runs entirely in your browser tab. No API key, no tracking, no third party seeing your queries. Web results come from a bundled SearXNG instance, are reranked locally, and everything ships as a sHigh9/16/2026
main@2026-09-16Latest activity on main branchHigh9/16/2026
0.0.0No release found — using repo HEADHigh4/9/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

claude-memA Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future sesv15.1.0
langgraphjsFramework to build resilient language agents as graphs.@langchain/vue@1.2.7
awesome-opensource-aiCurated list of the best truly open-source AI projects, models, tools, and infrastructure.main@2026-10-22
@robota-sdk/agent-coreComplete AI agent implementation with unified core and tools functionality - conversation management, plugin system, and advanced agent featuresv3.0.0-beta.100
PageIndex📑 PageIndex: Document Index for Vectorless, Reasoning-based RAGv0.4.7

More in AI Agents

claude-memA Claude Code plugin that automatically captures everything Claude does during your coding sessions, compresses it with AI (using Claude's agent-sdk), and injects relevant context back into future ses
AIGC-Interview-Book【三年面试五年模拟】AIGC算法工程师面试秘籍。涵盖AIGC、LLM大模型、AI Agent、传统深度学习、自动驾驶、机器学习、计算机视觉、自然语言处理、强化学习、大数据挖掘、具身智能、元宇宙、AGI等AI行业面试笔试干货经验与核心知识。
letta-codeThe memory-first coding agent
nano-banana-pro-prompts-recommend-skillAI skill for OpenClaw & Claude Code — recommend from 10000+ Nano Banana Pro (Gemini) image prompts. Smart search by use case, content remix, sample images.