Merge branch 'deai2'

Co-Authored-By: Claude Fable 5.1 <[email protected]>

# Conflicts:
#	apps/server/src/modules/acquisition-organize/services/organize.ts
#	apps/web/app/routes/console/sites.$siteId.tsx
This commit is contained in:
root committed 2026-09-29 21:26:16 +08:00
commit 12bc4664b6
247 files changed
+2658 -2148

No files matched your search

+50
View File
@@ -320,3 +320,53 @@
5. **首页是否删掉「运行状态」「计划」两块**,只在异常时出现。
6. **「收录」「建档」两个词是否全站退场**,换成「加入媒体库 / 在媒体库 / 已下载」。
7. **Agent 会话里「模型说的(未经核查)」这层防护是否保留**。建议保留一个很轻的标记(回复旁一行「以下是模型的说法」),删掉另外两处。
## 6. DEAI-2 处理情况(2026-09-29)
用户拍板(见 `docs/plan/00-first-version-plan.md`):「版本目标」→「收录版本」;「Agent 上游」→「模型服务」;界面上的 Agent → 「智能体」;技术信息默认折叠(设置 → 界面可默认展开);首页只留三块;计划页维护类收成「数据清理」、智能体巡检置顶;「未经核查」只在最终汇报留一处。术语落地见 [glossary.md](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 个」文案:已随进程区折叠,文案不改。
+21 -14
View File
@@ -1,6 +1,6 @@
# 术语表与文案规则
界面、错误信息、Agent 提示词里同一概念只用一个名字。代码标识符(`slot`、`decision`、`feed`)不受限制。依据 REQ v0.7 §3.1。
界面、错误信息、给模型的提示词里同一概念只用一个名字。代码标识符(`slot`、`decision`、`feed`)不受限制。依据 REQ v0.7 §3.1。
## 术语
@@ -8,33 +8,38 @@
| --- | --- | --- |
| MediaEntity | 作品 | 媒体实体、条目、影片 |
| ContentUnit | 季 / 集;统称"内容单元" | 单元、分集单元 |
| Slot | 版本目标 | Slot、收录目标、目标槽。给模型的说明可写一次"版本目标(slot)"对应参数名 |
| Slot | 收录版本(DEAI-2 起;原"版本目标") | Slot、版本目标、收录目标、收录位、目标槽。给模型的说明可写一次"收录版本(slot)"对应参数名 |
| AcquisitionPolicy | 收录策略(版本号称"策略版本") | 收录规则、规则集 |
| RuleGroup | 规则组;条件叫"关键字"(内置)/"自定义条件";只有一条规则的组在规则页以"偏好"标签显示 | 偏好标签、过滤规则、规则集 |
| Subscription | 订阅 | 追剧、关注 |
| Site / SiteAccount | 站点 / 站点账号 | PT 源 |
| FeedSource | Feed | RSS 源、订阅源 |
| 站点列表/搜索结果的一次抓取 | 快照 | |
| FeedSource | RSS;新建叫"新建 RSS",地址叫"RSS 地址" | Feed、RSS 源、订阅源、来源健康、RSS 订阅 |
| 站点列表/搜索结果的一次抓取 | 抓取;时间写"上次抓取",按钮"刷新";站点实时搜索叫"去站点搜" | 快照、实时补查 |
| SourceRelease | 资源 | 来源资源、站点资源、种子(种子只指 .torrent 文件) |
| 资源按版本目标评估后 | 候选 | |
| 资源按收录版本评估后 | 不单独命名;说"可下载的资源" | 候选(只在代码与给模型的说明里) |
| Decision | 待处理事项;入口叫"待处理" | 决策、工单、待决 |
| Approval | 审批(名词);按钮用"批准 / 拒绝" | 授权记录 |
| DownloadTask | 下载任务 | 下载单 |
| Organization record | 整理记录;动作叫"整理",结果状态叫"已入库" | 转移、入库记录 |
| 整理方式 | 复制 / 移动 / 硬链接 | Copy / Move |
| Library root | 库根 | 媒体库根、根目录 |
| Library root | 媒体库目录 | 库根、媒体库根、根目录 |
| 文件管理可浏览的目录(库根 + 下载器路径映射) | 登记目录 | 登记根、根 |
| MediaAsset / AssetLocation | 资产 / 资产位置(登记进媒体库的文件) | 媒体文件记录 |
| MediaAsset / AssetLocation | 文件 / 已入库文件;位置叫"文件位置" | 资产、资产位置、媒体文件记录 |
| ExternalIdentity | 外部身份(TMDB/TVDB/IMDb ID) | 外部 ID 映射、外部标识 |
| 未确认身份的文件/资源 | 待识别 | 未识别(IA 重构时若改名,全站一起改) |
| 未确认身份的文件/资源 | 未识别 | 待识别、待识别池 |
| identity_ambiguous / 整理时认不出作品的待处理事项 | 没识别出作品;主按钮"指定作品" | 身份歧义、识别有歧义、无法确定作品、待确认身份 |
| 作品登记进本地库(不订阅) | 加入媒体库;状态"在媒体库 · 未下载"/"不在媒体库" | 建档、已建档、未收录 |
| 本工具提交并跟踪的下载任务(managed) | 本工具管理;反面叫"外部任务";筛选"来源:本工具 / 其他" | 纳管、未纳管、接管 |
| 媒体库目录里的 `.uhd-root` | 标记文件;按钮"检查目录";失败说"目录不可访问或未挂载" | 哨兵、哨兵文件 |
| 作品 / 版本 / 文件 / 外部身份的本地记录总称 | 不单独命名 | 账本、本地账本 |
| Trash | 回收站 | 垃圾桶 |
| Agent | Agent;上游模型配置叫"Agent 上游" | 助手、智能体、AI、Pi 上游、模型上游 |
| PiUpstream | Agent 上游;在 Agent 设置分区和上游页内简称"上游" | Pi 上游、模型上游、Provider 配置 |
| Agent | 智能体(DEAI-2 起;"智能体会话""问智能体""智能体巡检");代码标识符、API 与 MCP 文档里的 agent 不改 | Agent(界面)、助手、AI、Agent 会话、Agent 对话 |
| PiUpstream | 模型服务;默认的一个叫"默认模型服务" | Agent 上游、上游、Pi 上游、模型上游、Provider 配置 |
| OAuth 型上游的登录 | 订阅登录 | OAuth 登录、账号授权 |
| 密钥、Cookie、密码、令牌的统称 | 凭证 | 凭据、认证信息 |
| ScheduledJob | 定时任务 | 计划任务、周期作业、cron 任务 |
| 定时任务的配置页 `/console/schedules` | 计划;两节叫"自动任务"(kind=task)与"Agent 巡检" | 定时任务看板、计划任务 |
| kind=agent_check 的定时任务 | 巡检 | 巡查、Agent 定时任务 |
| 定时任务的配置页 `/console/schedules` | 计划;两节叫"智能体巡检"(置顶)与"自动任务"(kind=task,按分类分组);维护类任务合成一组"数据清理" | 定时任务看板、计划任务 |
| kind=agent_check 的定时任务 | 巡检;全称"智能体巡检" | 巡查、Agent 定时任务 |
| 定时任务每次执行的记录 | 运行记录 | 历史、执行历史 |
| AgentRun(parent_run_id 非空) | 子会话;派生它的叫"父会话" | 子代理、子 Agent、subagent |
| AgentRun 被中止 | 停止;状态"已停止" | 中止、取消 |
@@ -44,7 +49,7 @@
| agent.propose_options | 方案;动作叫"选定",都不要叫"退回" | 选项、提案 |
| scope.proposeFirst | 先看方案再执行 | 只要方案、只给方案、plan_only 模式 |
| 工作流引擎的一次执行 | 运行 | run |
| 正在写心跳的进程(process_heartbeat 当前行) | 当前实例;横幅按角色称呼:API / io worker / Agent worker / 单进程 | 活进程、在线实例 |
| 正在写心跳的进程(process_heartbeat 当前行) | 当前实例;横幅按角色称呼:API / io worker / 智能体 worker / 单进程 | 活进程、在线实例 |
| 已退出、容器已重建或被同容器新进程替换的心跳行 | 已下线实例;正常退出的标"已退出" | 历史实例、僵尸进程、死进程 |
## 文案规则
@@ -61,6 +66,8 @@
10. 标题、按钮、标签、Toast 末尾不加句号。
11. 订阅登录的条款提示只陈述事实:借用哪个官方客户端身份、可能违反条款、账号可能被限流或封禁;不劝阻,不美化。
12. 给模型看的文字(巡检目标、调查提示)同样适用:具体、短,用界面同一套术语。
13. ID、hash、trace、token 数、耗时、模型 ID、原始字段、内部状态码和错误码不进默认视图,放进「技术信息」折叠区(`TechInfo` 组件,设置 → 界面可改为默认展开)。错误码先映射成一句人话 + 下一步动作(`lib/reasons.ts`),原码留在技术信息里。
14. 只列非零项:0 计数、全部正常的状态不铺开,正常态不加徽章。
## 标点
@@ -69,7 +76,7 @@
1. 中文句子用全角标点:`,。;:?!、`。半角 `, ; : ? !` 只出现在代码、路径、URL、键值、时间(`12:30`)和整句英文里。
2. 全角标点前后不加空格;不叠用标点(不写 `,。`、`!!`、`?!`)。
3. 括号里有中文用全角 `()`,紧贴前后文字;括号里只有英文、数字、代码时用半角 `()`,前面是英文时空一格:`Oppenheimer (2023)`、`读取失败(ENOTCONN)`。
4. 中文与英文、数字之间空一个半角空格:`3 个作品`、`打开 Agent`、`TMDB 不可用`;行首行尾和全角标点旁不加。
4. 中文与英文、数字之间空一个半角空格:`3 个作品`、`打开 TMDB`、`TMDB 不可用`;行首行尾和全角标点旁不加。
5. 数字与单位:`%`、`°` 紧贴数字(`80%`);英文单位空一格,与 `formatBytes` 输出一致(`1.1 TB`、`15 s`);数字和字母组成的记号连写(`1080p`、`S01E02`、`H.265`、`4K`)。
6. 省略号只用一个 `…`(U+2026),不用 `...` 或 `……`;进行中状态写 `加载中…`,菜单项"需要再选一步"写 `移动到…`。
7. 标题、按钮、标签、表头、列表项、Toast 末尾不加句号(同文案规则 10)。