抓取指定 Subreddit 近24小时热门帖子,获取详情与评论,生成摘要、要点、建议、灵感及社交媒体文案,输出每日 Markdown 文档。用户提及“帮我抓取/总结 Reddit r/xxx”“生成 Reddit 每日摘要”“reddit digest”时触发。
优先级:命令行参数 > 环境变量 > 默认值
参数环境变量默认值--base-dir``REDDIT_DIGEST_BASE_DIR``/Users/victor/Desktop/resource/daily-info/reddit``--subreddit``REDDIT_DIGEST_SUBREDDIT``ClaudeAI
输出路径: {BASE_DIR}/{YYYYMMDD}/{subreddit_name}/{subreddit_name}-{YYYYMMDD}.md
临时目录: {BASE_DIR}/{YYYYMMDD}/{subreddit_name}/temp/
确定 BASE_DIR、 SUBREDDIT、 DATE(YYYYMMDD)变量,创建目录:
bash
mkdir -p {BASE_DIR}/{DATE}/{SUBREDDIT}/temp
注意:以下命令必须写成一行(不含换行),在终端后台执行(is_background=true),避免3分钟超时。
bash
SKILL_DIR="/path/to/skills/reddit-digest" && TEMP_DIR="{BASE_DIR}/{DATE}/{SUBREDDIT}/temp" && autocli reddit subreddit {SUBREDDIT} --limit 20 --sort top --time day --format json | python3 "$SKILL_DIR/scripts/fetch_post_details.py" --temp-dir "$TEMP_DIR" > /tmp/reddit_fetch_{SUBREDDIT}.log 2>&1
SKILL_DIR 通常为 {workspace}/skills/reddit-digest(本 skill 所在目录)。
脚本 串行 调用 autocli reddit read {url} -f json 逐条抓取(autocli 基于浏览器,并发会导致 tab 冲突,默认 workers=1),每条 Post 保存为:
text
{TEMP_DIR}/{rank:02d}-{sanitized_title}.json
每个文件结构:
json
{
"rank": 1,
"meta": { "author", "comments", "title", "upvotes", "url" },
"content": [ { "author", "score", "text", "type" }, ... ],
"error": null
}
content 字段: type=POST 为原文, type=L0 为顶层评论, type=L1 为回复。
等待完成:后台启动后,每隔 30 秒检查 ls {TEMP_DIR}/ 或读取日志 /tmp/reddit_fetch_{SUBREDDIT}.log 确认进度(共 20 条,全部出现后即完成)。
容错:抓取失败时 error 字段记录原因,仅用 meta 元数据生成简要摘要。
逐一读取 {TEMP_DIR}/*.json,按 rank 顺序分析,筛选并剔除低价值 Post。
输出文档结构与筛选规则见 references/output-template.md。
将所有分析结果按 rank 排序合并,写入最终文档。所有内容 使用简体中文撰写。