用Golang编写的原生Hacker News TUI客户端,具备AI评论摘要功能
cwnews是一款终端下的Hacker News阅读器,支持六个数据源、三种主题、线程折叠评论以及通过DeepSeek V4 Flash实现的AI摘要功能。它用Go和Bubbletea v2构建,左侧面板显示故事列表,右侧面板呈现嵌套评论,并可通过按's'键调用AI实时总结讨论内容。所有数据缓存在SQLite中,确保快速响应。
cwnews 是一款专为终端环境设计的 Hacker News 阅读器,采用 Go 语言和 Bubbletea v2 框架构建。它提供了完整的新闻浏览体验,涵盖 Hacker News 的全部六个数据源:Top、New、Best、Ask、Show 和 Jobs。每个数据源支持分页浏览,每页显示 50 篇故事,用户可以通过 n/p 键进行翻页。
界面分为左右两个面板:左侧是密集的故事列表,右侧则是嵌套的评论视图。故事列表根据点赞数和评论数进行颜色编码,超过 500 点赞的故事以橙色高亮,200 以上为琥珀色,50 以上为金色,低于 10 的则为灰色。评论数同样遵循此配色方案,使热门讨论一目了然。评论面板支持线程折叠,用户可以使用 Enter/← 折叠某条评论及其子评论,→ 展开,[/] 按深度折叠,n/N 跳转至顶级评论。导航采用 Vim 风格的 j/k 键。
cwnews 的亮点之一是集成了 DeepSeek V4 Flash AI 模型,用于生成评论线程的摘要。在任何线程上按 s 键,右侧面板会切换到 AI 摘要视图,实时显示逐词流出的摘要内容,包括总体情绪、关键点、突出引文、共识与分歧分析等。摘要以 Markdown 格式呈现,支持标题、列表和斜体引用。用户可以在配置文件中设置摘要语言为中文或英文(默认为中文)。所有 AI 摘要都会缓存在 SQLite 中,再次查看时无需额外 API 调用。
该工具还提供了三种主题,通过 t 键循环切换:HN 暗色(橙色强调)、HN 经典(米色背景,模拟真实网站)和 Zinc 青色(青色调的暗色主题)。主题名称会显示在底部状态栏中。
数据缓存方面,cwnews 将所有内容(故事、评论、ID 列表和 AI 摘要)存储在一个 SQLite 文件中,默认位置为 ~/.local/share/cwnews/cwnews.db。重新打开已查看的线程时,评论会立即显示,同时后台会刷新最新回复。缓存的有效期可在配置文件中设置(默认 5 分钟)。
安装方式:从 Google Drive 下载预编译的二进制文件(支持 macOS arm64/amd64 和 Windows amd64),将其放入 PATH 路径并赋予执行权限。需要创建一个配置文件 config.json(位于当前目录或 ~/.config/cwnews/config.json),其中需包含 DeepSeek API 密钥。AI 功能需要 API 密钥,但浏览和评论折叠等基础功能无需密钥即可使用。
FAQ 部分提到:cwnews 是只读的,无需 Hacker News 账号;每次 AI 摘要的成本约为 0.003 美元(基于 DeepSeek V4 Flash 的定价);用户可通过 j/k 导航、g/G 到顶部/底部、d/u 半页滚动、Tab 切换面板等快捷键操作;源代码目前不公开,但可通过邮件联系作者获取访问权限。此外,cwnews 与 cwcode(另一款终端工具)共享同一个 DeepSeek API 密钥,可并排运行在 tmux 窗格中。