Files
UHD_Media_Tool/docs/design/de-ai-review.md
T

41 KiB
Raw Blame History

去 AI 味、去工程味审查(DEAI-1)

2026-09-29 · 只审查,不改代码。依据:human-copy 文案规范、用户品味清单、glossary.md、console-ia.md;对照 MoviePilot 前端 src/locales/zh-CN.ts。 截图:登录 https://127.0.0.1 只读抓取(非 GET 的 /api 请求一律拦截,未碰站点搜索),存在 apps/web/test/screenshots/deai/(不进 git),下文用文件名前缀引用,如 01-home。 缺口:库里没有订阅,订阅详情页无法截图,该页条目来自源码字符串(routes/console/subscriptions.$id.tsx、components/subscriptions/*)。

1. 总诊断

问题主要有五类,根源都是「界面是从数据模型和实现往外长出来的,没有先问用户此刻要什么」。

  1. 数据模型直接当界面。表名、状态码、枚举值原样上屏:identity_unknown、blocked:target_exists、capability.invoke、tmdb:tv:90228、agent_run_event、r1。整理记录、待处理、下载时间线、审计都有。
  2. 每个字段都想解释,解释的是实现而不是后果。计划页 29 行说明里有「对照 MP 启动时的 clear_temp」「observation,按 created_at」「umt backup(宿主机 cron 调用)」;设置页讲哨兵文件 .uhd-root、负缓存、三个进程共用。用户看不懂,看懂了也做不了决定。
  3. 为可审计而堆证据。Agent 会话一屏里同时有「模型说的(未经核查)」「仅供参考,不作为完成依据」「系统核实的结果」、5 个状态徽章、4 个 0 计数、数据来源说明、token 数和四位小数的美元费用。可信度是靠一句话和一个链接建立的,不是靠把账本摊开。
  4. 内部概念名直接露给用户。版本目标、内容单元、临时单元、资产、外部身份、库根、纳管、快照、候选、修订、草案、抑制记录、持续授权、幂等。MP 用「洗版」「已入库 / 缺失」「媒体库目录」「整理」「识别」这类用户早就会说的词。
  5. 同一件事多种说法、多重信号。「身份歧义 / 识别有歧义 / 无法确定作品」「RSS 订阅 / 来源健康 / Feed」「媒体概览 / 媒体库」「整理冲突 / 路径冲突 / target_exists」;「自动化运行中」同时用播放图标、绿点徽章「总开关开」和一句口号表达。

另有一个事实性问题:首页写「0 个订阅在追踪,自动收录、下载和整理」,数字为 0 时后半句是空承诺。

2. 术语对照表

「界面」一列:显示 = 默认视图可以出现;详情 = 只在详情页 / 折叠区 / 高级设置出现;隐藏 = 只在代码、日志、给模型的提示里。

当前用词 用户视角的说法(参考 MP / 常识) 界面 说明
版本目标 / Slot 「想要的版本」;升级动作沿用 MP 的「洗版」 显示(改名后) 首页「版本目标满足率」改「想要的版本已到齐 x / y」;列名「版本目标」→「版本」。需拍板,见 §5.4
资源(SourceRelease) 资源 显示 保留,和 MP 一致
候选 不单独命名;说「可下载的资源」「选一个下载」 隐藏 「候选被选中后生成计划」这种句子直接删
观察(observation) 不出现 隐藏 目前出现在设置「Feed 观察」、计划页「观察记录清理」、下载时间线「观察 · 无」
内容单元 季 / 集 隐藏 作品详情面板标题「内容单元」→「季与集」
临时单元 「未确认的集」或不提示 详情 徽章「临时单元」→「编号待确认」
资产 / 资产位置 文件 / 已入库文件 显示为「文件」 首页「资产 5 已入库视频」→「已入库文件 5」
运行 / run / 引擎运行 任务(用户侧);引擎步骤只在详情折叠区 详情 「未关联业务对象 · ce28d777」这种行默认不进任务列表
租约 / 控制权 / 接管(浏览器) 「你在操作」/「交还给 Agent」 显示(按钮) 「租约」一词不出现
纳管 / 接管(下载器) 「由本工具管理」;筛选叫「来源:本工具 / 其他」 显示(改名后) 下载列表每行的「接管」徽章删掉,只在不是本工具管理的行标「外部任务」
证据 / 原始证据 / 证据等级 「详情」「依据」 详情 待处理的「原始证据」→「详细信息」;身份的「证据 人工确认 · 校验通过 · r1」→「你确认的」/「自动匹配」
能力 / capability 「Agent 能做的事」;具体项用动作名(查作品、提交下载) 详情 审计里的 capability.invoke / capability.denied 显示为「Agent 查询 · 订阅列表」「Agent 被拒绝 · 检测站点健康」
Agent 上游 / 上游 模型服务 / 模型 显示(改名后) MP 叫「AI Agent / 上游 provider」也不好;「上游登录刷新」每 10 分钟刷屏,见 §3.2。需拍板
巡检 巡检 显示 可保留;说明里去掉「能力白名单」
待识别 / 待识别池 未识别 显示 MP 用「未识别到媒体信息」。「池」字去掉(console-ia §6.4 早已记为遗留)
身份 / 外部身份 「TMDB / IMDb 编号」;动作叫「识别」「改匹配」 详情 「身份歧义」统一成「识别有歧义」;tmdb:tv:90228 显示为「TMDB 90228」链接
TMDB 映射 匹配的 TMDB 条目 详情
持续授权 「允许 Agent 自动执行 xx」 详情 只在 Agent 设置和巡检编辑框出现,不带 ID 前缀
审批 批准 / 拒绝 显示 保留;「会话内审批有效期」→「等你批准的最长时间」
幂等 / 幂等键 不出现 隐藏 工具调用卡片上的「幂等」徽章删,幂等键进审计详情
整理记录 整理记录 显示 与 MP「媒体整理 / 历史记录」一致,保留
库根 媒体库目录 显示(改名后) MP 叫「媒体库目录」;「实际路径与库根」→「文件位置」
登记目录 不单独命名,就是「目录」 隐藏 文件管理左栏已经按「下载目录 / 媒体库」分组,不需要这个词
哨兵 / 哨兵文件 「目录检查」;失败时说「目录不可访问或未挂载」 详情 按钮「检查哨兵」→「检查目录」
快照 「站点最新资源」/「抓取」 详情 站点卡「快照 22 分钟前」→「资源更新于 22 分钟前」;「实时补查」→「去站点搜」
账本 / 本地账本 不出现 隐藏 「本地账本:作品、版本目标、资产与外部身份」整句删
建档 / 已建档 「加入媒体库」/「已在库中,未下载」 显示(改名后) 「建档不订阅」→「只加入媒体库」
修订 r1 / 草案 / 策略版本 「最后修改于…」;草案叫「未启用」 详情 列表的「修订」列删
抑制记录 「已忽略的资源」 显示(改名后) 规则页签名
收录策略 「自动收新作品」 显示(改名后) 规则页签;只在开启新作品自动收录时有意义
缓存卷 / 硬阈值 / 恢复水位 下载盘 / 暂停线 / 恢复线 显示(改名后) 「保留期锁定 287.92 MB」→「做种保留中 288 MB」
进程 / 心跳 / SSE / 事件循环延迟 不出现在首页 详情 只在运行状态页的「高级」折叠区

3. 页面级问题

格式:截图 · 现象(原文) · 为什么 · 改成。

3.1 首页

截图 现象 为什么 改成
01-home 横幅「自动化运行中」+ 绿点徽章「总开关开」+ 播放图标 +「0 个订阅在追踪,自动收录、下载和整理。」 三个信号说一件事;0 订阅配口号是空承诺 一行:「自动化已开启 · 0 个订阅」+ 右侧「暂停」。订阅为 0 时换成「还没有订阅。去搜索添加」
01-home 首页有「只读对账」开关 恢复备份才用的运维开关,放首页既吓人又易误点 移到设置 → 自动化 → 高级;首页只在它开启时显示一条警告「只读模式:不会自动下载和整理」
01-home 「排队 0 · 下载中 0 · 无进展 0 · 入库中 0」「满足 0 / 0 · 需关注 0 · 下载中 0」「新计划 0 · 提交下载 4 · 入库文件 5 · 升级 0」 0 值全部铺开,读者要自己找非零项 只显示非零项;全为 0 时不显示这一行
01-home 「版本目标满足率 —」 内部指标名;分母为 0 时显示横线等于没说 分母为 0 时整块隐藏;有数据时「想要的版本已到齐 12 / 15」
01-home 「最近完成 / 失败」6 行全是绿色「完成」徽章,副标题「处理待处理事项」「核验入库」 徽章泛滥;副标题是工作流名 只列失败和入库完成;成功不加徽章;副标题写结果「已入库」「识别失败」
01-home 「缓存与保留:阈值 90% / 恢复 85% · 在途 0 B · 可清理 0 B · 保留期锁定 287.92 MB」 5 个运维参数挤一行 「下载盘 36% 已用 · 剩 1 TB」,细节进下载面板
01-home 「运行状态:进程 3 在线 · 待执行 0 · 24 小时失败率 0.2% · 数据库 5.3 毫秒」 首页给普通用户看数据库延迟 正常时只显示「运行正常」一行或不显示;异常时显示问题本身
01-home 「近 7 天 $0.0191」 四位小数制造精确感 「近 7 天 $0.02」,不足一分写「< $0.01」

3.2 任务

截图 现象 为什么 改成
02-tasks 页描述「每次运行都是一条任务,不论定时、事件、手动还是 Agent 触发。」 解释数据模型,排比式列举 删,或「最近处理了什么、有没有失败」
02-tasks 「评估候选 · 未关联业务对象 · ce28d777」「识别资源 · 未关联业务对象 · 37b8a16c」成片出现 内部步骤和短 ID 占满列表 默认隐藏无业务对象的运行,筛选里提供「显示系统任务」
02-tasks 「上游登录刷新」每 10 分钟一条 后台保活刷屏 维护类定时任务成功时不进任务列表,只记在计划页
02-tasks 耗时「20 毫秒」「206 毫秒」 毫秒级精度对用户无意义 小于 1 秒写「< 1 秒」
02b-tasks-failed 标题「下载 c062c84a」,「未开始 · 19 小时前」 用 ID 当标题 用作品名 + 资源名;无作品时用资源标题
02-tasks 行副标题「核验入库 · 下载」「处理待处理事项 · 待处理事项」 工作流名 + 对象类型,重复且拗口 只留一个:「入库检查」「识别」

3.3 计划

截图 现象 为什么 改成
03-schedules 「图片缓存清理:删除超过保留天数的图片代理缓存文件(对照 MP 启动时的 clear_temp)」 实现备忘写进界面 「删除过期的海报缓存」
03-schedules 「观察记录清理 … (observation,按 created_at)」「SSE 事件清理 … (sse_event,按 at;发布方另按条数裁剪)」「审计清理 …(audit_event…)」 表名、字段名上屏 把 18 项「维护」合并成一行「数据清理(9 项)」,展开后每项一句人话
03-schedules 「备份:…目前用 umt backup(宿主机 cron 调用),未接入调度」,状态「未运行 · 未配置」 开发状态说明;一个不能用的开关占一行 未接入就不列;或只在运行状态页写「备份:上次 2026-09-28」
03-schedules 「统计信息更新:对全库执行 ANALYZE,刷新查询规划用的统计信息」 数据库运维 放进「数据清理」组,文案「数据库维护」
03-schedules 「到期重评:到了重评时间的收录位重新评估(忙时延后的发布、定时)」 「收录位」是术语表外的第三个 Slot 名 「重新检查等待中的资源」
03b-schedules-checks 巡检卡片直接显示目标模板「巡检待处理({{now}}):有 {{openDecisions}} 条…」 模板变量上屏 卡片只显示一句用途「检查待处理并给建议」,模板进编辑框
03b-schedules-checks 每张卡有「能力」6 个标签 + 3、预算、上游、触发条件、间隔、下次、每次费用、最近结果、最近会话 9 项 字段全铺 默认:名称、开关、间隔、上次结果与费用;其余进编辑框

3.4 Agent 会话与抽屉

截图 现象 为什么 改成
04b-agent-run 「模型说的(未经核查)」+「仅供参考,不作为完成依据。」+「系统核实的结果」 同一个免责声明说了三遍,措辞防御 回复区不加标题;下面一行「实际结果:没有提交下载或整理」,有动作时列出链接
04b-agent-run 徽章「没有产生业务动作」「运行已完成」「工具成功 7」「失败 1」「被拒绝 1」+ 四个 0 计数 + 「取自下载计划、下载任务和整理记录(生成于 …)。「已提交」指已进入下载器,整理成功才算入库。」 为可审计堆证据;0 计数和数据来源说明是噪音 只在有动作时显示计数;工具统计进「步骤」折叠区;数据来源说明删
04b-agent-run 步骤列表显示 site.list(inclu…、site.health_c… 工具函数名上屏 步骤只写人话,工具名进展开详情
04b-agent-run 右栏「预算与用量:工具调用 9 · token 320.7k · 时长 41s · 费用(估算)$0.014」;头部「opencode-go/deepseek-v4.1-flash」 token、模型 ID 对普通用户无意义 默认只显示「费用约 $0.01 · 41 秒」,token 与模型进「详情」
04-agent 会话列表标题是原始提示词:「在浏览器会话 16be7338-… 上直接调用一次 browser.solve_challenge,参数:…」 UUID、JSON 当标题 标题取模型生成的短摘要或截断到第一句;子会话默认折叠在父会话下
04-agent / 04c 「交代目标,边做边汇报」出现在侧栏按钮、悬浮按钮;抽屉又写「交代目标,Agent 在授权范围内执行并汇报。(Ctrl+J 开关,Esc 关闭)」,输入框下再写「Agent 列出步骤后直接执行…Enter 发送,Shift+Enter 换行。」 口号式对仗重复 3 处;快捷键提示重复 4 处 侧栏按钮只写「Agent」+ 快捷键;删悬浮按钮或侧栏按钮其一;抽屉只保留 placeholder「例如:把沙丘:第二部的 4K 收进来」
04c 收起按钮是带渐变描边的胶囊「收起 Ctrl+J / Esc 关闭」 渐变描边 + 发光,和侧栏、悬浮按钮三处同款 普通关闭按钮 ×
agent-conversation.tsx 「有副作用的能力需要有效的持续授权或单次审批,由服务端在执行前核对,模型声称"用户已同意"无效。」;工具卡片「幂等」徽章 安全设计说明写给用户 拒绝时只说「未执行:需要你批准」+「批准」按钮

3.5 站点与站点详情

截图 现象 为什么 改成
05-sites 页描述「凭证、账号数据和健康状态;点站点名看资源、快照与 Feed」 列内容 + 操作指引,都能从界面看出 删
05-sites 卡片:「健康检测 正常 · 1201 ms · 4 小时前」「快照 22 分钟前」「限流 默认」 毫秒延迟、限流、快照是运维字段 卡片只留账号数据 + 一行状态「正常 · 资源更新于 22 分钟前」;异常时写原因
05-sites 徽章「账号正常」「Cookie」「VIP」 登录方式不需要徽章 只留「VIP」这类等级;状态正常不加徽章,异常才标
05b-site-overview 「快照每 1 小时 1 页 · 健康检测每 6 小时 · 详情缓存 24 小时」「近 24 小时请求 22 次」「代理 不使用」 配置回显 放进「编辑站点」
05b / 03 站点页「健康检测每 6 小时」,计划页「站点健康检测 每 1 小时」 两个数字说的是扫描间隔和单站间隔,用户看到的是矛盾 计划页写「每 1 小时检查一次哪些站点到期」或直接不在计划页列出
05c-site-resources 每行资源都有「已识别,无版本目标」 默认情况重复 50 次 只标需要注意的:「未识别」「已在库中」「可洗版」
05c-site-resources 按钮「快照」「实时补查」,角落「近 24 小时请求站点 22 次」 实现术语 「刷新」「去站点搜」;请求次数进站点详情
05e-site-accounts 账号页的「Passkey」(站点 RSS 密钥)与账户设置里的「Passkey」(登录用生物识别)同名 同名两物 站点这边写「站点 Passkey(RSS 与下载链接用)」,账户那边写「通行密钥(Passkey)」

3.6 RSS 订阅

截图 现象 为什么 改成
06-rss 侧栏叫「RSS 订阅」,页标题叫「来源健康」,表格节标题叫「FEED」,术语表叫「Feed」 一物三名 全站统一「RSS」;页标题「RSS」,节标题「RSS 地址」
06-rss 页描述「单个站点的快照、Feed 和账号在站点页管理。」 用说明文字修补 IA 删;站点名本身可点
06-rss 「站点」表格与站点页重复(健康、账号、最近快照) 同一信息两处 本页只列 RSS;站点健康只在站点页
06-rss 列「用途:通用」 只有一个取值时是噪音 只有非通用时显示

3.7 订阅与订阅详情(源码)

位置 现象 为什么 改成
07-subscriptions 筛选栏 11 组(类型、批量、状态 6 值、站点、规则组、来源、洗版、排序),库里 0 条订阅时全部显示 空库也铺满控件 0 条时只显示空态和「新建订阅」
07-subscriptions 空态「从媒体库、搜索或 Agent 添加,也可以点「新建订阅」。」 列举三个入口 「还没有订阅。」+ 按钮「新建订阅」
coverage-matrix.tsx 「临时单元」「还没有正式的内容单元」「按版本目标逐集对比」 内部概念 「编号待确认」「按版本逐集查看」
subscriptions.$id.tsx 「按选择顺序串联;不选 = 订阅默认规则组。版本目标自己的规则组另算」「空 = 24;0 = 关」「空 = 按 TMDB;不锁定时只升不降」 规则引擎语义写成等式 字段默认值直接填进输入框作为 placeholder;规则组说明只留「不选时用默认规则组」
subscriptions.$id.tsx 「季建好后不能改;要换季就新建订阅」 好文案 保留

3.8 规则

截图 现象 为什么 改成
08-rules 页描述「规则组决定哪些资源能下载、同一作品优先挑哪个。收录策略决定哪些新作品自动收录。」 两句对仗定义 删;页签名本身要自解释
08-rules 页签「规则组 / 自定义条件 / 默认值 / 收录策略 / 抑制记录」 五个里三个是内部名 「规则组 / 自定义条件 / 默认规则 / 自动收新作品 / 已忽略」
08-rules 列「修订 r1」「引用 默认链」 版本号与引用关系 删「修订」列;「引用」写「订阅默认」这种具体用途
08b-rules-atoms 13 个关键字各写「不支持,规则串里出现会报错」;标题「对齐 MoviePilot;判定依据按解析字段优先」 列出不支持的东西;实现备忘 不支持的关键字不列,或合并为一行「音乐相关关键字暂不支持」;副标题删
08c-rules-defaults 「链上的组按顺序串联,任一组拒绝即拒绝,优先级取最后一个带层的组。」 算法描述 「按顺序检查,任一组不通过就不下载。」「带层」概念不出现
08d-rules-policies 策略名「AGENT-REAL 最小收录策略(测试)」,按钮「新建策略草案」「基于 r1 新建草案」 测试数据留在用户栈;草案 / 发布模型外露 清理测试数据(数据问题,另开);按钮「新建」「复制并修改」

3.9 下载面板

截图 现象 为什么 改成
09-downloads 页描述「阈值暂停不能手动绕过;无进展只记录,不自动换源。」 两条否定式声明当首屏第一句 删;在暂停的任务行上写「磁盘超过 90%,已暂停」
09-downloads 「qB 测试 36.2% · 604.4 GB / 1.6 TB · 硬阈值 90% / 恢复 85% · 在途 0 B · 预留 0 B · 可清理 0 B · 保留锁定 287.9 MB」 7 个数一排 进度条 + 「已用 604 GB / 1.6 TB」;其余进「详情」
09-downloads 每行徽章「接管」,筛选「纳管」 内部概念,且每行都一样 删徽章;筛选「来源:本工具 / 其他」
09-downloads Interstellar 行状态「下载完成」,但整理两次失败 状态没反映真实问题 状态列写「入库失败:目标已存在」并链到待处理
09c-download-detail 时间线「0/0 文件成功 · identity_unknown」「blocked:target_exists」 错误码原样上屏 「没有识别出作品」「媒体库里已有同名文件」
09c-download-detail 时间线筛选「观察 · 无 / 计划 · 无 / 下载 · 2 / 整理 · 2 / Agent · 无 / 任务 · 2」,标题「业务时间线」 空类别也列;「业务」是开发词 标题「经过」;只显示有记录的类别
09c-download-detail 「torrent hash 31090bf…」直接列在概况 技术信息占首屏 进「详情」折叠
09b-download-plans 「候选被选中后生成计划,同时预留版本目标、空间与预算。」 机制说明 删;空态「还没有下载计划」

3.10 整理记录

截图 现象 为什么 改成
10-organize 失败原因列显示 identity_unknown、blocked:target_exists 服务端把错误码当 message 返回(organize.ts:393、:641),前端原样显示 服务端给中文 message;前端已有映射 organize-wizard/model.ts 的 target_exists: "目标已存在",统一复用
10-organize 「未关联作品 · — · 失败 · 复制 0/0」连续 4 行 0 文件的失败记录 合并为一行「4 次未识别,未整理」或只在待处理出现
10b-organize-detail 「变更游标 35」「记录 ID」「任务 ID」「执行进程本地」「未知或未授权」 同步接口字段、内部 ID 进「技术信息」折叠;「未知或未授权」改「未整理」
10b-organize-detail 按钮「让 Agent 排查」 可以 保留
10-organize 页描述「每次整理的前后路径与逐文件结果,自动和手动整理都记在这里。」 能看出来 删

3.11 文件管理

截图 现象 为什么 改成
11-files 左栏下载目录与媒体库各带「正常」徽章和「剩余 1 TB」,底部又一处「剩余 1 TB」 同一信息两次;正常态徽章 正常不标;剩余空间只在底栏
11-files 行摘要「1 视频 · 0 已登记」 「已登记」是内部状态 「1 个视频 · 未入库」
11-files 筛选「临时文件」「已登记」 同上 「未完成下载」「已入库」
库根设置 「没有可写的库根。在设置里把库根设为纳管后再选。」(dir-picker.tsx) 双重术语 「没有可写入的媒体库目录。去设置添加」

3.12 媒体概览与作品详情

截图 现象 为什么 改成
12-library 侧栏「媒体概览」,详情页面包屑「媒体库」 一物两名 统一「媒体库」(MP 同)
12-library 描述「本地账本:作品、版本目标、资产与外部身份。自动匹配不覆盖人工锁定的外部身份。」 比喻 + 规则声明 删
12-library 页签「作品 / 待识别 / 外部身份 / 别名」 后两个是维护工具 默认只留「作品 / 未识别」;外部身份、别名进作品详情
12c-library-identities 行「tmdb:tv:90228 · 已确认 · 人工确认 · 校验通过 · r1 · 23 分钟前」 键值串 + 三个同义状态 「TMDB 90228 · 你确认的」
12a-library-unidentified 原因「未命中订阅」,列「尝试 1 次 · 26 分钟前」「下次复查 24 小时后」 未命中订阅不是问题,不该叫原因 这类资源默认不进「未识别」,只放真正需要人处理的
12b-library-detail 标题下直接显示 UUID d1fd8828-…;「以本地 ID 为准,外部身份可修改」 内部 ID 与实现声明 UUID 进「更多 → 复制 ID」;说明删
12b-library-detail 「字段来源与锁:锁定的字段刷新时不变」,每字段「来源 TMDB · zh-CN · 26 分钟前 · 候选:TMDB「2014」」 字段溯源铺满 默认折叠为「元数据来自 TMDB · 更新于 26 分钟前 · 编辑」
12b-library-detail 别名一次铺出 80 多种语言 无筛选的数据倾倒 只显示中英文与用户添加的,其余「+83」
12b-library-detail 「实际路径与库根:路径绑定建立后不随译名变化」,每个文件「主位置 · 可访问 · 已核验」 同上 「文件」一节,每行路径 + 大小;异常才标

3.13 设置(9 区)

截图 现象 为什么 改成
13-settings-automation 「存储预算」「流水数据保留」「缓存有效期」三组 13 个天数 / GB 字段,含「Feed 观察」「实时事件」「进程心跳(小时)」「能力调用统计」「负缓存」 每张表一个旋钮 用户层只留:源文件保留天数、日志保留天数、图片缓存上限;其余进「高级」且默认折叠
13-settings-automation 「只读对账:从备份恢复后先开启:只核对库存与路径,不做自动写入。核对完再关闭。」 好文案,位置不对 文案保留,移入「高级」
13-settings-sites 「浏览器服务:原站视图和 Agent 打开站点网页用的 camofox-browser。部署自带的一台由环境变量登记(camofox-env)。」 组件名、部署细节 「浏览器服务:打开站点网页用。」;实例名显示「内置」
13-settings-library 「登记或改路径时会在目录里写哨兵文件 .uhd-root,据此判断库根是否在线」;按钮「检查哨兵」 实现机制 「保存时会在目录里放一个标记文件,用来判断目录是否挂载。」按钮「检查目录」
13-settings-library 命名模板变量表里的「MP 无」标签 给开发者的对照 删
13-settings-metadata 「旧行为。每条资源约 1–2 次搜索 + 命中时 1 次详情(识别缓存命中为 0);每小时 100 条的 RSS 约每天 2400–7200 次请求…」 实现细节 + 「旧行为」是开发者口吻 「每条新资源都查一次 TMDB。RSS 量大时每天可能上千次请求。」
13-settings-agent MCP 区块「Streamable HTTP(POST / GET / DELETE)」「read 16 个 · read + organize.execute 26 个 · admin 35 个」「授权、审计、幂等与控制台一致」 接入文档写在设置里 设置只留开关、端点、复制配置;其余进 docs 链接
13-settings-agent 「fake 脚本(JSON):只对 fake 上游生效」「会话目录:api 与 worker 都要可读写」 开发调试项 生产构建隐藏
13-settings-api-keys scope 名 organize.read / organize.execute 直接作为选项 可接受(给开发者用的页) 保留英文 scope,前面加中文名「只读 / 读整理记录 / 执行整理 / 管理员」
全部分区 页描述「全局参数、实例与凭证。凭证保存后不回显。」 前半句空泛 只留「密钥保存后不再显示。」

3.14 运行状态

截图 现象 为什么 改成
14-status 进程表「9428df7231e2 · pid 29」「io 4 · Agent 0」「SSE 3」 容器 ID 与 pid 这是管理员页,可以保留,但放在「进程」折叠区;默认视图是一行结论「全部正常」
14-status 「体积最大的表(前 10)· 含索引与 TOAST」列出 metadata_field、agent_run_event、openworkflow.workflow_runs 数据库内部表 移到「高级 → 数据库」,默认折叠
14-status 首页「失败 0」,本页「24 小时失败运行 2」,任务页失败页签「2」 三处口径不同 首页计划块写「上次失败 0 项」,和本页「24 小时失败」分开表述
14-status 「已下线实例 33 个 · 不计入告警,24 小时后清理」 容器重建历史 删,或只在进程折叠区
14-status 图表图例「api · 29api · 29api · 29…」重复拼接 渲染问题 修图例(bug,单独处理)

3.15 待处理 / 收件箱

截图 现象 为什么 改成
15-inbox 身份类事项只有「原始证据」和「忽略」,没有主操作 用户来这里就是要处理,最重要的按钮缺了 加「指定作品」主按钮;「原始证据」→「详细信息」
15-inbox 每条都挂「警告」「待处理」两个徽章 全部一样的徽章等于没有 删状态徽章(页面已按状态筛选);级别只标「严重」
15-inbox 分组「身份歧义 · 尚未归属作品」「路径冲突 · 系统级」 分组名是内部分类 「没识别出作品」「媒体库里已有同名文件」
15-inbox 路径冲突事项正文 target_exists 错误码 「媒体库里已有《星际穿越 (2014)》的同名文件」
15-inbox 描述「Agent 调查和重试后仍未解决的事项,按作品和问题类型合并」;事项创建于「刚刚」 声称经过调查,实际未必 「需要你决定的事」
15b-inbox-bell 铃铛下拉写「识别有歧义」,页面写「身份歧义」,首页写「无法确定作品」 一物三名 统一「没识别出作品」

3.16 全局搜索与作品预览

截图 现象 为什么 改成
17-search 描述「先看作品和库内状态,需要时再到站点搜资源。」 教用户流程 删
17-search 状态「已建档 · 未入库」「未收录」 「建档」「收录」都是内部词,两者区别用户不懂 「在媒体库 · 未下载」「不在媒体库」(MP:「已入库 / 缺失」)
17b-command-palette 底部三条提示「作品卡上可以选站点搜资源」「↑↓ 选择 ↵ 打开」「搜资源在作品详情页」 两条说同一件事 只留键位提示
18-tmdb-preview 按钮「订阅 / 搜索资源 / 建档不订阅」 「建档」 「订阅 / 搜索资源 / 加入媒体库」
18-tmdb-preview 「库内对比:本地账本按 TMDB 身份对应;Emby 查询失败记为未知,不等于缺失」 实现声明 标题「库中情况」;说明删,Emby 失败时就写「Emby 查询失败」

3.17 审计与外壳

截图 现象 为什么 改成
16-audit 每行动作列同时显示中文和代码「登录 admin.login_success」,对象列显示 UUID 双语重复 + ID 代码与 ID 进行详情;对象显示名称
16-audit 「capability.denied」没有中文名 翻译漏了 「Agent 操作被拒绝」
全局 页面标题 + 描述 + 侧栏说明三层,几乎每页描述都在解释页面 模板化 列表页默认不写描述;只在需要做决定的页(设置分区)写一句
全局 Agent 入口三处:侧栏顶部渐变按钮、右下渐变悬浮按钮、侧栏「Agent 会话」 冗余 + 发光渐变 保留侧栏项和快捷键;悬浮按钮删或只在窄屏出现

4. 设计层面

信息层级。每页默认视图只回答「现在有没有事要我管」。技术信息分三层:正常视图(名称、状态、结果)→ 详情(路径、时间线、来源)→ 技术信息折叠区(ID、hash、trace、token、模型 ID、错误码)。现在大多数页把第三层放在第一层。

首页该回答的三个问题:

  1. 有没有要我处理的?(待处理数 + 前 3 条,每条带主操作)
  2. 最近拿到了什么?(今日入库的作品,海报或列表,MP 的「近期入库」)
  3. 有没有东西坏了?(只在出问题时出现:站点登录失效、下载盘快满、服务异常)

计划带、运行状态、缓存参数、版本目标满足率都不属于这三个问题,移出首页或改为异常时才出现。

徽章、图标、色块。徽章只用于「不正常」和「需要区分的类别」。正常态(完成、正常、已启用、账号正常、待处理)不加徽章。一行最多一个徽章。卡片内的小卡片(首页媒体概览的三个统计块、待处理页顶部三张计数卡)改成一行文字数字,去掉套娃圆角。

表格 vs 卡片。同类对象多于 5 个用表格(任务、整理记录、下载、计划);站点这种少量、每个有多项数据的对象用卡片。计划页巡检卡字段太多,应改表格 + 编辑框。

动效信号。「实时」徽章 + 「更新于 刚刚」+ 刷新按钮 + 自动刷新,四个信号说一件事,留一个「更新于 刚刚」即可。Agent 按钮的彩色渐变描边与发光在侧栏、悬浮按钮、抽屉收起按钮三处重复,品牌色集中在一处用。

5. 优先级改造清单

5.1 P0:误导或吓人

# 改什么 文件 工作量
1 错误码不上屏:整理失败 message 改中文(identity_unknown、blocked:*),前端统一走一张原因映射表 apps/server/src/modules/acquisition-organize/services/organize.ts、apps/web/app/lib/labels.ts、routes/console/organize*.tsx、routes/console/inbox.tsx、components/downloads/business-timeline.tsx 0.5 天
2 待处理身份类事项加主按钮「指定作品」 routes/console/inbox.tsx 0.5 天
3 首页「0 个订阅在追踪,自动收录…」改为按数据说话;0 值行隐藏 routes/console/home.tsx 0.3 天
4 下载行状态反映入库失败,而不是「下载完成」 routes/console/downloads.tsx、components/downloads/* 0.5 天
5 「只读对账」移出首页 routes/console/home.tsx、components/settings/automation.tsx 0.2 天
6 「身份歧义 / 识别有歧义 / 无法确定作品」统一一个说法 components/library/labels.ts、lib/labels.ts、服务端 routes/decisions.ts 0.3 天

5.2 P1:高频页面的噪音

# 改什么 文件 工作量
1 Agent 会话:三段免责合并为一行「实际结果」;token、模型 ID、工具名进详情;会话标题不用原始提示词 components/agent/agent-conversation.tsx、routes/console/agent.tsx 1 天
2 Agent 入口去重与去口号(「交代目标,边做边汇报」删,悬浮按钮删或限窄屏) components/console/agent-launcher.tsx、components/agent/agent-drawer.tsx、routes/console/layout.tsx 0.5 天
3 任务列表默认隐藏无业务对象的运行和维护类成功运行;标题不用 ID components/tasks/task-stream.tsx、routes/console/tasks.tsx 0.5 天
4 计划页维护类 18 项合并折叠,说明去表名 components/schedules/auto-task-list.tsx、服务端定时任务描述(modules/system/retention.ts 等) 0.5 天
5 首页重排为三个问题;运行状态、缓存参数、满足率移出或异常才显示 routes/console/home.tsx 1 天
6 全站删解释型页描述(约 15 处),只保留设置分区的一句话 components/console/nav.ts、各 routes/console/*.tsx 的 PageHeader 0.5 天
7 正常态徽章清理:完成、正常、账号正常、接管、待处理 home.tsx、sites/site-card.tsx、downloads.tsx、inbox.tsx、files.tsx 0.5 天
8 术语落地:RSS 统一、媒体库统一、「建档 / 收录」、「资产」「账本」「纳管」「哨兵」「快照」按 §2 改,同步更新 glossary.md 全站 + docs/design/glossary.md 1 天
9 作品详情:UUID、字段来源、别名全集、路径核验折叠 routes/console/library.$id.tsx 0.5 天

5.3 P2:细节

# 改什么 文件 工作量
1 费用统一两位小数,< 0.01 写「< $0.01」;耗时 < 1 秒写「< 1 秒」 lib/format*.ts 0.2 天
2 规则页:不支持的关键字不列;「修订」列删;页签改名 components/rules/tabs.tsx、components/rules/labels.ts 0.3 天
3 设置高级项折叠:存储预算、流水保留、缓存有效期、fake 脚本、会话目录、MCP 详情 components/settings/*.tsx、packages/contracts/src/settings.ts(字段加 advanced 标记) 0.5 天
4 运行状态页默认只显示结论,表体积、进程、已下线实例折叠;修图例重复 routes/console/status.tsx、components/status/* 0.5 天
5 审计行去掉代码与 UUID,补 capability.denied 中文 routes/console/audit.tsx 0.2 天
6 站点 Passkey 与登录 Passkey 区分命名 components/sites/site-accounts-tab.tsx、components/settings/account*.tsx 0.1 天
7 命令面板提示去重 命令面板组件 0.1 天
8 清掉用户栈里的测试策略「AGENT-REAL 最小收录策略(测试)」 数据,不是代码 另开

合计约 P0 2.3 天、P1 6 天、P2 2 天。

5.4 需要用户拍板

  1. 「版本目标」是否改名。候选:「想要的版本」(直白,略长)或沿用 MP 的思路只在升级场景说「洗版」、其余场景说「版本」。改名涉及 139 处字符串和给模型的提示词。
  2. 是否默认隐藏技术信息。建议:ID、hash、token、模型 ID、错误码、表名一律进「技术信息」折叠区;是否提供全局开关「显示技术细节」(管理员默认关)。
  3. 「Agent 上游」改不改成「模型服务」。glossary 刚定过「Agent 上游」;用户侧「模型」更好懂,但设置里有 provider / 认证 / 订阅登录,改名要一起理。
  4. 计划页是否只展示用户关心的 11 项,18 项维护任务收成一行「数据清理」。
  5. 首页是否删掉「运行状态」「计划」两块,只在异常时出现。
  6. 「收录」「建档」两个词是否全站退场,换成「加入媒体库 / 在媒体库 / 已下载」。
  7. Agent 会话里「模型说的(未经核查)」这层防护是否保留。建议保留一个很轻的标记(回复旁一行「以下是模型的说法」),删掉另外两处。

6. DEAI-2 处理情况(2026-09-29)

用户拍板(见 docs/plan/00-first-version-plan.md):「版本目标」→「收录版本」;「Agent 上游」→「模型服务」;界面上的 Agent → 「智能体」;技术信息默认折叠(设置 → 界面可默认展开);首页只留三块;计划页维护类收成「数据清理」、智能体巡检置顶;「未经核查」只在最终汇报留一处。术语落地见 glossary.md。

P0

# 状态 说明
1 完成 原因码表 packages/contracts/src/reasons.ts,服务端整理记录 message、冲突事项标题/摘要与前端(整理记录、下载时间线、待处理摘要、任务详情)共用;原码进「技术信息」
2 完成 「指定作品」主按钮:搜媒体库 + TMDB,走已有 decision resolve(local_entity / manual_tmdb);整理类事项打开重新整理,整理成功后自动关闭事项
3 完成 首页状态行按数据说话,0 订阅写「还没有订阅。去搜索添加」
4 部分 下载详情在「下载完成但最近一次整理失败」时单独提示入库失败并链到待处理;下载列表行状态未改——需要服务端在下载任务上带最近整理结果,QB-1 正在改整理服务,留给合并后另做
5 完成 只读对账移出首页,放进设置 → 自动化 →「高级」
6 完成 统一为「没识别出作品」(事项);未确认身份的资源叫「未识别」

P1

# 状态 说明
1 完成 见提交说明;对话组件结构不动(另有代理出易用性方案)
2 完成 删口号;悬浮按钮只在无侧栏的窄屏出现,抽屉打开时不再显示胶囊
3 完成 默认隐藏系统任务(可一键显示),标题不用 ID
4 完成 维护类合成「数据清理」组;自动任务按分类折叠并记忆;说明去表名
5 完成
6 完成 约 14 处页描述删除或改一句
7 完成 首页、站点卡、下载、待处理、文件管理、整理记录
8 完成 RSS、媒体库、建档 / 收录、资产、账本、纳管、哨兵、快照;「外部身份」一词在作品详情改「匹配的 TMDB 条目」,其余处保留
9 完成 UUID、字段来源、别名全集、路径核验

P2

# 状态 说明
1 完成 formatUsd、formatDuration
2 完成
3 部分 自动化分区的只读对账 / 存储预算 / 流水保留 / 缓存有效期收进「高级」;会话目录与 fake 脚本只在开发构建显示;没有在 contracts 加 advanced 标记(纯前端即可)
4 完成 进程、趋势、最大表折叠;图例同名序列加序号
5 完成
6 完成
7 完成
8 不做 用户栈数据,不是代码

页面级条目中不做的

  • 05b 站点概况的配置回显、05c 资源行「已识别,无收录版本」、「实时补查」按钮位置:DETAIL-1 / SEARCH-3 正在改站点详情与资源列表,只改了名词(抓取、去站点搜),结构留给它们。
  • 10 整理记录里连续的 0 文件失败行合并:需要服务端按下载任务聚合,放到 QB-1 合并之后。
  • 12 媒体库页签只留「作品 / 未识别」、「未命中订阅」不进未识别:DH-1 正在改身份服务,避免冲突。
  • 13-settings-agent MCP 区块的能力计数与接入说明移到文档:保留,只改了一句说明。
  • 14 「已下线实例 N 个」文案:已随进程区折叠,文案不改。