docs(design): IA-3 implementation notes in console-ia (FE-1)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-09-28 16:10:42 +08:00
1 parent 738d4ce752
commit 09a6b0b5d3
1 file changed
+52
+52
View File
@@ -288,3 +288,55 @@
| 账户与安全 `account` | password / totp / session / shortcuts | 改密、TOTP 开启/关闭、当前会话到期与退出、本机 Token、Agent 快捷键 | 后端没有会话列表/吊销接口,只能看当前会话;改密会注销其它会话 |
每节独立保存:全局设置类的节有"未保存"标记、保存/还原按钮,保存后 sonner 一句;实例、站点、上游类在抽屉里保存。窄屏左栏折叠为顶部下拉。
## 7. IA-3 已实施对照(FE-1,2026-09-28)
依据 `docs/plan/00-first-version-plan.md` §8"IA-3 最终定稿"。定稿文字写"共 12 项",逐项清单是 14 项,按清单实施。
### 7.1 侧栏(`components/console/nav.ts`,5 组 14 项)
| 组 | 项 → 路由 | 说明 |
| --- | --- | --- |
| 概览 | 首页 `/console`、任务 `/console/tasks`、Agent 会话 `/console/agent` | 待处理不进侧栏 |
| 资源 | 站点 `/console/sites`、RSS 订阅 `/console/sources` | 页面标题由站点区(FE-2)更新;"RSS 订阅"与术语表"Feed"并存,术语表待定 |
| 订阅 | 订阅 `/console/subscriptions`、规则 `/console/rules` | 偏好标签页保留路由,由规则页(FE-3)收编 |
| 整理 | 下载面板 `/console/downloads`、整理记录、文件管理、媒体概览 `/console/library` | 下载计划成为下载面板第二个页签(`/downloads/plans` 路由不变) |
| 系统 | 设置、审计 `/console/audit`、运行状态 `/console/status` | 引擎面板、定时任务、身份与元数据不再有入口 |
- 顶栏收件箱(`components/console/inbox-bell.tsx`):铃铛 + 未决角标;下拉按问题类型分组列最近 8 条,点开进 `/console/inbox?kind=`,"查看全部"进待处理页(路由保留)。
- 顶栏标题 `pageTitle()`:导航项名,或不在侧栏的页面名(待处理、偏好标签)。
### 7.2 重定向(`routes/console/redirects.ts`)
| 旧 | 新 |
| --- | --- |
| `/console/engine[?…]` | `/console/tasks[?…]` |
| `/console/engine/:runId` | `/console/tasks?run=:runId`(任务抽屉) |
| `/console/schedules` | `/console/tasks?tab=plan` |
| `/console/tasks?tab=business` / `tab=tasks` | `/console/tasks` |
| `/console/identity`(`tab=pool`) | `/console/library?filter=unidentified` |
| `/console/identity?tab=external` / `aliases` | `/console/library?view=identities` / `view=aliases` |
| `/console/tasks/:id` | 先按任务(引擎运行)查;不是则按旧业务任务查,有引擎运行就跳过去;再不是就按下载任务跳 `/downloads/:id` |
### 7.3 任务页(`/console/tasks`)
- 页签:全部 / 进行中(进行中 + 排队)/ 失败 / 计划;页签带计数(`/engine/stats`)。
- 任务流 = `GET /engine/runs` + `business`:行显示业务标题(`title`,否则类型 + 短 id,否则工作流做什么)、来源(定时 / 事件 / 手动 / Agent;API Key 算手动)、状态、开始与耗时、关联链接。
- 筛选写进 URL:`source`、`kind`(businessKind)、`ref`(businessRefId)、`status`、`since`(1h/24h/7d/30d → `from`)、`workflow`(旧引擎链接)。来源筛选在前端对已加载记录做(后端无 triggeredBy 参数)。
- 详情抽屉 `?run=`:业务摘要 → 时间线(创建、开始、等待、失败步骤、结束)→ 相关审计(`/audit?targetType=engine_run&targetId=`,定时任务另链 `scheduled_job`)→ 折叠的引擎步骤(原引擎面板详情:步骤尝试、信号、输入输出)。操作:未结束可取消,已结束可重跑(重跑后抽屉切到新任务)。`/console/tasks/:id` 是同内容的独立页。
- 计划页签 = 原定时任务看板(`components/schedules/schedule-board.tsx`)。卡片"运行记录"跳任务流 `kind=schedule&ref=<key>`;该筛选下页头给出定时任务自己的运行记录(含跳过)与回到卡片的链接;`?job=` 高亮并滚到卡片。
### 7.4 首页
正在进行(任务流进行中前 5 + 排队/下载计数)、需要我处理(计数 + 前 3 条)、媒体概览(版本目标满足率、今日产出;作品/季/资产数占位)、计划带(下一次运行的 5 项、启用/失败计数、快速开关)、最近完成/失败、缓存与保留、来源健康(站点 + 账号状态,来自 `/sites?include=accounts`,有问题的排前)、运行状态摘要(`/system/health`)。
### 7.5 运行状态页(`/console/status`)
顶部横幅按 `level` 列出问题;进程表(类型、主机/pid、版本、启动、最后心跳、延迟/峰值、并发、运行中、SSE、内存);趋势(1/6/24/168 小时,事件循环延迟峰值与 SSE 连接数,recharts 无彩,多进程靠线型和图例区分);数据库、任务引擎、定时任务(失败项链到计划卡)、磁盘(阈值刻线)、挂载根。
### 7.6 后端缺口
- `/dashboard` 没有 `library{entities, seasons, assets}`,首页媒体概览三个计数显示"—"(site-center.md §10 已列)。
- `/engine/runs` 没有 `triggeredBy` 筛选参数,来源筛选只作用于已加载的记录。
- `/engine/runs` 的 `status` 只收单值,"进行中"页签用 running、pending 两次查询各取前 100 条合并,不分页。
- 定时任务的运行记录(`scheduled_job_run`)没有对应引擎 run id,卡片与任务之间只能按 `business.kind=schedule` + key 关联;feeds.poll 这类只发事件的定时任务,触发的任务记在 Feed 名下。