feat(downloads): fold download plans into download panel (DL-3)

- Waiting plans (approval / disk space / automation off / queued) are
  active-segment rows on /download-tasks/board, merged by created_at,
  counted, with approve / cancel actions; ?plan= deep links and legacy
  /downloads/plans routes redirect to the panel
- Download detail shows "why this download" (source, purpose, replaced
  version, reasons); raw evaluation in tech info
- Failed / cancelled / expired plans appear in the entity download
  history; rejected / revoked / expired approvals close draft plans
- New GET /acquisition-plans/{id}/why, POST /acquisition-plans/{id}/cancel
- User-facing copy no longer says 下载计划; glossary updated

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-30 01:15:25 +08:00
1 parent c0522f2531
commit a9147e647d
50 files changed
+1535 -348

No files matched your search

+3 -2
View File
@@ -38,7 +38,8 @@ const ACTION_LABEL: Record<string, string> = {
"pi_upstream.oauth_logout": "退出订阅登录",
"schedule.run_now": "立即执行定时任务",
"schedule.skip": "跳过定时任务",
"acquisition_plan.manual_submit": "手动提交下载计划",
"acquisition_plan.manual_submit": "手动提交下载",
"acquisition_plan.cancel": "取消下载",
"engine.run_retry": "重跑任务",
"capability.invoke": "智能体操作",
"capability.denied": "智能体操作被拒绝",
@@ -75,7 +76,7 @@ const TARGET_LABEL: Record<string, string> = {
site_account: "站点账号",
feed_source: "RSS",
engine_run: "任务",
acquisition_plan: "下载计划",
acquisition_plan: "下载",
download_task: "下载任务",
media_entity: "作品",
source_release: "资源",