Hister: Self-Hosted Search Engine for Your Own Pages
GitHub Repo
AGPL-3.0
October 2, 2026 at 09:19 AM
0 views

Hister: Self-Hosted Search Engine for Your Own Pages

@asciimooProject Author

What Hister is

Hister is a private, self-hosted search engine for the pages you visit and the files you keep. Instead of indexing the public web, it builds a personal index from content you choose: web pages captured by a browser extension as you browse, imported browser history and bookmarks, local directories, and sites you crawl. It indexes their full contents rather than just titles and URLs, so you can find something you read weeks ago by a phrase you remember from the body text.

The project's tagline is simply “your own search engine.” Its documentation is careful about scope: Hister searches your own collection; it is not a general web search engine, a managed cloud service, an automatic cloud sync system, or a records management system. You run the server and decide how its data is secured and retained. The docs describe the audience as anyone who wants to build a searchable knowledge base from information they consider relevant, which in practice means researchers, developers and heavy readers who keep losing track of pages they have already seen.

How Hister works

Hister uses a client and server architecture. The server stores documents and runs searches; clients collect content or issue queries. A single hister binary can act as both, while the Firefox and Chrome browser extensions are clients only. Everything can run on one machine, or several clients can point at one shared server.

Content reaches the server through several paths, according to the docs:

  • Browser extension: captures pages as rendered in your browser while you visit them, so the indexed text matches what you actually saw.
  • History and bookmark import: reads URLs from your existing browser history or bookmarks and fetches their current contents.
  • Watched local directories: indexes files on disk.
  • Crawlers: index websites you point them at.
  • API clients: push documents from your own tooling.

Searches run from the web interface, a terminal UI, the command line, the API, or an AI assistant connected through the Model Context Protocol (MCP). Optional semantic search adds meaning-based retrieval by calling an embeddings endpoint that you configure. On a shared server, multi-user support keeps each user's documents and results separate.

Key features

  • Privacy focused: no telemetry and no mandatory cloud service; run it locally or on infrastructure you control.
  • Full-text indexing: search the actual contents of visited pages and local files.
  • Automatic browser indexing: the Firefox or Chrome extension saves newly visited pages to your server.
  • Query syntax: field filters, phrases, wildcards, negation, aliases and result priorities.
  • Optional semantic search: find documents by meaning through a configurable embeddings endpoint.
  • Crawler and import tools: index websites or bring in existing browser history and bookmarks.
  • Multiple clients: web UI, TUI, CLI and MCP for AI assistants.
  • Multi-user support: separate document sets and results per user on a shared server.

Getting started with Hister

The quickstart in the README uses a prebuilt binary. Download the file for your platform from the latest GitHub release and rename it to hister (hister.exe on Windows). On Linux or macOS, make it executable:

chmod +x hister

Then start the server:

./hister listen

On Windows, run .\hister.exe listen in PowerShell. The terminal needs to stay open, since the server must be running to index and search pages. Open http://127.0.0.1:4433, install the Firefox or Chrome extension, visit a page with the extension enabled, and search for a phrase from it to see your first result.

The README says no configuration is required for a local personal setup. Homebrew users can install with brew install hister, and Docker and Nix installs are covered in the installation guide. To work on Hister itself, you need Go 1.26, npm and a C compiler for CGO dependencies:

git clone https://github.com/asciimoo/hister.git
cd hister
./manage.sh build

For web app development with hot reload and automatic Go rebuilds:

npm run serve:app

Use cases

  • Finding something you already read: recover an article, documentation page or forum answer by a phrase from its body, even when you never bookmarked it.
  • Searching existing history: import years of browser history and bookmarks so the index starts useful on day one.
  • Personal knowledge base: combine web pages, local notes and documents, and crawled reference sites into one searchable collection.
  • Giving an AI assistant your context: connect an assistant over MCP so it can search the material you have actually read rather than the open web.
  • Small team or household server: run one server with multi-user support and point several people's extensions at it, with separate result sets.

How Hister compares

The README contrasts Hister with traditional search engines: rather than relying on a third-party provider's index of the public web, it builds a personal index from content you chose to keep, and that content stays on your server. It complements a regular search engine rather than replacing it.

Against the history search built into browsers, the practical difference is full-text indexing of page contents, a query language with filters and negation, and a single index that also covers local files and crawled sites. Against bookmark managers or read-later services, Hister indexes everything you visit automatically through the extension, not only what you explicitly save, and it is self-hosted rather than a hosted account.

Things to know before adopting Hister

  • AGPL license: Hister is released under the AGPLv3 or any later version. If you modify it and let others use it over a network, the AGPL requires offering them the corresponding source. Personal or internal use of an unmodified build is unaffected in practice.
  • You operate the server: indexed data is stored on the server you choose and is not encrypted by Hister. The docs recommend disk encryption where needed and HTTPS when clients connect across an untrusted network, and suggest reviewing the server setup guide before exposing it to a network.
  • No automatic retention limits: documents have no automatic expiry or total storage quota, so plan retention and backups yourself.
  • What leaves your machine: by default the extension sends page content only to your configured Hister server, apart from downloading favicons. Enabling semantic search sends document text to the embeddings endpoint you choose, so pick a local endpoint if that matters.
  • Server must be running: pages visited while the server is down are not indexed by the extension.
  • Young project: the repository was created in January 2026. There is a public demo at demo.hister.org for trying it before installing.

Project activity

As of October 2026 the asciimoo/hister repository has roughly 5,800 stars. It was created on January 4, 2026, is written in Go, and is licensed under AGPL-3.0 (the README specifies AGPLv3 or any later version). Documentation, the quickstart and the installation guide are at hister.org. The community gathers in #hister on IRCNet and on Discord.

Enjoying this project?

Discover more amazing open-source projects on TechLogHub. We curate the best developer tools and projects.

Project
hister
Created
October 2
Last Updated
October 2, 2026 at 09:19 AM

Find more projects like this

One email a week: new and trending developer tools, fresh comparisons, and what shipped. Unsubscribe in one click.