播客处理流水线 · 使用说明

从 Apple Podcast URL 自动获取播客 → 语音转文字 → 中文翻译 → AI 要点分析

一、地址总览

用途地址
前端首页(时间线)https://doorcome.cn/podcast/
添加播客https://doorcome.cn/podcast/new
播客管理https://doorcome.cn/podcast/podcasts
API 文档 (Swagger)https://doorcome.cn/api/docs/
管理后台https://doorcome.cn/admin/

二、前端使用

2.1 添加播客

  1. 打开「添加」页面
  2. 粘贴 Apple Podcast 链接,格式如:
    https://podcasts.apple.com/cn/podcast/lex-fridman-podcast/id1434243584
  3. 点击「添加」按钮
  4. 系统自动获取播客信息、节目列表,后台 AI 开始处理
✅ 支持所有 Apple Podcast URL。系统会通过 iTunes API 获取元数据, 然后解析 RSS Feed 获取所有节目。

2.2 查看要点

2.3 单集详情

2.4 播客管理

三、后台管理

访问 /admin/ 使用管理员账号登录。

模型功能
Podcast(播客)查看、搜索所有播客
Episode(节目)查看处理进度、过滤状态、重试失败节目
Transcript(转写)查看 ASR 结果和翻译内容
Highlight(要点)查看 AI 分析结果
处理状态说明: pendingdownloadingdownloadedtranscribingtranscribedtranslatingtranslatedanalyzingcompleted
任意步骤失败 → failed(Admin 可选重试)

四、AI 处理流程

添加播客后,Celery Worker 自动处理每个节目:

Step 1: 下载音频文件到服务器
Step 2: 千问 DashScope ASR → 语音转文字(带时间戳分段)
Step 3: 检测语种:
  · 非中文 → DeepSeek 翻译成中文
  · 中文 → 跳过翻译
Step 4: DeepSeek 要点分析 → JSON 结构化结果
  · 一句话摘要
  · 详细摘要(3-5段)
  · 要点列表(话题 + 观点 + 时间戳)
  · 标签

最终状态 → completed。
失败自动重试 3 次,每次间隔 60 秒。

五、命令行操作

SSH 到服务器后使用:

# 添加播客
cd /home/simon/myquant/django/podcast
source venv/bin/activate
python manage.py init_podcast "https://podcasts.apple.com/cn/podcast/.../idXXXXXX"

# 添加并触发 AI 处理
python manage.py init_podcast "https://..." --trigger-tasks

# 查看服务状态
sudo systemctl status podcast-gunicorn   # Django API
sudo systemctl status podcast-celery      # AI 处理 Worker
sudo systemctl status podcast-frontend    # 前端

# 查看日志
sudo journalctl -u podcast-celery -n 50 -f

# 重启某个服务
sudo systemctl restart podcast-celery

六、API 参考

完整 API 文档在 Swagger UI

方法路径说明
POST/api/podcasts/add/通过 Apple URL 添加播客
GET/api/podcasts/播客列表
GET/api/podcasts/{id}/播客详情(含节目列表)
DELETE/api/podcasts/{id}/删除播客
GET/api/episodes/节目列表(支持 status/podcast_id 过滤)
GET/api/episodes/{id}/单集详情(含转写+要点)
POST/api/episodes/{id}/retry/重试失败的节目
GET/api/highlights/要点列表(支持 date/podcast_id 过滤)
GET/api/highlights/today/今日要点

七、管理员账号

地址用户名密码
https://doorcome.cn/admin/adminadmin123
⚠️ 首次使用建议修改默认密码。

八、配置说明

服务器配置文件:/home/simon/myquant/django/podcast/.env

配置项说明
DASHSCOPE_API_KEY千问 DashScope API Key(ASR 语音转文字)
DEEPSEEK_API_KEYDeepSeek API Key(翻译 + 要点分析)
DASHSCOPE_ASR_MODELASR 模型名(默认 paraformer-realtime-v2)
DEEPSEEK_MODELDeepSeek 模型名(默认 deepseek-chat)
DEV_MOCK_ASR开发模式:1=跳过真实 ASR,0=调用真实 API