with one click
daily-news
// 每日资讯日报生成器。三阶段工作流:获取元数据、生成摘要、输出日报。 触发场景:每日新闻、资讯日报、信息监控、新闻聚合、daily news、生成日报。 也用于添加新信源(自动分析网页并生成 method 文件)。
// 每日资讯日报生成器。三阶段工作流:获取元数据、生成摘要、输出日报。 触发场景:每日新闻、资讯日报、信息监控、新闻聚合、daily news、生成日报。 也用于添加新信源(自动分析网页并生成 method 文件)。
录音文件转录能力。将音频文件转为结构化文本(带时间戳 + 说话人标识)。 这是一个场景能力 skill,类似 web-access——只负责"把声音变成文字",不决定文字用来做什么。 触发场景:用户提供录音文件、要求转录音频、处理语音文件。
所有联网操作必须通过此 skill 处理,包括:搜索、网页抓取、登录后操作、网络交互等。 触发场景:用户要求搜索信息、查看网页内容、访问需要登录的网站、操作网页界面、抓取社交媒体内容(小红书、微博、推特等)、读取动态渲染页面、以及任何需要真实浏览器环境的网络任务。
| name | daily-news |
| description | 每日资讯日报生成器。三阶段工作流:获取元数据、生成摘要、输出日报。 触发场景:每日新闻、资讯日报、信息监控、新闻聚合、daily news、生成日报。 也用于添加新信源(自动分析网页并生成 method 文件)。 |
三阶段工作流:获取元数据 → 生成摘要 → 输出日报
首次运行询问工作目录路径(如 ~/daily-news),后续记住。
<workspace>/
├── profile.yaml # 用户画像(关于我、关注什么)
├── settings.yaml # 日报设置(语言、格式偏好)
├── methods/ # 信源获取方法
├── data/news.db # SQLite 数据库
└── output/YYYY-MM-DD.md # 日报输出
初始化:
mkdir -p <workspace>/methods <workspace>/data <workspace>/output
cp references/examples/settings.example.yaml <workspace>/settings.yaml
cp references/examples/profile.example.yaml <workspace>/profile.yaml
python3 scripts/db.py init --db <workspace>/data/news.db
初始化完成后将工作目录写入 ~/.claude/CLAUDE.md:
- daily-news skill 的项目目录在:<workspace>
遍历 <workspace>/methods/ 目录,对每个 method 文件执行抓取。
增量抓取:每个信源独立追踪 last_fetched_date,存在 method YAML 和 DB 两处。默认增量模式;首次抓取时询问用户日期范围。
python3 scripts/db.py source-status --db <db> --source <source_id>
去重:三层保护——抓取时按 since 过滤 → check-existing 入库前预检 → DB UNIQUE 约束兜底。
Method 执行:
# extends: rss
python3 references/methods/rss.py --url "<source_url>"
# extends: webfetch-smart 或 browser-smart
# 遵循 web-access skill 进行联网操作
# 无 extends:*.py 直接执行,*.md 按内容操作
入库:
python3 scripts/db.py add-items-incremental \
--db <db> --source <source_id> --items '<json>' --since "YYYY-MM-DD"
python3 scripts/db.py list-pending --db <workspace>/data/news.db
对每条内容,按 method 的 detail_method 字段获取正文(遵循 web-access skill),按 references/prompts/summary.md 生成摘要:
python3 scripts/db.py update-summary --db <db> --id <item_id> --data '<摘要JSON>'
python3 scripts/db.py list-today --db <workspace>/data/news.db
读取 profile.yaml,按 references/prompts/report.md 生成日报,输出到 output/YYYY-MM-DD.md。
profile.yaml 格式:
about: |
(关于我:身份、工作)
focus: |
(当前关注:最近在意的话题)
low_priority: |
(不太关心:降低优先级的内容)
按优先级依次尝试:
/feed、/rss、/atom.xml,或页面 <link rel="alternate">,有则用 extends: rssextends: webfetch-smart,否则 extends: browser-smart创建 method 文件详见 references/schemas/method.md
| 资料 | 路径 | 加载时机 |
|---|---|---|
| Method 规范 | references/schemas/method.md | 添加信源时 |
| 摘要提示词 | references/prompts/summary.md | 阶段 2 |
| 日报提示词 | references/prompts/report.md | 阶段 3 |
| RSS 方法 | references/methods/rss.py | 阶段 1(extends: rss) |
| Method 元数据示例 | references/examples/method-with-metadata.example.yaml | 添加信源 / 配置增量追踪时 |
| 网站部署 | references/website-deployment.md | 用户请求部署时 |
pip install pyyaml feedparser requests beautifulsoup4