Hister:为你访问过的网页和保存的文件打造的私有搜索引擎

查看原文 HN 讨论

文章摘要

Hister 是一个自托管的「个人搜索引擎」,作者是 asciimoo——他更为人熟知的上一个项目是隐私元搜索引擎 Searx。这次他换了思路:与其去聚合别人的搜索结果(元搜索概念本身存在天花板),不如给你自己看过的东西建一个索引。

Hister 的核心是把你访问过的网页、书签、浏览器历史、本地文件以及主动爬取的站点全文索引下来,并连同抽取出的正文一起存档,支持离线预览结果。这意味着即便原页面改版或者整个消失,你依然能搜到并读到当时的内容。项目用 Go 编写,AGPLv3 授权。

功能上有几个要点:

安装门槛刻意做得很低:下载对应平台的二进制,改名、加执行权限,跑 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 回答了几个关键问题:

改名征集 是评论区意外的娱乐来源,也牵出一段法律讨论。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 一起定位。