Hister:为你访问过的网页和保存的文件打造的私有搜索引擎
文章摘要
Hister 是一个自托管的「个人搜索引擎」,作者是 asciimoo——他更为人熟知的上一个项目是隐私元搜索引擎 Searx。这次他换了思路:与其去聚合别人的搜索结果(元搜索概念本身存在天花板),不如给你自己看过的东西建一个索引。
Hister 的核心是把你访问过的网页、书签、浏览器历史、本地文件以及主动爬取的站点全文索引下来,并连同抽取出的正文一起存档,支持离线预览结果。这意味着即便原页面改版或者整个消失,你依然能搜到并读到当时的内容。项目用 Go 编写,AGPLv3 授权。
功能上有几个要点:
- 隐私优先。 默认零遥测、无强制云服务,完全可以只跑在本机。浏览器扩展只把抓到的页面内容发给你自己配置的那台 Hister 服务器(唯一的例外是下载站点 favicon)。可选的语义搜索会把文档文本发往你指定的 embedding 端点,作者在文档里明确提醒启用前先读隐私说明。
- 自动索引。 Firefox 和 Chrome 扩展会在你浏览时保存新访问的页面。
- 查询能力。 支持字段过滤、精确短语、通配符、取反、别名和结果优先级,另有可选的语义搜索。
- 多种入口。 Web 界面、TUI、命令行,以及一个 MCP 端点,方便接入 AI 助手。
- 多用户。 共享服务器上可以按用户隔离文档和搜索结果。
安装门槛刻意做得很低:下载对应平台的二进制,改名、加执行权限,跑 hister listen,然后打开本地 4433 端口装上浏览器扩展即可,本地个人用途零配置。另外也提供 Homebrew、Docker 和 Nix 安装方式。已有内容可以通过导入浏览器历史、索引本地目录或导入文件的方式补进来。
作者在评论区亲自开了 AMA,并顺带公布了一个坏消息:Hister 这个名字与美国一个已注册商标冲突,对方已经发函要求改名,「我们迟早得照办」。他在帖子里公开征集新名字,要求是短、好听、有可用的 .org 域名。
HN 评论精华
这条讨论拿到 695 分,气氛相当正面,实质内容集中在三条线上。
第一条线:这是被浏览器夺走又还回来的功能。 jval43 的这条被顶得很高:「Chrome 在 2008 年就做过这个。对所有访问过的页面做全文搜索,离线存储。非常好用,我很怀念它。好像没人记得它了,虽然当年这是头条功能。大概 2013 年被移除,我猜是技术上的限制。」有人补充确认自己也是刚刚才意识到这功能没了,并找到了相关的历史文件被移除的记录。varispeed 给出了一个更愤世嫉俗的解释:「我猜是因为股东想买新跑车。离线页面不显示 Google 广告。」还有人提到同期的 Google Desktop Search 和 Mac 版 IE5 也做过类似的事。corney91 顺势吐槽现在的 Chrome 连 90 天前去过哪都记不住。这条线还延伸出 TeMPOraL 的一段普遍共鸣:「现在我们没有任何一个浏览器能搜到东西——连 Firefox 都不行。」他说自己在几个浏览器里找开着的标签页、找书签、找历史条目,无论按名字还是按 URL,除非输入能 100% 唯一匹配否则基本搜不到,「感觉就像某处有个缓存或计时器在说『只扫前 100 条,10 毫秒内找不到就放弃』」。
第二条线:LLM 是不是已经解决了这个问题? 361994752 抛出一个流行做法:「我以前也长期有这个困扰,但现在基本解决了——我直接问 ChatGPT『我几个月前读到过关于 x 的东西但现在找不到了』,它给出确切答案的概率高得惊人,还会附送额外的阅读材料。」下面有三种反驳:cobertos 指出这恰恰说明本地工具的价值——Hister 专门提供了 MCP 服务器就是为了支持这种工作流,「这东西是用来持有数据的,同时给你一个人类可用的入口,以防你的 AI 掉链子」。itsdesmond 提出了更本质的质疑:「或者它给了你一个足够像你想要的东西,以至于你没注意到那其实是另一样东西。这太糟糕了。」rglullis 则说这只是把痛点换了个地方,「你现在更依赖 OpenAI 了」——不过也有人回应说这跟供应商无关,换成本地 Qwen 加 SearXNG 一样能跑。
第三条线:作者的 AMA。 asciimoo 回答了几个关键问题:
- 与 ArchiveBox 的区别。 他的概括是:Hister 专注于构建一个「活的知识库」并快速找到信息,ArchiveBox 专注于长期保存网页内容。提问者 corndoge 追问得很到位——两者底层都在归档你浏览的一切,这块公共功能能不能抽出来?「我只想要一份归档,为了搜索和长期保存各存一份太浪费了。」
- 跨机器使用。 支持。只要浏览器扩展能访问到服务器,多少台机器、多用户模式都行;文档里还有全局或个人访问令牌的配置,可以做到在外面也连回家里那台。评论区推荐的常见组合是 Tailscale。
- 扩展相对爬虫的优势(本帖最有价值的一条技术观察)。mircea 问在 HN 上是否会同时捕获帖子页和目标页,作者答扩展只捕获已打开标签页的内容、不发起新请求,你开了哪个就捕获哪个。iririririr 接了一句:「那你可能是第一个能索引 Instagram 和其他封闭站点的『搜索引擎』。」asciimoo 确认这正是扩展路线最大的优势:「它对网站完全不可见,所以没有验证码、没有反爬虫、没有登录问题——经典爬虫的每一个瓶颈都被浏览器和用户本身解决了。」
- 托管与视频。 他表示希望支持 PikaPods 这类一键托管,目前缺的是配置界面(现在改配置要编辑配置文件)。有人提出最痛的场景是几十小时长视频里的内容检索,作者回复项目里有基于 yt-dlp 的抽取器,可以抓取 yt-dlp 支持站点的字幕/转录文本。
改名征集 是评论区意外的娱乐来源,也牵出一段法律讨论。golem14 认为商标侵权只在双方处于同一竞争领域时成立,如果对方是个音乐派对游戏就没问题,「他们可以起诉但会输,除非你自己先妥协」。TaLiTr 泼了冷水:「这不妨碍他们去吓唬一个开源作者」,并举了 Hoarder 被迫改名 Karakeep 的先例。作者对多数近似名(如 histro.org)的反馈是「法律上仍被视为过于相似」。consumer451 提了一个很现实的担忧:候选名一旦被公开建议,怎么防止域名抢注?他说自己过去遇到这种情况会先自掏十美元把域名注册下来再免费转让。skripp11 的建议更直接:「除非你真的很缺钱,投票前把所有候选域名都先注册了。」名字建议里既有正经的(chronilog.org、historea.org、hisect),也有纯玩梗的(「hister 2: histlectric histerloo」、MisterHistory、Yahoox!)。ggm 提醒了一个冷门风险:尽量别选跟诺查丹玛斯预言撞车的名字——虽然他在原文里用「Hister」指的是多瑙河,但民间传说的另一种解读相当不妙。
实际使用反馈普遍正面。RobGR 说他不索引每一个访问的页面,而是用扩展手动指定,「现在就有用了,但我觉得等索引里积累了足够多我已经忘掉的旧东西之后,它才会真正发光」。danielrmay 用了几天、约 7000 篇文档,评价「印象深刻」。唯一一条实质性的故障报告来自 g_host:他把 Hister 挂在 Nginx 反向代理后面,运行几天后会吃满整台服务器,导致该 Nginx 代理的所有其他服务都不可达,换全新 VM 依然复现,最终只能把配置摘掉;作者表示没听说过类似情况,请他提 GitHub issue 一起定位。