HN Digest 是一个用于按需获取并发送 Hacker News 首页帖子的技能,主要面向希望以简洁、结构化方式浏览 Hacker News 热点的使用场景。
用途 当用户消息以 hn 开头时,该技能会将其解释为一次 Hacker News 首页摘要请求。它适合在聊天环境中快速拉取 HN 首页内容,并以逐条消息的形式呈现。
命令格式 支持以下形式:
- hn → 默认 5 条帖子
- hn <n> → 指定条数
- hn <topic> → 按主题过滤或加权
- hn <n> <topic> → 同时指定条数与主题
如果用户在已经看过一批结果后要求“更多”(例如“show me top 10–15 since we already did top 10”),则将其视为偏移请求,使用 --offset(例如 offset 10、count 10)。
主题 支持的主题包括:
- tech(默认)
- health
- hacking
- life / lifehacks
输出要求
- 不发送任何额外的评论、前言或结尾。
- 结果以独立消息逐条发送。
- 每条帖子消息必须严格为三行:
- 第一行:帖子标题
- 第二行:<age> · <commentCount> comments(age 形如 45m ago、6h ago、3d ago)
- 第三行:Hacker News 评论链接(https://news.ycombinator.com/item?id=...)
- 在帖子消息之后,发送一条最终消息,即生成的图片。
- 如果聊天服务商要求媒体消息附带非空文本,则使用最小说明文字 ..
- 硬性排除加密货币内容。
执行流程
- 从用户消息中解析 n 和 topic。
- 抓取并排序条目: 运行 node skills/hn-digest/scripts/hn.mjs --count <n> --offset <offset> --topic <topic> --format json 默认 offset 为 0,除非用户在前一批之后明确要求“更多/下一批”。
- 按所需的三行格式,将结果作为 N 条独立消息发送。
- 然后通过 Nano Banana 生成一张令人愉悦的氛围图片,灵感来自刚发送的帖子:
- 使用 skills/hn-digest/scripts/mood_prompt.mjs 根据 JSON 条目构建提示词。
- 加入 3–4 个源自帖子主题的细微彩蛋(不要文字/标志;保持趣味性)。
- 通过运行以下命令生成并附加图片: skills/hn-digest/scripts/generate_mood_nano_banana.sh ./tmp/hn-mood/hn-mood.png <topic> <n> <offset>
- 将生成的图片作为一条额外消息发送。
失败处理 如果抓取或排序失败,或返回 0 条:
- 使用浏览器工具访问 https://news.ycombinator.com/,凭判断挑选 N 条非加密货币条目,并按同样的三行格式发送。
- 仍然生成一张氛围图片(整体为“HN 技术深度探讨”氛围),并带有一个香蕉彩蛋。
限制 该技能依赖 Hacker News 首页内容与指定的脚本执行环境;资料未提供关于收费、价格、平台支持范围或效果保证的信息。