跳转至

WebUI 任务与实时更新

持久队列统一保存任务定义、尝试、进度、诊断和文件归属记录。本页说明执行控制与实时同步。

任务生命周期

sync 与 download 任务覆盖对应 CLI 的完整输入。创建无目标同步时,会立即解析并保存当前已启用作者。每次尝试都会取得不可变且脱敏的配置快照,之后的配置修改只影响未来尝试。

每项任务还保存仅用于展示的快照,其中包含规范化目标键及可选作品标题、作者名;离线时仍然可读,且不会参与执行、去重或资源锁。队列条目以任务目标而非输出路径作为主体,详情、暂停/恢复、停止、编辑、排序和删除操作始终直接可见。

具有可读任务目标的桌面队列

直接展示操作的移动任务队列

深色任务编辑器

顶层队列默认同时运行两个任务(KTOOLBOX_WEBUI__MAX_ACTIVE_TASKS),每个任务内部仍保留作者和文件并发配置。完全相同的活动任务会返回现有任务;规范化输出、作者或作品资源发生重叠时,新任务进入 blocked,等待资源锁释放。

实时事件通过支持断线续接的 SSE 发送,REST 中的任务状态始终是最终依据,且只有 task.status 事件可以改变任务状态;单个文件下载完成不会把所属任务提前标记为完成。总下载速度使用五秒滚动窗口和短暂的文件交接宽限期,切换文件时不会瞬间闪为零。概览页和任务页都会汇总所有真正运行中任务的速度。

显示全局下载速度的概览

详情页显示作者准备状态、文件数、传输字节、总体进度、总速度与单文件速度、ETA、跳过/失败计数、活动作者、活动下载、等待重试及结构化日志。活动下载、重试和传输事件使用项目命名格式生成的最终文件名,而不是 Pawchive 不可读的存储标识。三张实时卡片拥有稳定高度和独立滚动区域,并发数量变化不会再推动日志或页面。默认“活动”视图会过滤逐块进度与普通入队噪声,需要时仍可切换到文件传输或完整诊断视图。

稳定的任务实时卡片

失败尝试会持久保存有界且脱敏的诊断报告,不再只记录失败数量。任务条目直接显示第一条有意义的原因;详情页按作者与文件分组,并给出失败阶段、是否适合重试、安全字段路径和建议处理方式。报告不会保存上游响应正文、作品标题、Cookie 或完整下载 URL。窄屏使用 64px 顶栏、12px 页面间距和紧凑外观 Popover,在不把表单文字缩小到 16px 以下的前提下展示更多内容;MCP 工具目录使用可折叠 HeroUI 分组,并在搜索或权限筛选时自动展开匹配组。

结构化任务失败说明

紧凑移动端外观控制

移动端实时任务进度

暂停采用协作方式:关闭活动网络流,保留已完成文件和可续传临时文件;恢复会新建一次尝试。停止会保留任务定义,以便编辑后重新执行。只有暂停、停止、失败和中断任务可以恢复;已完成同步任务改为提供“重新运行”,复用原任务记录并新建一次尝试,已完成的单作品下载不提供此操作。服务进程重启后,原运行任务标记为 interrupted,残留实时进度会被清空,并且必须由用户明确恢复。

普通删除只移除任务、尝试和日志。“同时删除输出”会先展示可读任务目标、输出目录、文件与总字节数,以及可展开的相对路径预览;界面不显示内部任务 UUID。确认后只删除任务记录为自己创建且未被修改的普通文件;不会跟随或删除符号链接,也不会删除既存、已修改或共享文件。

可读的任务输出清理预览

已完成同步任务的重新运行操作

自动刷新

登录后,应用只建立一个 SSE 连接,在多个浏览器标签页之间同步任务、作者、忽略规则、配置、MCP 令牌和当前打开的远程目录。结构性修改通常会在 1 秒内显示;任务进度会直接更新本地查询缓存,不会反复下载完整任务列表。

实时连接不可用超过 5 秒时,WebUI 会显示紧凑警告,并每 10 秒刷新一次本地项目数据;SSE 恢复后会立即停止降级轮询并统一刷新一次。Pawchive 搜索、作品详情和版本检查始终按需执行,不会被降级轮询触发。

系统页会显示当前更新方式、最后信号时间,并提供“立即刷新”和“重新连接”。如果其他标签页或 MCP 客户端在表单存在未保存修改时更新数据,KToolBox 会保留草稿,并让用户选择重新加载或继续编辑;保存时仍执行既有的 ETag 和任务状态冲突检查。

相关 WebUI 指南