Show HN:我厌倦了每个 HN 链接都要打开 2 个标签页,所以我做了一个 userscript
一个小型 userscript 会自动把 Hacker News 评论显示在任意链接文章旁边,这让许多习惯把故事和讨论分开开标签页的读者很有共鸣。评论者将这一做法与浏览器内置分屏功能和专用扩展进行比较,权衡易用性、隐私(例如把每个访问过的 URL 发送到 Algolia)以及实现复杂度。讨论串还引出了更多想法,比如把重复提交的评论线程合并、移动端的默认行为,以及像标签页和分屏这样的功能究竟应该放在浏览器、窗口管理器,还是轻量级用户脚本里。
使用场景与吸引力
- 很多评论者都有为每个 HN 条目打开两个标签页(文章 + 评论)的习惯,并觉得这个脚本的自动化很令人满足。
- 用户喜欢能把文章和讨论放在一起看,尤其是技术类帖子,评论常常能纠正或深化文章内容。
- 有些人承认自己只看评论,还开玩笑说“本来就没人应该点 TFA(原文)”。
替代方案与内置浏览器功能
- 有几位指出 Firefox、Chrome、Edge、Vivaldi 以及平铺式窗口管理器都内置了分屏 / 标签页平铺功能,可以并排显示文章和评论。
- 另一些人描述了使用中键点击、前进/后退导航,或在其他 HN 扩展中使用自定义键盘快捷键的工作流。
Userscript vs 扩展
- userscript 支持者喜欢:
- 更容易跨浏览器开发和分发。
- 代码透明、便于简单检查。
- 对小改动来说比完整扩展更低门槛。
- 其他人则认为,专用扩展对非技术用户来说更容易发现,有些人还建议把它集成到现有的 HN 扩展中。
隐私与数据问题
- 一个关键批评是:该脚本目前会把每个访问过的 URL 发送到 HN Algolia API 以检查是否有相关讨论,这可能泄露完整 URL 和查询字符串。
- 建议包括:
- 只在 HN 页面上激活时才触发查询。
- 清理 URL(只保留 origin + path)。
- 采用类似 Bloom filter 的方法,在按下按钮前避免外部请求。
处理重复与高级功能
- 该脚本会规范化 URL,并使用 Algolia 找到一个匹配的提交;目前还没有完全处理多个提交的情况。
- 很多人对一种“混合评论”视图很感兴趣,希望能聚合同一 URL 的所有 HN 讨论串;文中链接了一个初步实现。
- 反馈还包括希望在侧边栏里能对评论投票,以及控制默认的折叠/展开状态,尤其是在移动端。
窗口/标签页管理理念
- 有些人认为功能 1(自动双栏查看)反映了糟糕的窗口管理,应该在桌面/窗口管理器层面解决,而不是由每个应用单独处理。
- 另一些人则为大量标签页的使用方式辩护,提到树状标签页管理器、分栏系统,并指出很多人更喜欢在浏览器内组织内容,而不是由全局窗口管理器来控制。