asciimoo/hister

Your own search engine

Hister – 나만의 개인 비공개 검색 엔진

개요

  • 자체 호스팅 검색 엔진으로, 방문한 웹 페이지와 추가한 로컬 파일의 전체 텍스트를 인덱싱합니다. 클라우드 구성 요소 없이 사용자가 제어하는 작은 서버로 실행됩니다.

작동 방식

  1. 단일 바이너리를 설치합니다(또는 Homebrew, Docker, Nix 사용).
  2. hister listen을 실행하여 서버를 시작합니다.
  3. 브라우저 확장 프로그램(Firefox/Chrome)을 추가합니다 – 탐색하는 모든 페이지가 서버로 전송되어 전체 텍스트 인덱스에 저장됩니다.
  4. 웹 UI, 터미널 UI, 명령줄 또는 AI 어시스턴트 클라이언트(MCP)를 통해 검색합니다.
  5. 선택 사항: 임베딩 엔드포인트를 구성하여 의미 기반(의미 기반) 검색을 활성화합니다.

주요 기능

  • 개인정보 보호 우선 – 텔레메트리 없음, 필수 클라우드 동기화 없음. 데이터는 실행 중인 서버에 유지됩니다.
  • 방문한 페이지와 로컬 문서(폴더, 북마크, 기록, 파일)의 전체 텍스트 인덱싱.
  • 강력한 쿼리 언어 – 필드 필터, 구문, 와일드카드, 부정, 별칭, 결과 가중치.
  • 공식 확장 프로그램을 통한 자동 브라우저 인덱싱.
  • 다중 사용자 지원 – 공유 서버에서 사용자별로 별도의 인덱스.
  • 여러 클라이언트 – 웹 UI, TUI/터미널, CLI, MCP 호환 AI 어시스턴트.
  • 자체 임베딩 서비스를 사용하는 선택적 의미 검색.

사용 대상

  • 자신의 브라우징 기록과 문서에 대해 개인적인 "Google과 같은" 검색을 원하는 지식 근로자.
  • 제3자 서비스에 데이터를 노출하지 않고 공유 자체 호스팅 검색 허브가 필요한 팀.
  • 검색 인덱스를 로컬에서 제어하는 것을 선호하는 개인정보 보호에 민감한 사용자.

시작하기

  • GitHub 릴리스 페이지에서 최신 바이너리를 다운로드하고 실행 가능하게 만든 다음 ./hister listen을 실행합니다.
  • 브라우저에서 http://127.0.0.1:4433을 열고 확장 프로그램을 설치한 후 인덱싱을 시작합니다.
  • 제공된 구성 옵션을 사용하여 기존 브라우저 기록/북마크를 가져오거나 로컬 디렉토리를 인덱싱합니다.

기술 스택

  • 백엔드는 Go 1.26로 작성되었습니다(일부 종속성에 CGO 사용).
  • 프런트엔드는 Vite(JavaScript/TypeScript)로 구축되었으며 Go 서버에서 제공됩니다.
  • 개발 워크플로는 UI에 npm, Go 실시간 재컴파일에 air를 사용합니다.

커뮤니티 및 기여

  • IRC(IRCNet의 #hister)와 Discord에서 채팅.
  • 풀 리퀘스트를 통해 기여. 지침은 CONTRIBUTING.md를 참조.
  • 이슈와 보안 보고서는 GitHub에서 추적됩니다.

라이선스

  • AGPL-3.0 이상. 공개 배포 시 소스 변경 사항을 공유해야 합니다.

Hister는 당신의 데이터에 대해 Google 스타일의 검색 경험을 제공하며 모든 것을 당신의 통제 하에 유지합니다.

관련

  • 프로젝트
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트