Podcast Catalog 项目交付文档

内网播客目录服务 + Qt/CEF 桌面客户端 —— 完整交付文档树。 生成日期:2026-06-11 | 文档语言:简体中文(技术标识符保留英文)。 真实性原则:全部内容以仓库代码与活库实测为准,关键事实带 file_path:line 锚点,不臆造。


一分钟了解项目

只读播客目录服务:把 ~7.8GB 源 JSONL(293,781 档播客 / 22,867,469 集剧集)入库 PostgreSQL,经 Next.js 16 REST API 暴露,由 Qt6 + CEF 桌面客户端(内嵌 Web UI)浏览、搜索、播放。本机作为内网服务端,客户端经 HTTP API 取数。

维度现状
数据库PostgreSQL 16,8 表 / 17 索引 / 293,781 播客 + 22,867,469 剧集 + 354,508 分类关联
APINext.js 16 Route Handlers,13 个端点,381 测试全绿 / 覆盖率 94.7%
客户端Qt6 + CEF 144 桌面端(macOS arm64),已签名 + 公证,500 轮压测 0 崩溃
翻页性能DB keyset + 预聚合 + 客户端预取,感知延迟 ~1ms
交付物PodcastDesktop.dmg(159MB,公证完成),内网 HTTP 下载链接

文档树(阅读导航)

docs/delivery/
├── README.md            ← 你在这里(总索引)
├── 01-architecture.md   系统架构设计
├── 02-database.md       数据库设计
├── 03-api-reference.md  API 接口详细设计(供其他 Agent 集成)★
├── 04-modules.md        各模块代码设计
├── 05-implementation.md 实施记录
├── 06-testing.md        测试报告
├── 07-operations.md     运维与交付手册
└── 08-status-roadmap.md 项目进度与 P0/P1 路线图
#文档内容概要主要读者
01系统架构设计三端架构图、技术栈裁决、部署拓扑、端到端数据流、与 v4 设计文档的落地对照架构师 / 新人
02数据库设计8 表完整 DDL、17 索引、tsvector 全文检索、ETL 管线、一致性保证后端 / DBA
03API 接口详细设计 ★13 端点逐个规格(参数/响应/错误/curl)、envelope、错误码、游标分页、字段映射、偏差登记集成方 / 其他 Agent
04模块代码设计服务端分层、Web UI SPA、桌面端 Qt+CEF(启动/消息泵/关闭握手/服务地址解析)全栈 / C++
05实施记录环境搭建、数据入库、三层性能优化(A/B 数据)、打包签名公证踩坑实录工程 / 运维
06测试报告381 单测 + 一致性 0 差异、500 轮压测、性能基线、缺陷修复QA / 验收
07运维与交付手册服务启停、状态检查、客户端分发、quarantine 处理、故障排查运维 / 支持
08进度与 P0/P1 路线图已完成清单、PRD 能力矩阵、P0/P1/P2 待办分级、风险登记管理者 / 决策

按角色快速入口


当前待办速览(详见 08)

P0(阻塞正式交付)

  1. Git 版本控制未落地 —— 代码几乎全部未纳入版本管理,误删即不可恢复
  2. 数据库无 pg_dump 容灾备份 —— 数据单点
  3. 服务器常驻(launchd 未装 + 未防睡眠)—— Mac 睡眠即断服
  4. 内容版权法务确认 —— 音频/封面来自第三方 CDN

P1(重要增强):真实多用户鉴权(JWT,当前固定 token)、限流(OWASP,未实装)、订阅/收藏(表已设计未实现)、下载队列 UI、Intel 双架构、Redis 缓存层。


源文档与代码索引(本交付树之外的一手材料)

类型路径
原始需求07_Podcasts_下载功能_PRD.md
架构调研真源deepresearch_podcast-catalog-api-architecture_20260604_v4.md
API 契约(实现侧)podcast-api/docs/API-DESIGN.md
测试计划podcast-api/docs/TEST-PLAN.md
性能报告podcast-api/docs/PERF-REPORT.md
压测报告desktop/tests/STRESS-REPORT.md
服务运维docs/SERVICE-OPS.md
客户端分发DELIVERY.md
环境安装清单INSTALL-CHECKLIST.md
服务端代码podcast-api/src/(lib/services·lib/api·lib/db·app/api·validations)
ETL 脚本podcast-api/scripts/etl/
桌面端代码desktop/src/ + desktop/CMakeLists.txt
打包/公证desktop/package.sh · desktop/notarize-on-server.sh