feat(web): split plan page from tasks (FE-6)

- Nav overview group: 首页 / 任务 / 计划 / Agent 会话; tasks page drops the plan tab
- /console/tasks?tab=plan[&job=] redirects to /console/schedules[?job=]
- Plan page: 自动任务 compact grouped list (switch, interval preset/custom, last result,
  countdown, failure reason, run now/skip/run records) and Agent 巡检 cards (goal,
  allowlist, budget, upstream/model, trigger, cost per run, recent sessions); split stats
- Home plan band: two counts linking to #auto / #checks
- Docs: console-ia §7.4a, glossary, schedules runbook; smoke routes

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-29 17:13:54 +08:00
1 parent c3aaf901ad
commit baf2d6ea04
22 files changed
+1030 -417

No files matched your search

+1 -1
View File
@@ -117,7 +117,7 @@ export function businessLink(b: EngineRun["business"], input?: unknown): { to: s
case "agent":
return { to: `/console/agent/${id}`, label: "Agent 会话" };
case "schedule":
return { to: `/console/tasks?tab=plan&job=${id}`, label: "定时任务" };
return { to: `/console/schedules?job=${id}`, label: "定时任务" };
case "feed":
return { to: consolePath("sources"), label: "Feed" };
case "site":
@@ -94,7 +94,7 @@ function ScheduleBanner({ jobId, onClear }: { jobId: string; onClear: () => void
运行记录
</Button>
<Button asChild variant="ghost" size="xs">
<Link to={`/console/tasks?tab=plan&job=${encodeURIComponent(jobId)}`}>
<Link to={`/console/schedules?job=${encodeURIComponent(jobId)}`}>
<ExternalLink />
计划
</Link>