{"id":13457204,"url":"https://github.com/felladrin/MiniSearch","last_synced_at":"2025-03-24T12:30:59.676Z","repository":{"id":200221746,"uuid":"704892113","full_name":"felladrin/MiniSearch","owner":"felladrin","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","archived":false,"fork":false,"pushed_at":"2025-03-18T22:32:04.000Z","size":28660,"stargazers_count":373,"open_issues_count":0,"forks_count":41,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-19T02:45:07.491Z","etag":null,"topics":["ai","ai-search-engine","artificial-intelligence","generative-ai","gpu-accelerated","information-retrieval","llm","llm-inference","metasearch","metasearch-engine","perplexity","perplexity-ai","question-answering","rag","retrieval-augmented-generation","searxng","web-llm","web-search","webapp","wllama"],"latest_commit_sha":null,"homepage":"https://felladrin-minisearch.hf.space","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/felladrin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-14T12:23:56.000Z","updated_at":"2025-03-18T22:32:07.000Z","dependencies_parsed_at":"2024-03-16T21:29:28.909Z","dependency_job_id":"e064daac-5bb4-4846-ab1a-946a8633c353","html_url":"https://github.com/felladrin/MiniSearch","commit_stats":null,"previous_names":["felladrin/minisearch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felladrin%2FMiniSearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felladrin%2FMiniSearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felladrin%2FMiniSearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felladrin%2FMiniSearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felladrin","download_url":"https://codeload.github.com/felladrin/MiniSearch/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245269754,"owners_count":20587839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-search-engine","artificial-intelligence","generative-ai","gpu-accelerated","information-retrieval","llm","llm-inference","metasearch","metasearch-engine","perplexity","perplexity-ai","question-answering","rag","retrieval-augmented-generation","searxng","web-llm","web-search","webapp","wllama"],"created_at":"2024-07-31T08:01:35.684Z","updated_at":"2025-03-24T12:30:59.666Z","avatar_url":"https://github.com/felladrin.png","language":"TypeScript","funding_links":[],"categories":["A01_文本生成_文本对话","TypeScript"],"sub_categories":["大语言对话模型及数据"],"readme":"# MiniSearch\n\nA minimalist web-searching app with an AI assistant that runs directly from your browser.\n\nLive demo: https://felladrin-minisearch.hf.space\n\n## Screenshot\n\n![MiniSearch Screenshot](https://github.com/user-attachments/assets/f8d72a8e-a725-42e9-9358-e6ebade2acb2)\n\n## Features\n\n- **Privacy-focused**: [No tracking, no ads, no data collection](https://docs.searxng.org/own-instance.html#how-does-searxng-protect-privacy)\n- **Easy to use**: Minimalist yet intuitive interface for all users\n- **Cross-platform**: Models run inside the browser, both on desktop and mobile\n- **Integrated**: Search from the browser address bar by setting it as the default search engine\n- **Efficient**: Models are loaded and cached only when needed\n- **Customizable**: Tweakable settings for search results and text generation\n- **Open-source**: [The code is available for inspection and contribution at GitHub](https://github.com/felladrin/MiniSearch)\n\n## Prerequisites\n\n- [Docker](https://docs.docker.com/get-docker/)\n\n## Getting started\n\nHere are the easiest ways to get started with MiniSearch. Pick the one that suits you best.\n\n**Option 1** - Use [MiniSearch's Docker Image](https://github.com/felladrin/MiniSearch/pkgs/container/minisearch) by running in your terminal:\n\n```bash\ndocker run -p 7860:7860 ghcr.io/felladrin/minisearch:main\n```\n\n**Option 2** - Add MiniSearch's Docker Image to your existing Docker Compose file:\n\n```yaml\nservices:\n  minisearch:\n    image: ghcr.io/felladrin/minisearch:main\n    ports:\n      - \"7860:7860\"\n```\n\n**Option 3** - Build from source by [downloading the repository files](https://github.com/felladrin/MiniSearch/archive/refs/heads/main.zip) and running:\n\n```bash\ndocker compose -f docker-compose.production.yml up --build\n```\n\nOnce the container is running, open http://localhost:7860 in your browser and start searching!\n\n## Frequently asked questions\n\n\u003cdetails\u003e\n  \u003csummary\u003eHow do I search via the browser's address bar?\u003c/summary\u003e\n  \u003cp\u003e\n    You can set MiniSearch as your browser's address-bar search engine using the pattern \u003ccode\u003ehttp://localhost:7860/?q=%s\u003c/code\u003e, in which your search term replaces \u003ccode\u003e%s\u003c/code\u003e.\n  \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eHow do I search via Raycast?\u003c/summary\u003e\n  \u003cp\u003e\n    You can add \u003ca href=\"https://ray.so/quicklinks/shared?quicklinks=%7B%22link%22:%22https:%5C/%5C/felladrin-minisearch.hf.space%5C/?q%3D%7BQuery%7D%22,%22name%22:%22MiniSearch%22%7D\" target=\"_blank\"\u003ethis Quicklink\u003c/a\u003e to Raycast, so typing your query will open MiniSearch with the search results. You can also edit it to point to your own domain.\n  \u003c/p\u003e\n  \u003cimg width=\"744\" alt=\"image\" src=\"https://github.com/user-attachments/assets/521dca22-c77b-42de-8cc8-9feb06f9a97e\"\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eCan I use custom models via OpenAI-Compatible API?\u003c/summary\u003e\n  \u003cp\u003e\n    Yes! For this, open the Menu and change the \"AI Processing Location\" to \u003ccode\u003eRemote server (API)\u003c/code\u003e. Then configure the Base URL, and optionally set an API Key and a Model to use.\n  \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eHow do I restrict the access to my MiniSearch instance via password?\u003c/summary\u003e\n  \u003cp\u003e\n    Create a \u003ccode\u003e.env\u003c/code\u003e file and set a value for \u003ccode\u003eACCESS_KEYS\u003c/code\u003e. Then reset the MiniSearch docker container.\n  \u003c/p\u003e\n  \u003cp\u003e\n    For example, if you to set the password to \u003ccode\u003ePepperoniPizza\u003c/code\u003e, then this is what you should add to your \u003ccode\u003e.env\u003c/code\u003e:\u003cbr/\u003e\n    \u003ccode\u003eACCESS_KEYS=\"PepperoniPizza\"\u003c/code\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    You can find more examples in the \u003ccode\u003e.env.example\u003c/code\u003e file.\n  \u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eI 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?\u003c/summary\u003e\n  \u003cp\u003eYes! In MiniSearch, we call this text-generation feature \"Internal OpenAI-Compatible API\". To use this it:\u003c/p\u003e\n  \u003col\u003e\n    \u003cli\u003eSet up your OpenAI-Compatible API endpoint by configuring the following environment variables in your \u003ccode\u003e.env\u003c/code\u003e file:\n      \u003cul\u003e\n        \u003cli\u003e\u003ccode\u003eINTERNAL_OPENAI_COMPATIBLE_API_BASE_URL\u003c/code\u003e: The base URL for your API\u003c/li\u003e\n        \u003cli\u003e\u003ccode\u003eINTERNAL_OPENAI_COMPATIBLE_API_KEY\u003c/code\u003e: Your API access key\u003c/li\u003e\n        \u003cli\u003e\u003ccode\u003eINTERNAL_OPENAI_COMPATIBLE_API_MODEL\u003c/code\u003e: The model to use\u003c/li\u003e\n        \u003cli\u003e\u003ccode\u003eINTERNAL_OPENAI_COMPATIBLE_API_NAME\u003c/code\u003e: The name to display in the UI\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003eRestart MiniSearch server.\u003c/li\u003e\n    \u003cli\u003eIn the MiniSearch menu, select the new option (named as per your \u003ccode\u003eINTERNAL_OPENAI_COMPATIBLE_API_NAME\u003c/code\u003e setting) from the \"AI Processing Location\" dropdown.\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eHow can I contribute to the development of this tool?\u003c/summary\u003e\n  \u003cp\u003eFork this repository and clone it. Then, start the development server by running the following command:\u003c/p\u003e\n  \u003cp\u003e\u003ccode\u003edocker compose up\u003c/code\u003e\u003c/p\u003e\n  \u003cp\u003eMake your changes, push them to your fork, and open a pull request! All contributions are welcome!\u003c/p\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eWhy is MiniSearch built upon SearXNG's Docker Image and using a single image instead of composing it from multiple services?\u003c/summary\u003e\n  \u003cp\u003eThere are a few reasons for this:\u003c/p\u003e\n  \u003cul\u003e\n    \u003cli\u003eMiniSearch utilizes SearXNG as its meta-search engine.\u003c/li\u003e\n    \u003cli\u003eManual installation of SearXNG is not trivial, so we use the docker image they provide, which has everything set up.\u003c/li\u003e\n    \u003cli\u003eSearXNG only provides a Docker Image based on Alpine Linux.\u003c/li\u003e\n    \u003cli\u003eThe user of the image needs to be customized in a specific way to run on HuggingFace Spaces, where MiniSearch's demo runs.\u003c/li\u003e\n    \u003cli\u003eHuggingFace only accepts a single docker image. It doesn't run docker compose or multiple images, unfortunately.\u003c/li\u003e\n  \u003c/ul\u003e\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelladrin%2FMiniSearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelladrin%2FMiniSearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelladrin%2FMiniSearch/lists"}