核心架构
架构总览
Ghost Downloader 的核心边界:UI、服务、任务、功能包和浏览器桥接。
Ghost Downloader 的架构可以用一句话概括:UI 发起意图,CoreService 调度任务,FeatureService 选择功能包,具体下载逻辑留在 features/*_pack,浏览器扩展通过 BrowserService 接入。
架构边界
协议解析属于 Feature Pack,任务调度属于 CoreService,界面交互属于 app/view,浏览器扩展协议服务当前扩展而非公开远程控制 API。
责任分层
| 层 | 主要源码 | 负责 |
|---|---|---|
| 入口 | Ghost-Downloader-3.py | 日志、配置、翻译、服务启动、窗口创建。 |
| UI | app/view | 任务列表、设置页、弹窗、托盘。 |
| 服务 | app/services | 任务调度、功能包加载、浏览器桥接。 |
| 模型 | app/bases/models.py | Task、TaskStage、状态和序列化。 |
| 功能包 | features/*_pack | 协议解析、下载实现、外部运行时接入。 |
| 扩展 | browser_extension/app | 网页资源捕获、扩展 UI、WebSocket 请求。 |
核心数据流
- 用户或扩展提交 URL / payload。
CoreService请求FeatureService选择可处理的 Feature Pack。- Feature Pack 创建
Task。 CoreService按并发限制运行任务。- UI、扩展和
taskRecorder读取任务状态。
