← 返回列表
需源码安装
一个面向 Hacker News 的终端客户端。
暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/8/27 · 已提供中文文档
极速、Hacker News 命令行界面(TUI)⚡
综合分
48.5
GitHub 分
48.5
用户评分
—
★ Stars
50
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add heartleo/hn-cli仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
🟢实装验证通过· 2026/9/19
由 dsh-plugin-verify(GitHub Actions)在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包hn-cli(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
仓库缺少 package.json,无法用 dsh 插件安装命令安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/17 11:38:27
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
hn
一个面向 Hacker News 的终端客户端。
Go 版本
CI
发布
下载量
许可证
演示
功能
- 📰 故事浏览器 — Top、New、Best、Ask HN、Show HN,支持标签页切换
- 💬 评论线程 — 使用 j/k 导航,折叠/展开,延迟加载回复树
- 🌐 翻译 — 使用 t 翻译标题,使用 T 翻译所有可见标题,或翻译选中的评论
- 🔄 软刷新 — 无需重启即可刷新故事或评论
- 🎨 主题 — hn、mocha、dracula、tokyo、nord、gruvbox
- ⚡ 渐进式加载 — 先加载可见范围,滚动时再获取更多内容
安装
Homebrew(macOS / Linux):
$ brew install heartleo/tap/hn
winget(Windows):
$ winget install heartleo.hn
curl(macOS / Linux):
$ curl -fsSL https://raw.githubusercontent.com/heartleo/hn-cli/main/install.sh | sh
无需 sudo — 二进制文件会安装到你的主目录下。安装目录会从以下已设置的第一项中选取:
| 来源 | 值 |
| ---------------- | ----------------------- |
| HN_INSTALL_DIR | 按原样使用 |
| XDG_BIN_HOME | 按原样使用 |
| XDG_DATA_HOME | $XDG_DATA_HOME/../bin |
| (默认) | $HOME/.local/bin |
安装到其他位置:
$ curl -fsSL https://raw.githubusercontent.com/heartleo/hn-cli/main/install.sh | HN_INSTALL_DIR=~/bin sh
如果安装目录不在你的 $PATH 中,脚本会发出警告,并打印要添加到 shell 配置文件中的 export PATH=... 行。
该脚本绝不会调用 sudo。要系统级安装,请自行以 root 身份运行:
$ curl -fsSL https://raw.githubusercontent.com/heartleo/hn-cli/main/install.sh -o install.sh
$ sudo env HN_INSTALL_DIR=/usr/local/bin sh install.sh
预构建二进制文件 — 从 GitHub Releases 下载
Go 安装(需要 Go 1.25+):
$ go install github.com/heartleo/hn-cli/cmd/hn@latest
从源码构建:
$ git clone https://github.com/heartleo/hn-cli
$ cd hn
$ go build -o hn ./cmd/hn
Claude Code 插件
本仓库还提供了 hn,一个将 Hacker News 带入 Claude 的 Claude Code 插件。
/plugin marketplace add heartleo/hn-cli
/plugin install hn@hn-cli
| 技能 | 功能 |
| ----------- | ------------------------------------------------------------------- |
| hn-digest | 扫描首页——今日主题、热门讨论、行业分布 |
然后只需问:what's on HN today。用任何语言提问,摘要就会以该语言返回。详情请参阅插件 README。
该摘要还会每日发布在 hndigest.heartleo.dev。
DeepSeek Harness 插件
针对 DeepSeek Harness,有一个 hacker-news,这是一个纯 ESM 插件,直接读取公开的 Hacker News API。它既不需要 HN API 密钥,也不需要本地终端客户端。
从 npm 安装
已发布的包是 dsh-hacker-news。它也被列在 awesome-dsh-plugin 社区注册表中。DSH 配置文件是 pnpm 工作区根目录,因此请保留 -w 标志:
dsh plugin --profile add -w dsh-hacker-news
如果你的 npm 镜像尚未索引最新版本,请针对公共注册表运行安装:
$env:npm_config_registry = 'https://registry.npmjs.org/'
dsh plugin --profile add -w dsh-hacker-news
启动或重启同一配置文件,然后验证组合配置中包含 dsh-hacker-news:
dsh --profile
dsh --profile --dump-config
从源码安装
此形式遵循仓库的 main 分支,适用于开发或尝试未发布的更改:
dsh plugin --profile add -w github:heartleo/hn-cli#path:/plugins/hacker-news
安装后,可以自然地提问,例如:what's popular on HN?、search HN for sqlite 或 read HN item 49322107 and summarize the discussion。
| 工具 | 功能 |
| ------------ | ------------------------------------------------------- |
| hn_stories | 排名信息流——top / new / best / ask / show / job |
| hn_item | 一个条目及其按阅读顺序排列的回复树 |
| hn_search | Algolia 搜索,按相关性或日期 |
| hn_user | karma、账户年龄、个人简介、提交数量 |
配置请参阅插件 README。
快速开始
$ hn # top stories
$ hn new # new stories
$ hn best # best stories
命令
浏览
browse demo
打开交互式 TUI。默认为 Top stories;使用 ←/→ 切换标签页。
$ hn # top stories (default)
$ hn top
$ hn new
$ hn best
$ hn ask
$ hn show
评论
comments demo
在任意故事上按 Enter 打开其评论线程。
- 使用 ↑/↓ 或 k/j 导航
- 按 Enter 展开或折叠回复树
- 按 Space 折叠或展开所选评论
- 按 C / E 折叠或展开全部
- 按 r 跳转到根评论
- 按 R 软刷新
- 按 Esc 返回
翻译
通过任何兼容 OpenAI 的聊天补全 API 进行翻译。参见配置以设置 API 密钥。
t 翻译选中的故事标题(切换缓存的翻译)
T 在一个批量请求中翻译所有可见标题
t 翻译选中的评论(在评论视图中)
主题
$ hn theme # 显示当前主题
$ hn theme nord # 全局设置
可用:hn · mocha · dracula · tokyo · nord · gruvbox
按键
故事列表
| 按键 | 操作 |
| -------------- | ---------------------------- |
| Enter | 打开评论线程 |
| o | 在浏览器中打开 |
| t | 翻译选中的标题 |
| T | 翻译所有可见标题 |
| ← / → | 切换标签页 |
| r | 刷新 |
| ? | 切换帮助 |
| q / Ctrl+C | 退出 |
评论线程
| 按键 | 操作 |
| -------------- | ------------------------------ |
| j / ↓ | 下一条评论 |
| k / ↑ | 上一条评论 |
| gg | 返回顶部 |
| r | 跳转到根评论 |
| Enter | 展开 / 折叠回复 |
| Space | 折叠 / 展开选中的评论 |
| C / E | 折叠 / 展开全部 |
| t | 翻译选中的评论 |
| R | 软刷新 |
| o | 在浏览器中打开故事 |
| Esc | 返回列表 |
| ? | 切换帮助 |
| Q / Ctrl+C | 退出 |
配置
hn 读取 ~/.config/hn/config.json。工作目录中的 .env 文件也会自动加载;环境变量优先于配置文件。
翻译
| 变量 | 默认值 | 描述 |
| ---------------------- | --------------------------- | ------------ |
| HN_TRANSLATE_API_URL | https://api.openai.com/v1 | API 基础 URL |
| HN_TRANSLATE_API_KEY | — | API 密钥 |
| HN_TRANSLATE_MODEL | gpt-4o-mini | 模型名称 |
| HN_TRANSLATE_LANG | Chinese | 目标语言 |
示例 .env:
HN_TRANSLATE_API_KEY=sk-...
HN_TRANSLATE_LANG=Chinese
主题
| 变量 | 描述 |
| ---------- | ---------------------------------- |
| HN_THEME | 无需编辑配置即可覆盖主题 |
示例 ~/.config/hn/config.json:
{
"theme": "mocha",
"translate": {
"api_url": "https://api.openai.com/v1",
"api_key": "sk-...",
"model": "gpt-4o-mini",
"language": "Chinese"
}
}
贡献
非常欢迎提出问题、错误报告、功能建议和一般反馈:
- 🐛 报告错误
- 💡 建议功能
[!NOTE]
本项目是在我的业余时间维护的,我目前没有足够的精力来妥善审查外部拉取请求。详情请参阅 CONTRIBUTING.md。感谢您的理解!扫码进群