ClawSkills logoClawSkills

HackerNews Extract

将 HackerNews 帖子(文章 + 评论)提取为单个干净的 Markdown,以便快速阅读或作为 LLM 输入。

介绍

# HackerNews Extract

将 HackerNews 帖子(文章 + 评论)提取为单个干净的 Markdown 文件,以便快速阅读或作为 LLM 输入。

参见 [示例](https://github.com/guoqiao/skills/blob/main/hn-extract/examples)

## 功能 - 接受 HackerNews id 或 url - 下载链接中的 HTML 文章,进行清洗和格式化。 - 获取 Hacknews 帖子元数据和评论。 - 输出可读的组合 markdown 文件,包含原始文章、嵌套评论和关键元数据。

## 环境要求

- 已安装 `uv` 并在 PATH 环境变量中。

## 安装

除拥有 `uv` 外无需安装。 依赖项将在运行此脚本时由 `uv` 自动安装到专用的 venv 中。

## 使用工作流(代理强制执行)

当代理被要求提取 HackerNews 帖子时: 1. **运行脚本** 并指定输出路径:`uv run --script ${baseDir}/hn-extract.py <input> -o /tmp/hn-<id>.md`。 2. **发送一条组合消息:** 在*同一个*工具调用中上传文件并提出问题。使用 `message` 工具(`action=send`,`filePath="/tmp/hn-<id>.md"`,`message="Extraction complete. Do you want me to summarize it?"`)。 3. 除非明确要求,否则**不要**在聊天中直接输出全文或摘要。

## 使用方法

```bash # run as uv script uv run --script ${baseDir}/hn-extract.py <hn-id|hn-url|path/to/item.json> [-o path/to/output.md]

# Examples uv run --script ${baseDir}/hn-extract.py 46861313 -o /tmp/output.md uv run --script ${baseDir}/hn-extract.py "https://news.ycombinator.com/item?id=46861313" ```

- 省略 `-o` 以输出到 stdout。 - `-o` 指定的目录会自动创建。

## 注意事项 - 对 HTTP 请求启用了重试。 - 评论按线程深度缩进。 - 需要身份验证或阻止爬取的网站可能仍然会失败。

更多产品