Skip to content

nommarex/PodClaw

 
 

Repository files navigation

PodClaw Logo

PodClaw | 播客龙虾

OpenClaw 原生 AI 播客产品

Python License OpenClaw Status

告别信息轰炸!让"播客龙虾"替您全网'跑腿',提供每天最想听的私人定制播客

四源并行 · Agent 编排 · Inbox 协议 · AI 生成 · 一键推送

🎧 在线演示 Live Demo


30 秒速览

问题 回答
这是什么 一个 OpenClaw 原生的 AI 播客系统。把多个信息来源统一收敛为多档最新鲜、最对味、直接"喂到嘴边"的有声节目,而不是把一堆冷冰冰的链接丢给用户。
为什么成立 因为它不是单点生成,而是完整工作流:Fetch → Inbox → Generate → Publish
做到哪一步 已完成四源并行演示:Zotero、GitHub Trending、Financial API、Financial RSS,全部生成并成功推送。

一句话总结: 全网动态统一收敛,提纯为随时随地、解放双手的有声干货;紧跟热点,直击兴趣,每天把最鲜活的资讯直接"喂到嘴边"!


产品概述

今天的问题不是缺信息,而是缺被组织过的信息。用户真正关心的论文、资讯、项目动态分散在不同来源里,更新节奏不一致,阅读成本高,也无法自然进入通勤、步行和健身等场景。

PodClaw 的回答很直接:不再让用户盯住十几个订阅源,而是把它们收敛为一档每天可听的节目。

  • OpenClaw Agent 持续收集用户关注的信息
  • 统一 Inbox 协议 将不同来源归一化
  • Podcast Generator 输出音频、文稿与剧集元数据
  • 其他 Skill 可继续完成推送、发布与分发

与"直接朗读网页"不同,PodClaw 输出的是被策划过的一档节目,而不是原始文本的语音化副本。


核心亮点

亮点 说明
OpenClaw 原生 不是单点脚本,而是从一开始就按 Agent、Skill、定时编排的方式设计
一档节目替代多源切换 不把链接堆给用户,而是把多来源信息整理成统一节目
协议化扩展 新来源只需写入标准 Inbox,即可复用现有播客生成链路
多产物交付 同时输出 MP3、Markdown 文稿与 JSON 元数据,方便继续分发
可运行原型 当前已打通 Zotero/arXiv 到每日播客的完整闭环

为什么这件事适合 OpenClaw? 因为这不是一次性的内容生成任务,而是一条需要持续收集、按时执行、可扩展接入、可继续分发的长周期工作流。OpenClaw 在这里不是插件,而是整条产品链路的运行底座。


完整演示成果

本次演示已完成四类内容的并行采集、AI 生成与自动推送:

节目 状态 大小 内容标签
01 Zotero 学术播客 ✅ 已成功发送 9.8 MB arXiv 论文、Zotero 收藏、智能重排、学术解读
02 GitHub Trending ✅ 已成功发送 5.1 MB 开源热门项目、技术趋势、社区动态
03 Financial API ✅ 已成功发送 3.4 MB A 股、美股、加密货币、实时行情
04 Financial RSS ✅ 已成功发送 3.2 MB 财经媒体聚合、AI 分类、专业解读

🎧 示例音频

example/ 目录下可以试听已生成的播客节目:

文件 来源 日期
podcast-zotero-2026-03-17.mp3 Zotero 学术播客 2026-03-17
podcast-github-2026-03-18.mp3 GitHub Trending 2026-03-18
podcast-financial-rss-2026-03-20.mp3 Financial RSS 财经播客 2026-03-20

系统架构

┌─────────────────────────────────────────────────────────────────┐
│                        📥 数据采集层                              │
│                                                                 │
│  ┌───────────┐  ┌───────────┐  ┌──────────────┐  ┌───────────┐ │
│  │  Zotero   │  │  GitHub   │  │ Financial    │  │ Financial │ │
│  │  arXiv    │  │  Trending │  │ API (新浪等) │  │ RSS(财联社)│ │
│  └─────┬─────┘  └─────┬─────┘  └──────┬───────┘  └─────┬─────┘ │
└────────┼──────────────┼───────────────┼───────────────┼─────────┘
         └──────────────┴───────────────┴───────────────┘
                                │
                          ┌─────▼─────┐
                          │ 统一接入   │
                          └─────┬─────┘
                                │
┌───────────────────────────────▼─────────────────────────────────┐
│                     📝 INBOX 标准化协议                          │
│           统一 Markdown 格式 · Source / Summary / Takeaway       │
│                inbox/{source}/YYYY-MM-DD.md                     │
└───────────────────────────────┬─────────────────────────────────┘
                                │
                          ┌─────▼─────┐
                          │ 统一生成   │
                          └─────┬─────┘
                                │
┌───────────────────────────────▼─────────────────────────────────┐
│                     🧠 AI 内容生成引擎                           │
│       DeepSeek 摘要重组 → Prompt 组织 → MiniMax TTS 双主播播报   │
└───────────────────────────────┬─────────────────────────────────┘
                                │
                          ┌─────▼─────┐
                          │ 统一交付   │
                          └─────┬─────┘
                                │
┌───────────────────────────────▼─────────────────────────────────┐
│                     📤 自动推送层                                │
│            Telegram Bot / RSS / 邮件 / Webhook                  │
└─────────────────────────────────────────────────────────────────┘

上层是四类真实内容来源,中间是统一 Inbox 协议和 AI 生成引擎,下层是自动推送与继续分发。OpenClaw 负责把这条链路组织成可持续运行、可按时执行、可不断扩展的 Agent 工作流。


快速开始

1. 环境准备

# 克隆项目
git clone <repo-url> && cd PodClaw

# 安装依赖(需要 uv 和 ffmpeg)
uv sync

# 验证安装
uv run python --version  # Python 3.13+

2. 配置

# 编辑 Zotero 配置
vim zotero-inbox-builder/config.yaml

# 编辑播客生成器配置(LLM + TTS API Key)
vim podcast-generator/config.yaml

3. 一键运行四源并行

uv run python daily-workflow/run.py \
  --fetchers zotero,github,financial-api,financial-rss \
  --date $(date +%Y-%m-%d) \
  --publishers openclaw-bot

4. 单独运行某个来源

# 学术论文播客
uv run python zotero-inbox-builder/main.py --date 2026-03-17
uv run python podcast-generator/main.py --date 2026-03-17 --source zotero

# GitHub 开源播客
uv run python github-inbox-builder/main.py --date 2026-03-18
uv run python podcast-generator/main.py --date 2026-03-18 --source github

# 金融实时数据播客
uv run python financial-api-inbox-builder/main.py --date 2026-03-18
uv run python podcast-generator/main.py --date 2026-03-18 --source financial-api

# 财经 RSS 播客
uv run python financial-rss-inbox-builder/main.py --date 2026-03-18
uv run python podcast-generator/main.py --date 2026-03-18 --source financial-rss

数据源

数据源 类型 内容 更新频率
Zotero / arXiv 学术 arXiv 论文 + Zotero 个人收藏,智能重排筛选 每日
GitHub Trending 开源 热门项目趋势、技术社区动态 每日
Financial API 金融 A 股 / 美股 / 加密货币实时行情(新浪财经等) 实时
Financial RSS 财经 财联社 / 华尔街见闻等媒体聚合 实时

产物与使用场景

每次任务交付三类产物

产物 格式 意义
播客音频 MP3 用户可直接收听,核心产品形态
博客文稿 Markdown 适合网页展示、二次编辑与内容复用
剧集元数据 JSON 适合后续自动发布、程序化分发与系统集成

使用场景

  • 研究订阅 — 每天把论文动态整理成一档研究播客
  • 资讯简报 — 把多个信息源收敛成一档晨报或晚报
  • 组织知识广播 — 把团队内部更新、周报和研究进展做成内部音频节目

这些场景的共同点是:用户想持续获取高价值信息,但不想持续管理信息源。


项目结构

PodClaw/
├── inbox/                             # 📥 采集的标准化内容
│   ├── zotero/                        #    学术论文
│   ├── github/                        #    开源项目
│   ├── financial-api/                 #    金融市场数据
│   └── financial-rss/                 #    财经新闻
│
├── output/                            # 📤 生成的播客产物
│   ├── audio/                         #    MP3 音频
│   ├── blog/                          #    Markdown 文稿
│   └── episodes/                      #    JSON 元数据
│
├── example/                           # 🎧 示例播客音频
│
├── zotero-inbox-builder/              # 🔬 学术数据源 Builder
│   ├── main.py
│   ├── lib/
│   └── config.yaml
│
├── podcast-generator/                 # 🎙️ AI 播客生成器
│   ├── main.py
│   ├── src/podcast_core/
│   └── config.yaml
│
├── daily-workflow/                    # ⏰ 每日工作流编排
│   └── run.py
│
├── fig/                               # 🖼️ 图片资源
├── INBOX_SPEC.md                      # 📋 Inbox 格式规范
├── SKILL-Pipeline.md                  # 🚀 流水线 Skill 定义
├── pyproject.toml                     # 📦 Python 依赖
└── README.md                          # 📖 本文件

技术栈

组件 技术
数据采集 Python · httpx · BeautifulSoup
RSS 解析 httpx · xml.etree
AI 摘要 DeepSeek API
语音合成 MiniMax TTS (speech-2.5-hd-preview) · Edge TTS
任务调度 OpenClaw Cron
消息推送 Telegram Bot API
依赖管理 uv
数据存储 SQLite

配置说明

Zotero 数据源配置

# zotero-inbox-builder/config.yaml
zotero:
  user_id: "your_user_id"
  api_key: "your_api_key"
source:
  arxiv:
    category: ["cs.CR", "cs.SE", "cs.CY"]
reranker:
  top_k: 30

播客生成器配置

# podcast-generator/config.yaml
llm:
  api_key: "your_deepseek_api_key"
  base_url: https://api.deepseek.com/v1
  model: deepseek-chat

tts:
  provider: minimax
  minimax:
    api_key: "your_minimax_api_key"
    tts_model: speech-2.5-hd-preview
    speaker1:
      name: 南宫婉
      voice_id: "Chinese (Mandarin)_Gentle_Senior"
    speaker2:
      name: 韩立
      voice_id: "Chinese (Mandarin)_Gentleman"

OpenClaw 原生优势

能力 产品价值
Skill 化封装 抓取器与生成器都能被自然语言工作流直接调用
任务编排 先抓取后生成的日常流程可以稳定自动执行
定时运行 天然适合日更播客、晨报、晚报等场景
多 Agent 扩展 后续新增来源时,不必推翻现有生成器
产物可追踪 每天的 Inbox 和输出文件都可审计、复盘、重跑

这让 PodClaw 更像一个可演进的产品底盘,而不是一个写死输入输出关系的小工具。


开发与扩展

添加新的数据源

  1. 创建 xxx-inbox-builder/ 目录
  2. 实现 main.py 入口
  3. 实现 lib/fetcher.py 采集逻辑
  4. 生成符合 INBOX_SPEC.md 的 Markdown
  5. 注册到 daily-workflow/run.py

自定义播客风格

编辑 podcast-generator/config.yaml

podcast:
  duration_min: 20
  duration_max: 30
tts:
  minimax:
    speaker1:
      name: "主播A"
      voice_id: "xxx"
    speaker2:
      name: "主播B"
      voice_id: "yyy"

扩展方向

方向 扩展价值
新增抓取源 让论文、RSS、网页、代码仓库等更多来源进入同一节目链路
记忆感知 Agent 让系统从被动订阅升级为主动发现用户真正关心的话题
自动分发层 让节目可以继续投递到 Bot、邮件、RSS 或站点
多频道节目 按角色、主题、团队拆分多条自动化节目流

注意事项

  1. 时区处理 — Zotero/arXiv 使用 UTC 时间,已自动适配北京时间运行
  2. API 限制 — CoinGecko 免费版有速率限制,Alpha Vantage 需要 API Key
  3. RSS 稳定性 — 部分财经 RSS 可能变动,需要定期更新配置
  4. 存储空间 — 每个播客约 3-10 MB,建议定期清理旧文件

许可证

MIT License


PodClaw
PodClaw | 播客龙虾
让龙虾替你收集,让播客替你交付
你的播客龙虾,最鲜活!

About

把你真正关心的一切,变成一档每日 AI 播客

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 55.9%
  • Python 30.3%
  • TeX 13.8%