Как я перестал гуглить то, что уже читал неделю назад
Знакомая ситуация: вы точно помните, что видели отличное решение проблемы на каком-то форуме или в статье пару дней назад, но история браузера превратилась в бесконечную свалку ссылок, а поиск в Google выдает всё что угодно, кроме нужной страницы. Стандартный поиск по истории в Chrome или Firefox работает, мягко говоря, посредственно — он ищет по заголовкам и URL, но почти никогда не заглядывает внутрь самого контента.
Недавно я наткнулся на проект hister. Это попытка создать персональный поисковик, который индексирует всё, что вы посещаете. Идея не новая, но реализация от автора небезызвестного SearX (asciimoo) выглядит как минимум любопытно.
Что это такое
hister — это локальный поисковый движок. Вместо того чтобы полагаться на алгоритмы корпораций, вы строите собственный индекс из тех страниц, которые реально прошли через ваш браузер или локальные файлы. Проект написан на Go, работает быстро и не требует гигантских ресурсов для старта.
Главная фишка здесь в полнотекстовом поиске. Если вы зашли на страницу со сложным конфигом Nginx, hister сохранит текст этой страницы. Через месяц вы введете в поиске специфический параметр из того конфига и найдете ту самую страницу, даже если она уже пропала из закладок.

Что умеет движок
Автор заложил в проект несколько сценариев, которые выходят за рамки простого «поиска по истории».
Индексация на лету
Основной режим работы — автоматическое сохранение контента посещенных сайтов. Это превращает ваш браузер в своего рода пылесос знаний. При этом данные остаются у вас, что снимает вопросы приватности, которые возникают при использовании облачных сервисов для заметок или архивации ссылок.
Поиск по локальным файлам
hister умеет индексировать вашу локальную базу знаний. Если у вас скопились сотни Markdown-файлов, PDF или текстовых заметок в разных папках, их можно скормить движку. В итоге получается единая точка входа для поиска и по вебу, и по своим черновикам.
Встроенный краулер
Если вам нужно быстро наполнить индекс по конкретной теме, в проекте есть краулер. Он может работать как в классическом режиме, так и через headless-браузер. Это полезно, когда нужно проиндексировать документацию к какому-нибудь инструменту целиком, чтобы потом искать по ней офлайн.
Семантический поиск и ИИ
Для тех, кому обычного поиска по ключевым словам мало, предусмотрена поддержка семантического поиска. Можно подключить свои модели или агентов через протокол MCP (Model Context Protocol). Это позволяет задавать вопросы к своей истории посещений на естественном языке.

Техническая сторона вопроса
Проект написан на Go, а фронтенд — на Svelte (Vite). Для хранения и индексации используются проверенные инструменты, что обеспечивает приличную скорость даже на больших объемах данных.
Развернуть всё это добро локально не составит труда, если у вас установлены Go и NPM. Сборка запускается одной командой:
./manage.sh build
Для тех, кто хочет покопаться в коде или кастомизировать интерфейс, есть удобный режим разработки с горячей перезагрузкой и бэкенда, и фронтенда:
npm run serve:app
Кому это пригодится
Я вижу несколько сценариев, где hister реально экономит время. Во-первых, это создание личной базы знаний «на автомате». Вам не нужно принудительно сохранять статьи в Pocket или Notion — они просто попадают в индекс.
Во-вторых, это отличный инструмент для команд. В hister есть поддержка многопользовательского режима. Можно поднять такой инстанс на локальный сервер в офисе и индексировать общую документацию, внутренние вики и полезные ресурсы, которые находят коллеги.
В-третьих, это спасение для тех, кто работает с большим количеством разрозненной информации: исследователей, разработчиков или технических писателей.
hister — это не замена Google, а ваш личный цифровой архив с человеческим поиском. Проект активно развивается, и хотя документация местами заставляет лезть в код, базовая функциональность работает стабильно.
Если вам надоело тратить по 10 минут на поиск статьи, которую вы точно читали на прошлой неделе — попробуйте поднять hister. Возможно, это именно тот инструмент, которого не хватало вашему браузеру.
Посмотреть исходники и поучаствовать в разработке можно в репозитории на GitHub.
