Files
UHD_Media_Tool/docs/design/glossary.md
T

111 lines
16 KiB
Markdown

# 术语表与文案规则
界面、错误信息、给模型的提示词里同一概念只用一个名字。代码标识符(`slot`、`decision`、`feed`)不受限制。依据 REQ v0.7 §3.1。
## 术语
| 概念(代码) | 界面用词 | 不用 |
| --- | --- | --- |
| MediaEntity | 作品;豆瓣 / Bangumi / TMDB 等外部平台上的也叫作品 | 媒体实体、条目(发现页同样不用)、影片 |
| ContentUnit | 季 / 集;统称"内容单元" | 单元、分集单元 |
| Slot | 收录版本(DEAI-2 起;原"版本目标") | Slot、版本目标、收录目标、收录位、目标槽。给模型的说明可写一次"收录版本(slot)"对应参数名 |
| AcquisitionPolicy | 收录策略(版本号称"策略版本") | 收录规则、规则集 |
| RuleGroup | 规则组;条件叫"关键字"(内置)/"自定义条件";只有一条规则的组在规则页以"偏好"标签显示 | 偏好标签、过滤规则、规则集 |
| Subscription | 订阅 | 追剧、关注 |
| Site / SiteAccount | 站点 / 站点账号 | PT 源 |
| Site.kind(IA-2) | 站点类型:PT 站(`pt`)/ 公开 BT 站(`public_bt`)/ 自定义 RSS 源(`rss_feed`)/ Torznab 索引器(`torznab`,只定义结构,界面显示"未支持") | 站点种类、来源类型、索引器(单用) |
| Site capabilities | 获取方式:搜索 / 列表抓取 / RSS / 详情页 / 登录 / 账号数据 | 能力(界面)、功能 |
| 侧栏「站点 / 订阅 / 规则」一组 | 获取(组名常量 `ACQUIRE_GROUP_TITLE`,`components/console/nav.ts`,改名只改这一处) | 资源(旧组名) |
| FeedSource | RSS;新建叫"新建 RSS",地址叫"RSS 地址";RSS 属于站点,在站点详情的「RSS」里管理(IA-2 起没有独立 RSS 页) | Feed、订阅源、来源健康、RSS 订阅、RSS 页 |
| 站点列表/搜索结果的一次抓取 | 抓取;时间写"上次抓取""上次成功",按钮"刷新";站点实时搜索叫"去站点搜";RSS 的周期叫「抓取间隔」;定时任务叫「站点列表抓取」「RSS 抓取」;数据保留里叫「站点抓取结果」;重抓资源详情页叫「刷新详情」 | 快照、实时补查、轮询、轮询间隔、最后抓取、最后成功、复核 |
| SourceRelease | 资源 | 来源资源、站点资源、种子(种子只指 .torrent 文件) |
| 资源按收录版本评估后 | 不单独命名;说"可下载的资源";评估标签:accept「可下载」、upgrade「可升级」、unknown_field「信息不全」、skipped「已跳过」、deferred「延后:已有下载在进行」 | 候选(只在代码与给模型的说明里)、符合,可收录、已有计划在途、字段未知、被跳过 |
| Decision | 内部机制(2026-10-06 起界面不再有「待处理」入口):整理侧问题叫「需要处理」(整理记录筛选),铃铛两组叫「等你批准」「系统健康」;作为业务对象出现在任务 / 日志 / 时间线里叫「需要处理的事项」(简称「事项」) | 决策、工单、待决、待处理(界面入口)、待处理事项 |
| 需要人处理的状态(整理记录筛选、收录版本 attention) | 需要处理 | 需处理、需关注 |
| Approval | 审批(名词);按钮用"批准 / 拒绝";状态徽章统一「等你批准」 | 授权记录、待批准、待授权 |
| AcquisitionPlan(下载计划,DL-3 起界面不单独命名) | 下载;还没提交到下载器的按在等什么写状态:「等你批准」「等磁盘空间」「等开启自动化」「准备提交」;没提交就结束的写「没提交成功 / 已取消 / 已过期」+ 原因;来由写「为什么下这个」;智能体动作计数写"准备下载 N 个资源" | 下载计划、草稿、已预留(界面) |
| DownloadTask | 下载任务;正在下的叫「下载中」 | 下载单、在途 |
| 收录版本 / 下载的 verifying | 核验中(核验是整理前的独立步骤,不并进「整理中」) | 校验中 |
| 下载计划的预留 | 界面不写「已预留」;只有下载盘技术明细里表示预留字节数时可以写「已预留 x GB」 | 已预留(作为状态) |
| Organization record | 整理记录;动作叫"整理",状态「排队中 / 整理中 / 已整理 / 部分整理 / 整理失败 / 已取消」;整理页只有这一页,排队与执行中的任务在标题栏「队列」按钮与「队列」面板里,面板状态「排队中 / 等待中 / 整理中」 | 转移、入库记录、整理队列(标签页)、成功 / 部分成功 / 执行中(整理记录状态) |
| OrganizeSourceConfig | 整理来源;整理来源开始监控的时间写"从 <时间> 起监控" | 来源配置、整理策略、基线 |
| 作品级命名模板 | 作品覆盖(三级:全局 / 媒体库目录 / 作品覆盖) | 作品级覆盖、作品模板 |
| 本工具对文件的处理(识别、元数据、NFO 与图片、按规则归到媒体库目录) | 整理;状态「已整理 / 未整理 / 部分整理 / 整理失败 / 整理中」,数量写「已整理 x/y」;方式叫「整理方式」;之后的动作写「整理后…」(整理后刮削、整理后删源);只登记不搬的叫「原地整理」。2026-10-06 起「入库」不再表示处理状态:媒体服务器(Emby / Jellyfin / Plex)有没有扫到由它自己决定,本工具不判断;真要说媒体服务器时写「媒体服务器已扫描」。`check:copy` 拦「已入库 / 未入库 / 入库后 / 入库方式…」等搭配;代码标识符(`imported`、`media_asset`、`verifyAndImport`)不改 | 入库、已入库、未入库、部分入库、入库失败、入库中、入库方式、入库后、原地入库、核验入库 |
| 在目录里就地写 NFO 与图片(scrapeMedia,SCR-1 / SCR-2) | 刮削;文件管理菜单「刮削…」,作品详情「重新刮削」「覆盖重写」;覆盖方式叫「更新 / 只补缺失 / 全部覆盖」(更新 = 只替换本工具写过且没被改过的文件);认不准作品时"选一个再刮削";只更新本工具字段的叫「刷新元数据」 | 投影、NFO 投影、写元数据(界面) |
| 整理方式 | 复制 / 移动 / 硬链接 / 原地整理 | Copy / Move、原地入库 |
| Library root | 媒体库目录 | 库根、媒体库根、根目录 |
| 文件管理可浏览的目录(库根 + 下载器路径映射) | 登记目录;路径为空时写「(登记目录本身)」;越界写"不在登记目录内" | 登记根、根、目录根、根外 |
| MediaAsset / AssetLocation | 文件 / 已整理文件;位置叫"文件位置";文件管理快速筛选「已整理」,目录副行「n 个已整理 / 未整理」 | 资产、资产位置、媒体文件记录、已入库文件 |
| ExternalIdentity | 外部身份(TMDB/TVDB/IMDb ID) | 外部 ID 映射、外部标识 |
| 未确认身份的文件/资源 | 未识别;列表里的一项叫「未识别资源」;数据保留里已识别出作品的那部分叫「未识别中已识别的条目」(与设置页一致) | 待识别、待识别池 |
| 识别给出的可能作品 | 候选作品;ambiguous 写「匹配到多部作品」 | 候选(单用)、有歧义、多个候选 |
| identity_ambiguous / 整理时认不出作品的事项 | 没识别出作品;主按钮"指定作品" | 身份歧义、识别有歧义、无法确定作品、待确认身份 |
| 集号能解析但对不上作品季表 | 集数待确认(区别于文件名里"解析不出集号"/"认不出集号") | 集数异常 |
| 作品登记进本地库(不订阅) | 加入媒体库;状态"在媒体库 · 未下载"/"不在媒体库" | 建档、已建档、未收录 |
| 已完成下载任务的整理状态(下载面板) | 待整理 / 整理中 / 已整理 / 部分整理 / 整理失败;失败原因用原因码表的一句话 | 未整理(下载面板里用「待整理」)、导入失败、转移失败、已入库、入库失败 |
| 本工具提交并跟踪的下载任务(managed) | 本工具管理;反面叫"外部任务";筛选"来源:本工具 / 其他";把已在下载器里的任务纳入叫「管理」 | 纳管、未纳管、接管(下载器侧;原站视图的「人工接管」不在此列) |
| 媒体库目录里的 `.uhd-root` | 标记文件;按钮"检查目录";失败说"目录不可访问或未挂载" | 哨兵、哨兵文件 |
| 文件位置对账(reconcile,定时任务 `library.reconcile`) | 文件核对;说明写"检查媒体库里的文件是否还在" | 资产对账、库存对账 |
| 下载器保存路径所在的卷(cache volume) | 下载盘;三条线叫「暂停线 / 恢复线 / 清理目标」,用量写"已用 80%";因它暂停的写"因下载盘暂停";读不到容量写"下载盘读不到容量";后台任务对象类型也叫下载盘。「下载目录」只指下载器的保存路径 | 缓存卷、缓存盘、水位、硬阈值、恢复水位、缓存阈值 |
| Cloudflare / 页面上的人机验证(challenge) | 验证:「Cloudflare 验证」「页面验证」;WebAuthn 的 challenge 写「注册请求 / 登录请求」 | 挑战、挑战页 |
| 收录版本的升级档位(tier) | 等级;上限叫「封顶等级」;判定写"与现有版本同等级""比现有版本差" | 档、顶档、阶梯 pri(界面) |
| 作品 / 版本 / 文件 / 外部身份的本地记录总称 | 不单独命名 | 账本、本地账本、操作账本(任务里叫「操作记录」) |
| 站点详情页 `/console/sites/:id` | 站点页 | 工作台、站点工作台 |
| 进程与健康里的挂载检查 | 挂载点 | 挂载根 |
| 停用的规则 / 外部身份等 | 已停用;文件从媒体库移除写「已移出媒体库」 | 已退役 |
| Trash | 回收站 | 垃圾桶 |
| Agent | 智能体(DEAI-2 起;"智能体会话""智能体巡检");「问智能体」= 只问不做,「交给智能体」= 由智能体执行;代码标识符、API 与 MCP 文档里的 agent 不改 | Agent(界面)、助手、AI、Agent 会话、Agent 对话、委托智能体 |
| 上下文压缩 | 压缩上下文 | 整理上下文 |
| PiUpstream | 模型服务;默认的一个叫"默认模型服务";provider 叫「提供方」 | Agent 上游、上游、Pi 上游、模型上游、Provider 配置、provider(界面) |
| OAuth 型上游的登录 | 订阅登录 | OAuth 登录、账号授权 |
| 密钥、Cookie、密码、令牌的统称 | 凭证 | 凭据、认证信息 |
| ScheduledJob | 定时任务 | 计划任务、周期作业、cron 任务 |
| 定时任务的配置页 `/console/schedules` | 计划;两节叫"智能体巡检"(置顶)与"自动任务"(kind=task,按分类分组);维护类任务合成一组"数据清理" | 定时任务看板、计划任务 |
| kind=agent_check 的定时任务 | 巡检;全称"智能体巡检";结果(reportAsDecision)叫「巡检报告」 | 巡查、Agent 定时任务 |
| 定时任务每次执行的记录 | 运行记录 | 历史、执行历史 |
| AgentRun(parent_run_id 非空) | 子会话;派生它的叫"父会话" | 子代理、子 Agent、subagent |
| AgentRun 被中止 | 停止;状态"已停止" | 中止、取消 |
| AutomationGrant | 持续授权 | 自动化授权、automation_grant |
| agent.plan 的步骤清单 | 步骤;进度写"步骤 2/5" | 计划(计划只指整理计划 / 计划页;下载计划界面上统称"下载")、TODO、任务列表 |
| web.search / web.fetch | 网页搜索 / 读取网页;设置卡叫"网页搜索",提供方叫"搜索服务" | 联网、上网、爬取、网络代理 |
| agent.propose_options | 方案;动作叫"选定",都不要叫"退回";MCP 风险等级 propose 也写「方案」 | 选项、提案 |
| scope.proposeFirst | 输入框指令 `/先给方案`(只作用于这一次,AGUI-3 起不再是开关);会话列表标签"先给方案" | 只要方案、只给方案、plan_only 模式、先看方案再执行(开关) |
| 工作流引擎的一次执行 | 运行;任务列表与数据保留里叫「后台任务」,其执行历史叫「运行记录」 | run、引擎任务、业务任务、引擎 run |
| 文件位置与媒体库的核对 | 文件核对 | 对账(只读对账模式的名字保留) |
| 正在写心跳的进程(process_heartbeat 当前行) | 当前实例;横幅按角色称呼:API / 后台任务 worker / 智能体 worker / 单进程;列表里写 Worker(后台任务)/ Worker(智能体)(全角括号,不写 io) | 活进程、在线实例 |
| 已退出、容器已重建或被同容器新进程替换的心跳行 | 已下线实例;正常退出的标"已退出" | 历史实例、僵尸进程、死进程 |
## 文案规则
1. 先说结果。能删的词删掉,删后不影响理解、判断、操作就删。
2. 错误说清发生了什么和怎么办,最多两句;不知道原因就不猜。
3. 按钮 2–6 字,以动词开头:"保存""重新预览""移入回收站"。
4. 空态一句:这里会出现什么,下一步做什么。
5. 说明文字只写用户做决定需要的事实(条件、后果、是否可恢复)。
6. 不写"您""请""欢迎""我们""系统将""温馨提示"。
7. 不用营销词和 AI 高频词:轻松、无需、只需、极致、智能、赋能、一站式;不写"不是…而是…"和排比对仗。
`deno task check:copy` 拦其中误报低的一组:您、请先 / 请检查 / 请重新…(祈使的「请」)、温馨提示、非常抱歉、一键、轻松、赋能、一站式、成功地、恭喜、其它、无需、进行 + 动作(进行整理 / 进行操作…);确需保留(引用外部页面原文、给模型的提示)写 `copy-allow: 原因`。
8. 数字和状态来自数据,不写产品没有的承诺。
进行中的状态统一带「中」:排队中、等待中、运行中、整理中、采样中、加载中。「其他」统一写「其他」不写「其它」;「无需」写「不需要」。
9. 技术词保留原文:API Key、Cookie、TMDB、infohash、hash。
10. 标题、按钮、标签、Toast 末尾不加句号。
11. 订阅登录的条款提示只陈述事实:借用哪个官方客户端身份、可能违反条款、账号可能被限流或封禁;不劝阻,不美化。
12. 给模型看的文字(巡检目标、调查提示)同样适用:具体、短,用界面同一套术语。
13. ID、hash、trace、token 数、耗时、模型 ID、原始字段、内部状态码和错误码不进默认视图,放进「技术信息」折叠区(`TechInfo` 组件,设置 → 界面可改为默认展开)。错误码先映射成一句人话 + 下一步动作(`lib/reasons.ts`),原码留在技术信息里。
14. 只列非零项:0 计数、全部正常的状态不铺开,正常态不加徽章。
## 标点
界面文字、错误信息、给模型看的提示都按这一节写。`deno task check:copy`(`scripts/check-copy-punctuation.mjs`)检查源码里的字符串字面量与 JSX 文本,`--fix` 自动改能确定的项;确需例外的行写 `copy-allow: 原因`。
1. 中文句子用全角标点:`,。;:?!、`。半角 `, ; : ? !` 只出现在代码、路径、URL、键值、时间(`12:30`)和整句英文里。
2. 全角标点前后不加空格;不叠用标点(不写 `,。`、`!!`、`?!`)。
3. 括号里有中文用全角 `()`,紧贴前后文字;括号里只有英文、数字、代码时用半角 `()`,前面是英文时空一格:`Oppenheimer (2023)`、`读取失败(ENOTCONN)`。
4. 中文与英文、数字之间空一个半角空格:`3 个作品`、`打开 TMDB`、`TMDB 不可用`;行首行尾和全角标点旁不加。
5. 数字与单位:`%`、`°` 紧贴数字(`80%`);英文单位空一格,与 `formatBytes` 输出一致(`1.1 TB`、`15 s`);数字和字母组成的记号连写(`1080p`、`S01E02`、`H.265`、`4K`)。
6. 省略号只用一个 `…`(U+2026),不用 `...` 或 `……`;进行中状态写 `加载中…`,菜单项"需要再选一步"写 `移动到…`。
7. 标题、按钮、标签、表头、列表项、Toast 末尾不加句号(同文案规则 10)。
8. 说明文字(空态描述、表单说明、段落)每句以句号结尾;只有一句短语时可以不加。
9. 错误信息:一句不加句号;两句("发生了什么。怎么办")句间用句号,末尾不加。
10. 引用界面上的词、用户起的名字用直角引号 `「」`(`勾选「同时退役资产」`、`删除「默认规则」?`),不用 `“”` 或 `""`;代码、命令、键名用代码样式,不加引号。