muzhicaomingwang/ai-ideas · Archived

podcast-publish-xiaoyuzhou

自动发布每日科技早报播客到小宇宙平台。 触发场景:用户提到"发布播客"、"小宇宙播客"、"自动发布"、"播客上传"、"RSS发布"。 适用于:将生成的播客音频自动发布到RSS.com,并通过RSS订?

First seen Jan 25, 2026

Installation

$ npx skills add muzhicaomingwang/ai-ideas --skill podcast-publish-xiaoyuzhou

Summary

  • 自动发布每日科技早报播客到小宇宙平台。
  • 触发场景:用户提到"发布播客"、"小宇宙播客"、"自动发布"、"播客上传"、"RSS发布"。
  • 适用于:将生成的播客音频自动发布到RSS.com,并通过RSS订阅同步到小宇宙,同时发送飞书通知。

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Also in this package

Other skills from muzhicaomingwang/ai-ideas.

npx skills add muzhicaomingwang/ai-ideas

Browse all from muzhicaomingwang/ai-ideas

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 3
License LICENSE
Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 15,344 B
  • docs SUMMARY.md 332 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 25 installs

SKILL.md

播客发布到小宇宙 Skill

概述

此 Skill 实现了每日科技早报播客的全自动发布流程:播客生成 → RSS.com发布 → 小宇宙同步 → 飞书通知。

项目路径: /Users/qitmac001395/workspace/QAL/ideas/apps/daily-podcast-ai

核心能力

功能 状态 所需配置
早报播客生成 ✅ 可用 ELEVENLABSAPIKEY
RSS.com自动发布 ✅ 可用 RSSCOMAPIKEY + RSSCOMPODCASTID
小宇宙RSS订阅 ✅ 可用 一次性手动配置
飞书消息通知 ✅ 可用 FEISHUAPPID + FEISHUAPPSECRET + FEISHURECEIVEROPEN_ID
定时自动执行 ✅ 可用 macOS launchd (每天7点)

使用方法

方式1: 自动执行(推荐)

无需操作,每天早上7点自动运行:

07:00 - 从缓存读取新闻(0:00-6:00收集的30-50篇)
07:02 - AI优选Top 10新闻
07:05 - 生成对话脚本(双人播报模式)
07:10 - TTS语音合成(ElevenLabs)
07:15 - 合并音频 + 生成封面
07:17 - 发布到RSS.com
07:18 - 发送飞书通知
08:00 - 小宇宙自动同步

方式2: 手动发布指定日期

cd /Users/qitmac001395/workspace/QAL/ideas/apps/daily-podcast-ai

# 发布昨天的播客
python scripts/publish_to_rss.py --date 2026-01-14

# 生成今天的播客并发布
python scripts/daily_generate.py --from-cache && \
python scripts/publish_to_rss.py --date $(date +%Y-%m-%d)

方式3: 仅发送飞书通知

python scripts/notify_feishu.py \
  --date 2026-01-14 \
  --rss-url "https://rss.com/podcasts/xxx/feed.xml" \
  --episode-url "https://rss.com/podcasts/xxx/episodes/ep_xxx" \
  --article-count 10

首次配置指南

步骤1: RSS.com配置(5分钟)

  1. 注册账号: https://rss.com/ → Sign Up
  2. 创建播客: Dashboard → Create New Podcast

`` 名称: 今日科技早报 分类: Technology / News 语言: Chinese (Simplified) ``

  1. 获取凭证:

- Settings → API Keys → Generate New API Key - 复制 API Key: rsscomsk_xxx - 从播客URL获取 Podcast ID

  1. 配置环境变量:

编辑 apps/daily-podcast-ai/.env: ``bash RSSCOMAPIKEY=rsscomskyouractualkey RSSCOMPODCAST_ID=your-podcast-uuid ``

步骤2: 小宇宙订阅配置(3分钟,仅需一次)

  1. 登录创作者平台: https://podcaster.xiaoyuzhoufm.com/podcasts/695e1e64e0970c835fb2e784/home
  2. 添加RSS订阅:

- 设置 → RSS Feed设置 - 输入: https://rss.com/podcasts/{YOUR_ID}/feed.xml - 点击「验证并导入」

  1. 首次同步: 点击「立即同步」

步骤3: 飞书通知配置(可选,5分钟)

  1. 创建飞书应用: https://open.feishu.cn/app
  2. 添加权限: im:message + im:message:sendasbot
  3. 配置环境变量:

``bash FEISHUAPPID=clixxx FEISHUAPPSECRET=xxx FEISHURECEIVEROPENID=ou_18b8063b232cbdec73ea1541dfb74890 # 王植萌 ``

步骤4: 测试验证(2分钟)

# 测试发布
python scripts/publish_to_rss.py --date 2026-01-14

# 预期看到:
# ✅ Episode published successfully!
# 📱 发送飞书通知...
# ✅ 飞书消息发送成功

技术架构

集成流程图

┌─────────────┐
│ 早报生成     │  scripts/daily_generate.py
│ (每天7点)    │  - 从cache读取新闻
└──────┬──────┘  - AI优选Top 10
       │         - TTS语音合成
       ↓
┌─────────────┐
│ 输出文件     │  output/{date}/dailyReport/
│             │  - podcast-{date}-1.2x.mp3
│             │  - cover-{date}.png
└──────┬──────┘  - script-{date}.md
       │
       ↓
┌─────────────┐
│ RSS发布     │  scripts/publish_to_rss.py
│             │  - 上传音频到RSS.com
└──────┬──────┘  - 创建单集元数据
       │
       ├──────────────────┐
       ↓                  ↓
┌─────────────┐    ┌─────────────┐
│ RSS Feed    │    │ 飞书通知     │  scripts/notify_feishu.py
│ 更新        │    │             │  - 发送卡片消息
└──────┬──────┘    └─────────────┘  - 包含RSS链接
       │
       ↓ (每小时)
┌─────────────┐
│ 小宇宙同步   │  podcaster.xiaoyuzhoufm.com
│             │  - 自动抓取RSS
└─────────────┘  - 发布到App

关键文件

文件 行数 功能
scripts/publishtorss.py 376 RSS.com发布主脚本
scripts/notify_feishu.py 191 飞书通知脚本
scripts/daily_generate.py 651 播客生成核心逻辑
scripts/dailyautomatedrun.sh 100 定时任务执行脚本
docs/XIAOYUZHOU_INTEGRATION.md - 完整集成指南
QUICKSTART_XIAOYUZHOU.md - 5分钟快速开始

环境变量清单

# 必需 - 播客生成
ELEVENLABS_API_KEY=sk_xxx          # TTS语音合成

# 可选 - AI增强
OPENAI_API_KEY=sk-xxx              # AI摘要和优选

# 必需 - RSS发布
RSS_COM_API_KEY=rss_com_sk_xxx    # RSS.com API
RSS_COM_PODCAST_ID=xxx-xxx-xxx     # 播客频道ID

# 可选 - 飞书通知
FEISHU_APP_ID=cli_xxx              # 飞书应用ID
FEISHU_APP_SECRET=xxx              # 飞书密钥
FEISHU_RECEIVER_OPEN_ID=ou_xxx     # 接收者Open ID

代码改进(已实现)

1. 智能文件名识别(publishtorss.py:258-269)

问题: 项目生成 podcast-{date}-1.2x.mp3,但脚本期望 podcast-{date}.mp3

解决: 自动查找并使用多速率版本

audio_file = base_path / f"podcast-{args.date}.mp3"
if not audio_file.exists():
    audio_file_12x = base_path / f"podcast-{args.date}-1.2x.mp3"
    audio_file_15x = base_path / f"podcast-{args.date}-1.5x.mp3"

    if audio_file_12x.exists():
        audio_file = audio_file_12x

2. 多端点重试机制(publishtorss.py:106-159)

问题: RSS.com API端点可能变化

解决: 依次尝试3个可能的端点

upload_endpoints = [
    f"{self.API_BASE_URL}/upload",
    f"{self.API_BASE_URL}/media",
    f"{self.API_BASE_URL}/podcasts/{self.podcast_id}/media"
]

3. 飞书通知集成(publishtorss.py:343-362)

功能: 发布成功后自动调用 notify_feishu.py

特性:

  • 使用 check=False 避免通知失败中断主流程
  • 自动提取文章数量
  • 传递RSS URL和单集URL

飞书消息效果

发布成功后,接收者会收到蓝色卡片消息:

┌─────────────────────────────────────────┐
│ 🎙️ 今日科技早报已发布                    │
├─────────────────────────────────────────┤
│ 📅 日期: 2026-01-14                     │
│ 📰 内容: 精选 10 篇科技新闻              │
│                                         │
│ 📢 发布状态:                             │
│ - ✅ RSS.com 发布成功                    │
│ - ⏳ 小宇宙同步中(预计1小时内)          │
│                                         │
│ 🔗 单集链接: https://rss.com/...        │
│ 📡 RSS Feed: https://rss.com/...feed.xml│
│                                         │
│ ───────────────────────────────────────  │
│ 💡 小宇宙订阅步骤:                       │
│ 1. 打开小宇宙创作者平台                  │
│ 2. 点击「立即同步」查看最新单集          │
│ 3. 首次设置需添加RSS订阅(仅需一次)      │
└─────────────────────────────────────────┘

故障排查

常见问题

问题 症状 解决方案
RSS发布失败 401 Unauthorized 检查API Key是否正确/过期
文件找不到 Missing required files 确认播客已生成,检查output目录
小宇宙未同步 RSS成功但App无单集 手动点击「立即同步」
飞书通知失败 发布成功但无消息 检查应用权限,验证open_id
API端点404 Endpoint not found 查看RSS.com最新API文档

调试命令

# 查看最近的生成日志
tail -50 logs/daily_run.log

# 检查错误日志
tail -50 logs/daily_error.log

# 验证RSS Feed可访问
curl -I "https://rss.com/podcasts/{YOUR_ID}/feed.xml"

# 验证环境变量
python3 -c "from dotenv import load_dotenv; import os; load_dotenv(); \
  print('RSS Key:', bool(os.getenv('RSS_COM_API_KEY'))); \
  print('Podcast ID:', bool(os.getenv('RSS_COM_PODCAST_ID')))"

使用场景

场景1: 每日自动发布(默认)

触发: 每天07:00自动执行 流程: 完整的生成 → 发布 → 通知 无需操作: 配置一次后永久生效

场景2: 补发昨天的播客

# 用户说: "帮我重新发布昨天的播客到小宇宙"
python scripts/publish_to_rss.py --date 2026-01-14

场景3: 仅通知不发布

# 用户说: "通知植萌播客已发布"
python scripts/notify_feishu.py \
  --date 2026-01-14 \
  --rss-url "https://rss.com/podcasts/xxx/feed.xml" \
  --article-count 10

场景4: 生成但不发布

# 用户说: "生成今天的播客但先不发布"
python scripts/daily_generate.py --from-cache
# 不运行 publish_to_rss.py

技术细节

RSS.com API集成

API版本: v4 Base URL: https://api.rss.com/v4 认证方式: Bearer Token

核心端点:

POST /upload                           # 上传文件(主端点)
POST /media                            # 备选端点1
POST /podcasts/{id}/media              # 备选端点2
POST /podcasts/{id}/episodes           # 创建单集
GET  /podcasts/{id}/feed.xml           # RSS Feed

文件上传:

  • 音频: 最大100MB,支持MP3/M4A
  • 封面: 最大5MB,推荐3000x3000px PNG
  • 超时: 120秒

小宇宙集成方式

方式: RSS订阅(非API上传)

优势:

  • ✅ 一次配置,永久生效
  • ✅ 无需逆向工程小宇宙API
  • ✅ 官方支持,稳定可靠
  • ✅ 支持多平台分发

更新频率:

  • 默认: 每小时
  • 可设置: 30分钟/2小时/4小时

飞书通知实现

消息类型: Interactive(卡片消息)

卡片结构:

{
  "header": {"title": "🎙️ 今日科技早报已发布", "template": "blue"},
  "elements": [
    {"tag": "markdown", "content": "📅 日期: {date}\n📰 内容: 精选 {count} 篇..."}
  ]
}

依赖库: httpx>=0.27.0


监控与维护

日志位置

logs/
├── daily_run.log        # 主日志(生成+发布)
├── daily_error.log      # 错误日志
├── hourly-stdout.log    # 每小时收集日志
└── hourly-stderr.log    # 收集错误

关键日志搜索

# 查看最近5次发布状态
grep "Publication completed" logs/daily_run.log | tail -5

# 查看RSS发布错误
grep "RSS" logs/daily_error.log

# 查看飞书通知记录
grep "飞书通知" logs/daily_run.log | tail -5

数据清理

# 清理30天前的播客文件(节省空间)
find output/ -type d -mtime +30 -exec rm -rf {} +

# 清理缓存(保留最近7天)
find cache/ -name "*.json" -mtime +7 -delete

成本预估

每日成本

服务 用量 成本
ElevenLabs TTS 3-5分钟音频 ¥1-2
OpenAI GPT-4o-mini 摘要+优选 ¥0.5-1
RSS.com 3-5MB存储+流量 免费
小宇宙 RSS订阅 免费
飞书API 1条消息/天 免费

月度总计: ¥45-90(主要是ElevenLabs和OpenAI)

免费额度

  • ElevenLabs: 10,000 credits/月(约10分钟)
  • OpenAI: 需付费,但gpt-4o-mini成本极低
  • RSS.com: 免费版支持5GB存储+流量
  • 飞书: 企业自建应用免费

扩展功能(可选)

1. 多平台分发

将同一个RSS Feed提交到:

  • 小宇宙(已支持)
  • 喜马拉雅
  • 荔枝FM
  • Apple Podcasts
  • Spotify Podcasts

2. 数据分析

从RSS.com获取统计数据:

curl -H "Authorization: Bearer $RSS_COM_API_KEY" \
  "https://api.rss.com/v4/podcasts/$RSS_COM_PODCAST_ID/analytics"

3. 智能推送

根据播放数据优化:

  • 调整发布时间(当前07:00)
  • 优化新闻选择策略
  • A/B测试不同播报风格

4. 批量操作

# 批量发布最近7天的播客
for date in $(seq -f "%Y-%m-%d" 7 -1 1); do
  python scripts/publish_to_rss.py --date $date
  sleep 10
done

注意事项

重要提醒

  1. API凭证安全:

- ✅ .env 已在 .gitignore 中 - ❌ 不要将API Key提交到Git - ❌ 不要在日志中打印完整API Key

  1. 文件命名规范:

- 项目生成带速率后缀的文件(-1.2x.mp3) - 发布脚本会自动识别 - 优先使用1.2x版本(平衡时长和音质)

  1. 错误处理策略:

- RSS发布失败 → 中断流程(需要人工介入) - 飞书通知失败 → 仅记录日志(不影响发布) - 小宇宙同步延迟 → 可手动触发

  1. RSS Feed更新频率:

- RSS.com: 实时更新 - 小宇宙: 每小时抓取(可配置) - 加速同步: 手动点击「立即同步」


相关资源

官方文档

项目文档

  • 完整集成指南: [docs/XIAOYUZHOUINTEGRATION.md](../../apps/daily-podcast-ai/docs/XIAOYUZHOUINTEGRATION.md)
  • 快速开始: [QUICKSTARTXIAOYUZHOU.md](../../apps/daily-podcast-ai/QUICKSTARTXIAOYUZHOU.md)
  • 主项目README: [apps/daily-podcast-ai/README.md](../../apps/daily-podcast-ai/README.md)

工具链接


更新记录

  • 2026-01-15: 初始版本,支持RSS.com自动发布和小宇宙订阅
  • 2026-01-15: 添加飞书通知功能(王植萌)
  • 2026-01-15: 修复多速率音频文件名识别问题
  • 2026-01-15: 增强API错误处理,支持多端点重试

Skill维护者

  • 创建者: Claude Code
  • 项目: daily-podcast-ai
  • 版本: v1.0.0
  • 最后更新: 2026-01-15