| 项目 | 内容 |
|---|---|
| 文档版本 | v1.1 |
| 创建日期 | 2026-04-08 |
| 更新日期 | 2026-04-08 |
| 关联文档 | [[我的笔记/NAS需求文档/下载器/NAS下载器应用需求规划文档]]、[[我的笔记/NAS需求文档/下载器/NAS下载器产品竞品分析]]、[[我的笔记/NAS需求文档/下载器/NAS下载器原型结构图]] |
| 目标版本 | 下载器 V1 / V1.5 |
| 面向角色 | 产品 / 设计 / 前端 / 服务端 / 客户端 / 测试 |
NAS 下载器是一款面向 NAS 原生场景的系统应用,支持以下资源来源:
.torrent BT 种子下载目标是以 原生易用 + PT 友好 + 分享链路闭环 + 远程管理 为核心,形成区别于第三方 BT 下载器的系统级体验。
flowchart LR
A[下载器应用] --> B[首页/任务列表]
A --> C[添加任务弹窗]
A --> D[任务详情页]
A --> E[设置页]
A --> F[通知/完成反馈]
B --> B1[状态筛选]
B --> B2[任务表格]
B --> B3[批量操作]
B --> B4[搜索/筛选]
B --> B5[全局速率栏]
C --> C1[链接创建]
C --> C2[Torrent上传]
C --> C3[品牌分享链接]
D --> D1[基础信息]
D --> D2[文件列表]
D --> D3[Tracker/网络信息]
D --> D4[错误日志]
E --> E1[常规]
E --> E2[下载/上传限制]
E --> E3[BT/PT连接]
E --> E4[做种规则]
E --> E5[Tracker]
E --> E6[通知]
E --> E7[存储]
flowchart TD
A[首页/任务列表] -->|点击添加任务| B[添加任务弹窗]
A -->|点击任务名称| C[任务详情页]
A -->|点击设置| D[设置页]
A -->|点击完成通知| C
B -->|创建成功| A
B -->|需查看详情| C
C -->|打开目录| E[文件管理]
C -->|返回列表| A
D -->|保存设置| A
| 角色 | 权限范围 |
|---|---|
| 管理员 | 查看所有任务、管理全局设置、删除任意任务、配置下载规则 |
| 普通用户 | 创建并管理自己的任务、写入授权目录、查看自己的任务 |
| 场景 | 权限要求 | 处理方式 |
|---|---|---|
| 创建下载任务 | 用户需有目标目录写权限 | 无权限则禁止创建并提示 |
| 修改全局设置 | 仅管理员 | 普通用户隐藏或置灰入口 |
| 查看他人任务 | 仅管理员 | 普通用户不可见 |
| 删除任务并删除文件 | 用户需具备目标文件删除权限 | 无权限则仅允许删除任务记录 |
| 分享链接转存 | 用户需具备目标目录写权限与分享资源读取权限 | 校验失败则提示对应原因 |
| 字段 | 说明 |
|---|---|
| task_id | 任务唯一 ID |
| task_type | bt / pt / magnet / https / share_link |
| source | 原始资源内容(种子、链接、分享链接 ID) |
| name | 任务名称 |
| status | 任务状态 |
| progress | 下载进度 0~100 |
| size_total | 总大小 |
| downloaded_size | 已下载大小 |
| upload_size | 已上传大小 |
| download_speed | 当前下载速度 |
| upload_speed | 当前上传速度 |
| ratio | 分享率 |
| save_path | 保存目录 |
| create_time | 创建时间 |
| start_time | 开始时间 |
| finish_time | 完成时间 |
| error_code | 错误码 |
| error_message | 错误描述 |
| owner | 所属用户 |
| extra | 协议扩展字段 |
| 状态 | 说明 |
|---|---|
| waiting | 等待中 |
| metadata_fetching | 获取元数据中 |
| downloading | 下载中 |
| seeding | 做种中 |
| paused | 已暂停 |
| verifying | 校验中 |
| completed | 已完成 |
| failed | 失败 |
| invalid | 资源失效 |
| permission_denied | 权限失效 |
| removed | 已删除 |
| 错误码 | 场景 | 说明 |
|---|---|---|
| DL-001 | 链接非法 | 资源格式无法识别 |
| DL-002 | 目录无权限 | 目标目录不可写 |
| DL-003 | 磁盘空间不足 | 无法继续下载 |
| DL-004 | 资源不存在 | 404 / 分享失效 |
| DL-005 | 认证失败 | 401 / 提取码错误 |
| DL-006 | 网络超时 | 请求超时或 tracker 超时 |
| DL-007 | 元数据获取失败 | magnet/torrent 信息未能拉取 |
| DL-008 | PT 风险配置 | 私有 PT 使用了高风险设置 |
| DL-009 | 文件冲突 | 同名文件处理失败 |
| DL-010 | 内部服务异常 | 下载服务或分享服务异常 |
集中展示所有任务状态,支持用户快速筛选、批量管理和查看整体下载健康度。
flowchart TD
A[下载器首页] --> B[顶部工具栏]
A --> C[左侧状态导航]
A --> D[中间任务列表]
A --> E[底部状态栏]
A --> F[右侧详情抽屉 可选]
B --> B1[添加任务]
B --> B2[开始]
B --> B3[暂停]
B --> B4[删除]
B --> B5[搜索框]
B --> B6[筛选器]
C --> C1[全部]
C --> C2[下载中]
C --> C3[做种中]
C --> C4[已完成]
C --> C5[已暂停]
C --> C6[错误]
D --> D1[多选框]
D --> D2[名称]
D --> D3[类型]
D --> D4[状态]
D --> D5[进度]
D --> D6[下载速度]
D --> D7[上传速度]
D --> D8[剩余时间]
D --> D9[已下载]
D --> D10[分享率]
D --> D11[保存位置]
D --> D12[添加时间]
E --> E1[总下载速率]
E --> E2[总上传速率]
E --> E3[任务统计]
建议包含:
| 字段 | 说明 | 必须 |
|---|---|---|
| 名称 | 资源名称,可点击进入详情 | 是 |
| 类型 | BT/PT/磁力/HTTPS/分享链接 | 是 |
| 状态 | 当前任务状态 | 是 |
| 进度 | 百分比 + 进度条 | 是 |
| 下载速度 | 当前下载速率 | 是 |
| 上传速度 | BT/PT 时显示 | 否 |
| 剩余时间 | 估算剩余时间 | 否 |
| 已下载 | 已下载大小 | 是 |
| 分享率 | BT/PT 时显示 | 否 |
| 保存位置 | 目标目录 | 是 |
| 添加时间 | 创建时间 | 是 |
| 操作 | 说明 |
|---|---|
| 添加任务 | 打开统一创建弹窗 |
| 开始 / 恢复 | 对暂停或失败任务恢复执行 |
| 暂停 | 暂停任务 |
| 删除任务 | 删除任务记录 |
| 删除任务并删除文件 | 二次确认后执行 |
| 重试 | 对失败任务重新发起 |
| 打开目录 | 跳转文件管理 |
| 搜索 | 按任务名搜索 |
| 筛选 | 按状态 / 类型 / 时间 / 目录筛选 |
PT 标记与分享率。text┌─────────────────────────────────────────────────────────────────────────────┐ │ 下载器 [添加任务] [开始] [暂停] [删除] [搜索] │ ├───────────────┬─────────────────────────────────────────────────────────────┤ │ 全部 (12) │ □ 名称 类型 状态 进度 下行 上行 剩余 已下载 时间 │ │ 下载中 (4) │ □ Ubuntu BT 下载中 60% 2MB 0.3 8m 1.2G 10:21 │ │ 做种中 (3) │ □ Movie PT 做种中 100% 0 1.5 -- 8.0G 昨天 │ │ 已完成 (2) │ □ Tool.zip HTTPS 完成 100% -- -- -- 1.1G 昨天 │ │ 已暂停 (1) │ □ 分享资料 分享 排队中 0% -- -- -- 0 刚刚 │ │ 错误 (2) │ │ ├───────────────┴─────────────────────────────────────────────────────────────┤ │ 总下载:12.6 MB/s 总上传:3.1 MB/s 活跃任务:5 错误任务:2 │ └─────────────────────────────────────────────────────────────────────────────┘
统一承接所有任务创建方式,尽量减少用户对协议差异的理解成本。
.torrent 文件flowchart TD
A[添加任务弹窗] --> B[类型识别区]
A --> C[通用配置区]
A --> D[协议专属配置区]
A --> E[底部操作区]
B --> B1[链接输入框]
B --> B2[上传torrent按钮]
B --> B3[自动识别结果标签]
C --> C1[资源名称]
C --> C2[保存目录]
C --> C3[备注]
C --> C4[自动开始]
D --> D1[BT/PT文件列表]
D --> D2[PT安全模式提示]
D --> D3[分享链接提取码]
D --> D4[分享文件列表]
D --> D5[保存方式 转存/下载]
E --> E1[取消]
E --> E2[创建任务]
| 输入 | 识别结果 |
|---|---|
magnet:? | 磁力链任务 |
https://品牌分享域名/... | 分享链接任务 |
https://其他域名/... | HTTPS 任务 |
上传 .torrent 文件 | BT / PT 任务 |
| 字段 | 说明 |
|---|---|
| 资源名称 | 自动识别,可编辑 |
| 保存目录 | 必填 |
| 备注 | 可选 |
| 创建后是否自动开始 | 默认开启 |
| 字段 | 说明 |
|---|---|
| 文件列表 | 支持多文件选择 |
| 总大小 | 只读 |
| 私有 PT 标识 | 若 private=1 则高亮展示 |
| 做种策略 | 默认“无限做种”或按全局策略 |
| 字段 | 说明 |
|---|---|
| 提取码 | 如需则填写 |
| 分享文件列表 | 支持多选 |
| 保存方式 | 转存 / 下载 |
| 校验项 | 规则 |
|---|---|
| 资源格式 | 必须为可识别类型 |
| 目录权限 | 用户对目标目录有写权限 |
| 重复任务 | 提示跳过/继续/覆盖(HTTPS) |
| 空间检查 | 若剩余空间明显不足需预警 |
| PT 风险 | 私有 PT 自动启用安全模式并提示 |
text┌──────────────────────────────────────────────┐ │ 添加任务 X │ ├──────────────────────────────────────────────┤ │ [输入链接................................] │ │ [上传 .torrent] 识别结果:PT种子 │ ├──────────────────────────────────────────────┤ │ 资源名称:Ubuntu ISO │ │ 保存目录:[ downloads/linux v ] │ │ 备注: [ ] │ │ 自动开始:[√] │ ├──────────────────────────────────────────────┤ │ 文件列表: │ │ [√] ubuntu.iso 4.8 GB │ │ PT 安全模式已启用:DHT / PEX / LSD 已关闭 │ ├──────────────────────────────────────────────┤ │ [取消] [创建任务] │ └──────────────────────────────────────────────┘
在列表之外提供更强的排障、状态追踪与细粒度信息展示。
flowchart LR
A[任务详情页] --> B[头部摘要]
A --> C[页签区]
B --> B1[任务名称]
B --> B2[状态]
B --> B3[进度]
B --> B4[开始/暂停/删除/打开目录]
C --> C1[概览]
C --> C2[文件]
C --> C3[Tracker/网络]
C --> C4[日志]
C1 --> D1[保存目录]
C1 --> D2[时间信息]
C1 --> D3[累计下载/上传]
C1 --> D4[错误摘要]
C2 --> E1[文件名]
C2 --> E2[大小]
C2 --> E3[进度]
C3 --> F1[Tracker列表]
C3 --> F2[Peer数]
C3 --> F3[分享率]
C3 --> F4[PT安全模式]
C4 --> G1[最近日志]
C4 --> G2[错误码]
| 项目 | 说明 |
|---|---|
| 任务名称 | 可编辑(P1) |
| 类型 | BT/PT/磁力/HTTPS/分享链接 |
| 当前状态 | 统一状态枚举 |
| 保存目录 | 支持打开目录 |
| 创建时间 / 开始时间 / 完成时间 | 任务时间线 |
| 累计下载量 / 上传量 | 数据统计 |
| 错误信息 | 最近一次异常 |
| 信息项 | 说明 |
|---|---|
| 文件列表 | 文件名、大小、进度 |
| Tracker 列表 | URL、状态、响应时间 |
| Peer 数 | 当前连接数 |
| 私有 PT 标识 | 显示 PT 安全模式状态 |
| 分享率 | 上传/下载比 |
| 做种时长 | 累计做种时间 |
| 信息项 | 说明 |
|---|---|
| 原始 URL | 用户输入的链接 |
| 最终 URL | 重定向后的实际地址 |
| 文件大小 | 来自响应头或下载结果 |
| 断点续传支持 | 是否支持 Range |
| 重试次数 | 当前重试统计 |
| 信息项 | 说明 |
|---|---|
| 分享来源 | 分享域名/分享者 |
| 链接状态 | 正常/过期/失效 |
| 提取码状态 | 已验证 / 验证失败 |
| 模式 | 转存 / 下载 |
| 文件清单 | 支持查看选择结果 |
text┌────────────────────────────────────────────────────────────────┐ │ Movie-Pack [PT] 做种中 100% ↑1.2 MB/s Ratio 2.31 │ │ [暂停] [删除] [打开目录] │ ├────────────────────────────────────────────────────────────────┤ │ 概览 | 文件 | Tracker/网络 | 日志 │ ├────────────────────────────────────────────────────────────────┤ │ 保存目录:/media/downloads/movies │ │ 创建时间:2026-04-08 10:21 │ │ 累计下载:8.2 GB 累计上传:18.9 GB 做种时长:2天 │ │ PT安全模式:已启用 │ │ 错误摘要:无 │ ├────────────────────────────────────────────────────────────────┤ │ Tracker:tracker.xxx.com 正常 最近响应:320ms │ │ Peer:38 下载器端口:51413 │ └────────────────────────────────────────────────────────────────┘
| 规则 | 说明 |
|---|---|
| 无限做种 | 不自动停止 |
| 按分享率停止 | 达到目标分享率后停止 |
| 按做种时长停止 | 达到时长后停止 |
| 全局默认策略 | 新任务默认继承系统设置 |
| 场景 | 规则 |
|---|---|
| 公开 BT | 可使用通用 Tracker |
| 私有 PT | 禁止追加公共 Tracker |
| Tracker 异常 | 支持手动重新 announce |
| 场景 | 处理方式 |
|---|---|
| 同名文件存在 | 跳过 |
| 同名文件存在 | 覆盖 |
| 同名文件存在 | 自动重命名 |
| 异常 | 提示要求 |
|---|---|
| 401 | 提示认证失败 |
| 403 | 提示无权限 |
| 404 | 提示资源不存在 |
| SSL 异常 | 提示证书异常 |
| 网络超时 | 提示超时并可重试 |
| 磁盘不足 | 明确提示空间不足 |
通过品牌分享链接直接把共享内容落到当前 NAS,实现与系统分享体系的闭环联动。
| 模式 | 说明 |
|---|---|
| 转存到我的 NAS | 优先走服务端复制/转存 |
| 下载到指定目录 | 生成真实下载任务 |
| 异常 | 处理方式 |
|---|---|
| 链接过期 | 直接提示不可用 |
| 提取码错误 | 允许重新输入 |
| 分享已取消 | 提示资源失效 |
| 无访问权限 | 引导登录或提示无权限 |
| 转存失败 | 可提示改为下载模式(若可行) |
flowchart LR
A[设置页] --> B[左侧分类导航]
A --> C[右侧配置面板]
B --> B1[常规]
B --> B2[下载/上传限制]
B --> B3[BT/PT连接]
B --> B4[做种规则]
B --> B5[Tracker]
B --> B6[通知]
B --> B7[存储]
C --> C1[表单项]
C --> C2[开关]
C --> C3[数字输入]
C --> C4[目录选择器]
C --> C5[保存按钮]
| 分类 | 设置项 | V1 |
|---|---|---|
| 常规 | 默认下载目录 | 是 |
| 常规 | 新任务自动开始 | 是 |
| 并发 | 最大同时下载任务数 | 是 |
| 并发 | 最大同时做种任务数 | 是 |
| 限速 | 全局下载限速 | 是 |
| 限速 | 全局上传限速 | 是 |
| 限速 | 分时段限速 | 是 |
| 网络 | 监听端口 | 是 |
| 网络 | TCP/uTP 开关 | 是 |
| 做种 | 分享率停止规则 | 是 |
| 做种 | 时长停止规则 | 是 |
| Tracker | 通用 Tracker 列表 | 是 |
| 通知 | 完成/失败通知 | 是 |
| 存储 | 删除任务时是否删除文件 | 是 |
| 网络 | UPnP/NAT-PMP | P1 |
| 存储 | 临时目录 / 完成目录 | P1 |
| 网络 | 最大 Peer / 最大连接数 | P1 |
text┌───────────────────────────────────────────────────────────────┐ │ 设置 │ ├───────────────┬───────────────────────────────────────────────┤ │ 常规 │ 默认下载目录 [ downloads/default v ] │ │ 下载/上传限制 │ 最大同时下载数 [ 3 ] │ │ BT/PT连接 │ 最大同时做种数 [ 5 ] │ │ 做种规则 │ 全局下载限速 [ 0 ] KB/s │ │ Tracker │ 全局上传限速 [ 200 ] KB/s │ │ 通知 │ 分时段限速 [开启] │ │ 存储 │ │ │ │ [保存] │ └───────────────┴───────────────────────────────────────────────┘
| 场景 | 联动方式 |
|---|---|
| 下载完成 | 打开目录 |
| 下载失败 | 定位详情页 |
| P1 媒体场景 | 触发媒体库扫描 |
| App 场景 | 发送推送通知 |
.torrentflowchart TD
A[App 下载器页] --> B[顶部搜索/添加]
A --> C[状态标签]
A --> D[任务卡片列表]
A --> E[底部Tab或更多菜单]
flowchart TD
A[点击添加] --> B[粘贴链接]
B --> C[自动识别类型]
C --> D[选择保存目录]
D --> E[创建成功]
E --> F[返回任务列表]
stateDiagram-v2
[*] --> waiting
waiting --> metadata_fetching: magnet/torrent 解析
waiting --> downloading: https/分享直下
metadata_fetching --> downloading: 元数据成功
metadata_fetching --> failed: 元数据失败
downloading --> paused: 用户暂停
paused --> downloading: 用户恢复
downloading --> verifying: BT/PT 下载完成
verifying --> seeding: 校验通过且开启做种
verifying --> completed: 校验通过且不做种
downloading --> completed: HTTPS/转存完成
downloading --> failed: 网络/权限/资源异常
seeding --> paused: 用户暂停
seeding --> completed: 达到做种停止条件
failed --> waiting: 用户重试
completed --> [*]
本文作者:oyph
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!