从 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/ |
https://podcasts.apple.com/cn/podcast/lex-fridman-podcast/id1434243584访问 /admin/ 使用管理员账号登录。
| 模型 | 功能 |
|---|---|
| Podcast(播客) | 查看、搜索所有播客 |
| Episode(节目) | 查看处理进度、过滤状态、重试失败节目 |
| Transcript(转写) | 查看 ASR 结果和翻译内容 |
| Highlight(要点) | 查看 AI 分析结果 |
pending → downloading → downloaded →
transcribing → transcribed →
translating → translated →
analyzing → completedfailed(Admin 可选重试)
添加播客后,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 文档在 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/ | admin | admin123 |
服务器配置文件:/home/simon/myquant/django/podcast/.env
| 配置项 | 说明 |
|---|---|
| DASHSCOPE_API_KEY | 千问 DashScope API Key(ASR 语音转文字) |
| DEEPSEEK_API_KEY | DeepSeek API Key(翻译 + 要点分析) |
| DASHSCOPE_ASR_MODEL | ASR 模型名(默认 paraformer-realtime-v2) |
| DEEPSEEK_MODEL | DeepSeek 模型名(默认 deepseek-chat) |
| DEV_MOCK_ASR | 开发模式:1=跳过真实 ASR,0=调用真实 API |