Hister: 나만의 검색 엔진, 방문한 모든 웹페이지를 전체 텍스트로 색인한다
Hister – A private, full content search index that you control

Hister는 자체 호스팅 방식의 개인 검색 엔진으로, 브라우저 확장 프로그램이 방문하는 모든 웹페이지를 자동으로 저장하고 전체 텍스트 색인합니다. 제목과 URL뿐 아니라 페이지의 실제 내용을 색인하므로, 단어로 어떤 문서든 찾을 수 있습니다. AI 임베딩을 통한 의미론적 검색, 고급 쿼리, 오프라인 미리보기, JavaScript 렌더링을 지원하는 크롤러, MCP 서버, 로컬 파일 색인 등 다양한 기능을 제공합니다. 모든 데이터는 로컬에 보관되며 텔레메트리나 클라우드 동기화가 없어 프라이버시를 보장합니다. AGPLv3 라이선스의 오픈소스 소프트웨어입니다.
방문하는 모든 웹페이지를 브라우저 확장 프로그램이 자동으로 캡처하고 색인하여, 수동으로 아무것도 하지 않아도 전체 브라우징 기록을 검색할 수 있게 됩니다.
HN 토론
97- asciimoo
안녕하세요, 저자입니다! Hister를 게시해 주셔서 감사합니다. 무엇이든 물어보세요.
제 첫 자유 소프트웨어 검색 프로젝트는 Searx였는데, 이는 개인정보를 존중하는 메타검색 엔진이었습니다. 하지만 메타검색 개념의 한계 때문에 다른 접근 방식을 취하기로 결정했습니다.
Hister는 방문한 페이지, 북마크, 브라우저 기록, 로컬 파일, 크롤링한 웹사이트에서 개인 검색 인덱스를 구축합니다. 추출된 콘텐츠를 오프라인 결과 미리보기와 함께 저장하므로 원본 페이지가 변경되거나 사라져도 정보를 검색할 수 있습니다. 전체 텍스트 및 의미 검색을 지원하며, 전적으로 자신의 머신에서 실행할 수 있고, 웹 인터페이스, 명령줄 도구, 그리고 어시스턴트 통합을 위한 MCP 엔드포인트를 포함합니다.
프로젝트 페이지: https://github.com/asciimoo/hister
작은 읽기 전용 데모: https://demo.hister.org/
- wmchen
저는 몇 달 전에 asciimoo의 HN 댓글을 보고 이걸 설정했는데, 처음에는 거의 사용하지 않았습니다. 하지만 얼마 지나지 않아 제 취미 중 하나(항공 마일리지 여행)에 꽤 유용한 연구 도구가 될 수 있다는 것을 깨달았습니다. 그 취미는 다양한 개념과 특이점에 대해 잘 아는 것이 중요합니다.
항공 마일리지 여행에 대해 정기적으로 참조하는 블로그의 게시물을 스크랩하고 가져온 다음, MCP 서버로 OpenCode/Codex에 연결하고 그 말뭉치를 해당 주제에 대한 연구에 사용했습니다. 그래서 "이 문제를 겪은 사람이 있었나요?" 같은 질문을 할 수 있습니다. [1]
취미나 업무에서 핵심 웹사이트나 참고 자료를 정기적으로 참조해야 한다면, Hister는 거의 모든 도구를 기본 제공하여 검색 엔진을 시작할 수 있게 해줍니다. 그들이 홍보하는 기본 데이터셋에는 Python 표준 라이브러리, MDN, RFC 말뭉치가 예로 포함됩니다. [2]
- quasigod
어제 막 설정을 끝냈는데, 정말 매료되었습니다. 이전에는 Karakeep을 많이 사용했지만, 무언가 저장하는 것을 잊어버리고 잃어버리는 것이 싫었습니다. 또한 Hister의 의미 검색이 AI 생성 요약이나 태그보다 더 나은 해결책이라고 생각합니다. 로컬 문서 지원도 매우 멋집니다. org 노트 디렉토리를 인덱싱하도록 설정했습니다.
- evanjrowley
Karakeep을 좋아하지만, 사실 저는 이 정확히 같은 문제를 해결하기 위해 그것을 사용하고 있습니다. 프로젝트 목표는 그렇게 잘 맞지 않지만요. Hister가 더 잘 맞을 것 같아서 진지하게 시도해 볼 것입니다. Go로 작성된 것도 보너스입니다.
제가 필요로 하는 한 가지는 Hister로 링크를 쉽게 공유할 수 있는 방법입니다. Android/iOS 모바일 앱이 나와서 Hister로 링크를 보낼 수 있고 Safari 지원이 더 좋아지기를 바랍니다. 모바일 브라우저(Safari, MS Edge, Firefox)의 확장 프로그램 지원으로 무엇이 가능할지 궁금합니다.
- vivzkestrel
- 검색 엔진에 대해 아무것도 모르는 사람이 저자에게 하는 많은 바보 같은 질문들
- HN에 게시된 모든 블로그를 인덱싱하고 싶다고 가정해 봅시다.
- 인터넷에 있는 4000억 개의 페이지 중 작은 부분 집합이겠죠?
- 먼저 데이터를 수집해야 하는데, 많은 웹페이지를 빠르게 로드하려면 무엇을 사용하나요? Python에서 asyncio와 aiohttp를 사용하나요? 더 나은 옵션이 있나요?
- 프록시는 어떻게 처리하나요? 회전? 추천할 만한 라이브러리가 있나요?
- Cloudflare를 사용하는 페이지나 요청을 차단하거나 캡차나 챌린지를 표시하는 페이지는 어떻게 하나요?
- 수집하는 파일 형식은 무엇인가요? HTML만? 아니면 미디어도 포함하나요?
- 수집한 파일을 어디에 어떤 형식으로 저장하나요? 플랫 파일 스토리지? DuckDB? PostgreSQL? hstore? 다른 것?
- 각 페이지를 얼마나 자주 새로고침하나요? 하루에 한 번? 일주일에 한 번? 다른 주기?
- 수집한 데이터에 어떤 전처리를 사용하나요? 추가 공백 제거? 특수 문자 제거? 복잡한 정규식 파이프라인? LLM?
- 들어오는 쿼리를 처리된 데이터와 어떻게 매칭하나요? 단순 텍스트 매칭? 정규식? 벡터 임베딩 매칭? 다른 것?