Vanish-risk mirror of asciimoo/hister (AGPLv3) https://hister.org/
  • Go 74.1%
  • Svelte 15.2%
  • TypeScript 8.8%
  • JavaScript 0.8%
  • CSS 0.4%
  • Other 0.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-12 11:29:27 +01:00
.forgejo/workflows [fix] provide nixpkgs search path to updater 2026-09-03 00:45:00 +03:00
.github Bump the gha-deps group with 3 updates 2026-11-09 12:55:58 +00:00
assets [enh] add svg logo 2026-10-15 11:14:08 +02:00
client [enh] add retained data purge command 2026-10-28 22:14:32 +01:00
cmd [enh] add RSS and Atom feed imports by URL - closes #716 2026-11-10 00:15:58 +01:00
config [enh] add web hotkey editing to settings 2026-11-11 09:21:19 +01:00
contrib/systemd Merge pull request 'systemd: Fix removing privileged syscalls from service' (#41) from ISSOtm/hister:syscall-filter into master 2026-09-09 09:06:05 +02:00
files [enh] add indexer and watched directory settings 2026-11-07 18:14:07 +01:00
logging [fix] handle directory watch events & windows test assumptions 2026-11-01 21:19:02 +01:00
nix [chore] update Nix hashes for Go/NPM changes 2026-11-10 12:04:49 +00:00
scripts [enh] replace qutebrowser userscript with DevTools companion 2026-07-24 10:34:09 +02:00
server Merge pull request #893 from BarryThePenguin/enhancement/mcp-contract-tests 2026-11-12 11:29:27 +01:00
webui [fix] warn about missing recovery administrators without blocking startup 2026-11-12 08:38:19 +01:00
.dockerignore [mod] optimize container builds 2026-08-15 19:30:00 +03:00
.editorconfig [enh] add Prettier and EditorConfig across all workspaces 2026-03-06 15:21:08 +02:00
.fallowrc.json [enh] replace qutebrowser userscript with DevTools companion 2026-07-24 10:34:09 +02:00
.gitattributes [fix] exclude vendor files from language stats 2026-04-20 12:19:25 +02:00
.gitignore [chore] ignore local compose override 2026-11-07 12:18:16 +01:00
.golangci.toml [ci] add PR lint workflow for Go, NPM format, and no merge commits 2026-03-12 18:22:11 +02:00
.goreleaser-rolling.yml [enh] strip debug symbols from release binary 2026-03-19 20:50:27 +02:00
.goreleaser.yml [enh] strip debug symbols from release binary 2026-03-19 20:50:27 +02:00
.prettierignore [enh] replace qutebrowser userscript with DevTools companion 2026-07-24 10:34:09 +02:00
CHANGELOG.md [enh] release v0.21.0 2026-10-27 10:04:53 +01:00
compose.yml [mod] optimize container builds 2026-08-15 19:30:00 +03:00
CONTRIBUTING.md [doc] add contribution guidelines 2026-03-20 13:08:00 +01:00
docker-bake.hcl [mod] optimize container builds 2026-08-15 19:30:00 +03:00
Dockerfile Merge pull request #881 from asciimoo/dependabot/docker/golang-fa3d596 2026-11-09 15:54:08 +01:00
flake.lock Bump the nix-deps group with 2 updates 2026-11-09 12:55:04 +00:00
flake.nix nix: drop x86_64-darwin for 26.11 2026-08-28 19:20:00 +03:00
generate.go feat: migrate to npm workspaces for manging frontend 2026-02-25 21:02:22 +02:00
go.mod [chore] compare schema snapshots 2026-11-12 16:05:20 +11:00
go.sum [enh] add modelcontextprotocol/go-sdk and migration 2026-11-10 13:55:49 +11:00
hister.go [enh] standardize error handling 2026-09-06 10:42:55 +02:00
LICENSE [enh] initial commit 2026-01-04 11:32:28 +01:00
manage.sh [fix] remove line ending spaces 2026-08-15 15:23:01 +02:00
package-lock.json Bump the npm-deps group with 10 updates 2026-11-09 12:56:02 +00:00
package.json Bump the npm-deps group with 10 updates 2026-11-09 12:56:02 +00:00
prettier.config.js [enh] add trailingComma option to js formatter config 2026-03-06 14:53:30 +01:00
README.md [doc] add support links 2026-10-13 16:31:23 +02:00
SECURITY.md [doc] add contribution guidelines 2026-03-20 13:08:00 +01:00

Hister

Your own search engine

Hister is a private search engine for the pages you visit and the files you keep. It indexes their full contents so you can find information again from the web interface, terminal, or an AI assistant connected through MCP.

Try the demo · Download Hister · Read the quickstart · Documentation · Support the development

Hister web interface

Quickstart

  1. Download the binary for your platform from the latest release, then rename it to hister (hister.exe on Windows).

  2. On Linux or macOS, make it executable:

    chmod +x hister
    
  3. Start Hister on Linux or macOS:

    ./hister listen
    

    On Windows, run .\hister.exe listen in PowerShell.

    Keep this terminal open while using Hister. The server must be running to index pages and search them.

  4. Open http://127.0.0.1:4433 and install the browser extension for Firefox or Chrome.

  5. Visit a web page with the extension enabled, then return to Hister and search for a phrase from that page to find your first indexed result.

No configuration is required for a local personal setup. See the complete quickstart to choose what Hister indexes.

To search existing content, import browser history, import browser bookmarks, index local directories, or import files.

Alternative installation methods include Homebrew (brew install hister), Docker, and Nix. See the installation guide for instructions.

Features

  • Privacy focused: No telemetry or mandatory cloud service. Run Hister locally or on infrastructure you control.
  • Full text indexing: Search the actual contents of visited pages and local files, not only titles and URLs.
  • Automatic browser indexing: Save newly visited pages with the Firefox or Chrome extension.
  • Powerful queries: Use field filters, phrases, wildcards, negation, aliases, and result priorities.
  • Optional semantic search: Find documents by meaning through an embeddings endpoint you configure.
  • Crawler and browser import: Index websites or bring in existing browser history and bookmarks.
  • Web, terminal, and MCP clients: Search from the browser, TUI, command line, or an AI assistant.
  • Multi user support: Keep each user's documents and search results separate on a shared server.

Hister terminal interface

Privacy

By default, Hister has no telemetry and no cloud sync. The browser extension sends indexed page content only to the Hister server you configure, apart from downloading page favicons. The server stores documents and search indexes on that server.

Optional semantic search sends document text to the embeddings endpoint you choose. Review the privacy overview and semantic search configuration before enabling remote integrations.

Why Hister?

Unlike traditional search engines, Hister builds a personal search index from the web pages and files you choose to keep. Your content stays on your Hister server, making it useful for finding information you've already encountered without relying on a third-party search provider.

Development

Requirements are Go 1.26, npm, and a C compiler for CGO dependencies.

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

To work on the web app with hot reload and automatic Go rebuilds:

npm run serve:app

This starts a Vite development server and the Go backend with automatic rebuilds through air.

Community and contributing

Join us on IRCNet in #hister or on Discord.

Read CONTRIBUTING.md before submitting a change. Bugs and suggestions belong in the issue tracker. For security reports, see SECURITY.md.

Sponsors

Uruky

License

AGPLv3 or any later version