hister
🔍 Hister: Your Personal Search Engine
Hister is a privacy-centric search tool designed to index the specific web pages you visit and the local files you maintain. Instead of relying on external providers, it creates a full-text index of your own data, making it instantly retrievable via a web interface, a terminal, or an AI assistant using the Model Context Protocol (MCP).
🚀 Getting Started
To get Hister up and running, follow these steps:
- Acquire the Binary: Download the version compatible with your OS from the latest releases.
- Rename: Change the filename to
hister(orhister.exefor Windows users). - Set Permissions (Linux/macOS only):
chmod +x hister - Launch:
- Linux/macOS:
./hister listen - Windows (PowerShell):
.\hister.exe listen
- Linux/macOS:
- Configure Browser: Navigate to
http://127.0.0.1:4433and install the extension for Chrome or Firefox.
Once the extension is active, simply browse the web. When you return to Hister and search for a phrase from those pages, your first results will appear.
Pro Tip: You can expand your index by importing browser history, adding local directories, or uploading specific files.
🛠 Alternative Installation Paths
| Method | Command / Source |
|---|---|
| Homebrew | brew install hister |
| Docker | Use the provided compose.yml or Dockerfile |
| Nix | Available via flake.nix |
🌟 Key Features
Hister is built for power users who value their data. Forget about cloud-based tracking—everything stays under your control.
- Privacy-First Architecture: Zero telemetry and no mandatory cloud dependencies.
- Deep Indexing: It performs full-text indexing; it doesn't just look at URLs or page titles.
- Seamless Integration: The browser extensions automatically save pages as you surf.
- Advanced Query Language:
- Field filters & Phrases
- Wildcards & Negation
- Aliases & Result Prioritization
- Semantic Search (Optional): Integrate your own embeddings endpoint to find documents based on meaning rather than just keywords.
- Versatile Clients: Access your data via:
- Web Browser
- Terminal (TUI/CLI)
- AI Assistants (via MCP)
- Multi-Tenancy: Supports multiple users, ensuring that documents and search results remain isolated on shared servers.
🛡 Privacy & Logic
Hister operates on a simple premise: your data belongs to you.
- Data Flow: The browser extension transmits page content only to your designated Hister server (except for favicons).
- Storage: All indexes and documents are stored locally on your server.
- External APIs: Semantic search is the only feature that sends text externally, and only to an endpoint you configure.
The Search Logic
Mathematically, Hister treats your personal knowledge base as a union of sets: The engine then applies a weighted retrieval function to return the most relevant results based on your query parameters.
System Architecture
💻 Development
If you wish to contribute or build from source, ensure you have Go 1.26, npm, and a C compiler (for CGO).
Build Process
# Clone the repository
git clone https://github.com/asciimoo/hister.git
cd hister
# Build the project
./manage.sh build
Development Mode
To enable hot-reloading for the web application and automatic Go backend rebuilds, use:
npm run serve:app
This utilizes a Vite development server and air for the backend.
🤝 Community & Legal
- Connect: Find the community on Discord or IRCNet in the
#histerchannel. - License: This project is licensed under the AGPLv3 or any later version.
- Resources:
Topics: #golang #privacy #personal-search #mcp-server #semantic-search #indexing