asciimoo/hister

Your own search engine

Hister – Your Personal, Private Search Engine

What it is

  • A self‑hosted search engine that indexes the full text of web pages you visit and any local files you add. It runs as a small server you control, with no required cloud component.

How it works

  1. Install a single binary (or use Homebrew, Docker, Nix).
  2. Run hister listen to start the server.
  3. Add the browser extension (Firefox/Chrome) – every page you browse is sent to the server and stored in a full‑text index.
  4. Search via a web UI, a terminal UI, the command line, or an AI‑assistant client (MCP).
  5. Optional: configure an embeddings endpoint to enable semantic (meaning‑based) search.

Key features

  • Privacy‑first – no telemetry, no mandatory cloud sync; data stays on the server you run.
  • Full‑text indexing of visited pages and local documents (folders, bookmarks, history, files).
  • Powerful query language – field filters, phrases, wildcards, negation, aliases, result weighting.
  • Automatic browser indexing via official extensions.
  • Multi‑user support – separate indexes per user on a shared server.
  • Multiple clients – web UI, TUI/terminal, CLI, and MCP‑compatible AI assistant.
  • Optional semantic search using your own embeddings service.

Who might use it

  • Knowledge workers who want a personal “Google‑like” search over their own browsing history and documents.
  • Teams that need a shared, self‑hosted search hub without exposing data to third‑party services.
  • Privacy‑conscious users who prefer local control over their search index.

Getting started

  • Download the latest binary from the GitHub releases page, make it executable, and run ./hister listen.
  • Open http://127.0.0.1:4433 in a browser, install the extension, and start indexing.
  • Import existing browser history/bookmarks or index local directories via the provided configuration options.

Tech stack

  • Backend written in Go 1.26 (uses CGO for some dependencies).
  • Front‑end built with Vite (JavaScript/TypeScript) and served by the Go server.
  • Development workflow uses npm for the UI and air for live Go recompilation.

Community & contribution

  • Chat on IRC (#hister on IRCNet) and Discord.
  • Contribute via pull requests; see CONTRIBUTING.md for guidelines.
  • Issues and security reports are tracked on GitHub.

License

  • AGPL‑v3 (or later), ensuring that any public deployment must share source changes.

Hister gives you a Google‑style search experience over your data, keeping everything under your own control.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project