Skip to content

Latest commit

 

History

History
129 lines (100 loc) · 3.54 KB

File metadata and controls

129 lines (100 loc) · 3.54 KB

项目架构完成

已创建的文件

核心应用

  • App/PodcastApp.swift - 应用入口
  • App/AppState.swift - 全局状态管理
  • App/ContentView.swift - 主视图

数据模型

  • Models/Topic.swift - 话题模型
  • Models/Podcast.swift - 播客模型
  • Models/RSSFeed.swift - RSS源模型
  • Models/ListeningHistory.swift - 收听历史模型

服务层

  • Services/RSS/RSSService.swift - RSS订阅服务
  • Services/LLM/LLMService.swift - LLM服务(支持豆包和OpenAI)
  • Services/TTS/TTSService.swift - TTS语音合成服务
  • Services/Audio/AudioPlayer.swift - 音频播放器
  • Services/PodcastService.swift - 播客生成服务

视图组件

  • Views/Sidebar.swift - 侧边栏
  • Views/Onboarding/OnboardingView.swift - 首次话题选择
  • Views/PodcastList/PodcastListView.swift - 播客列表
  • Views/Player/PlayerControlBar.swift - 播放控制栏
  • Views/Topics/TopicsView.swift - 话题管理(占位)
  • Views/RSS/RSSView.swift - RSS管理(占位)
  • Views/History/HistoryView.swift - 收听历史(占位)
  • Views/Settings/SettingsView.swift - 设置界面

配置文件

  • Package.swift - 依赖管理
  • README.md - 项目说明

下一步操作

1. 在 Xcode 中打开项目

cd /Users/yechang/个人/CODING/PodcastApp
open Package.swift

Xcode 会自动:

  • 下载依赖(FeedKit、OpenAI)
  • 配置项目
  • 准备构建环境

2. 配置 API Key

首次运行后,在设置界面配置:

  • 豆包 API Key(推荐):

    1. 访问 https://www.volcengine.com/
    2. 注册并开通豆包服务
    3. 获取 API Key
    4. 在应用设置中填入
  • 模型选择Doubao-pro-32kDoubao-pro-128k

3. 运行项目

  1. 在 Xcode 中选择目标设备为 "My Mac"
  2. 点击 Run 按钮(或按 Cmd+R)
  3. 首次启动会显示话题选择界面
  4. 选择感兴趣的话题后开始使用

功能状态

V0.1 已实现

  • ✅ 项目架构搭建
  • ✅ 数据模型定义
  • ✅ 服务层实现
  • ✅ 基础UI组件
  • ✅ 首次话题选择
  • ✅ 播客列表展示
  • ✅ 音频播放控制
  • ✅ 设置界面

待完善

  • ⏳ TTS音频生成(当前为占位实现)
  • ⏳ 话题管理界面
  • ⏳ RSS订阅管理界面
  • ⏳ 收听历史界面
  • ⏳ 自动生成定时任务
  • ⏳ 错误处理和用户反馈

技术说明

依赖库

  • FeedKit: RSS解析
  • OpenAI: LLM API客户端(也可用于豆包)
  • AVFoundation: 音频播放和TTS(系统内置)
  • SwiftData: 数据持久化(系统内置)

架构模式

  • MVVM: Model-View-ViewModel
  • 服务层: 独立的业务逻辑模块
  • 依赖注入: 通过 EnvironmentObject

数据流

User Input → View → ViewModel → Service → Model → View

成本估算

使用豆包 Doubao-pro-32k:

  • 单期播客(15分钟):约 ¥0.01
  • 每天生成1期:约 ¥0.3/月
  • 每天生成3期:约 ¥0.9/月

非常经济实惠!

注意事项

  1. API Key 安全:不要将 API Key 提交到代码仓库
  2. 音频文件管理:生成的音频文件存储在临时目录,需要定期清理
  3. 错误处理:当前版本的错误处理较简单,生产环境需要完善
  4. 性能优化:大量播客时需要优化列表加载性能

开发建议

  1. 先测试基础功能(话题选择、设置配置)
  2. 配置好 API Key 后测试播客生成
  3. 逐步完善各个功能模块
  4. 添加错误处理和用户反馈
  5. 优化UI和交互体验