feat(copy): 处理状态的「入库」改为「整理」,术语表与 check:copy 同步

真正入库取决于媒体服务器有没有扫到,本工具只负责整理(元数据、NFO 与图片、按规则归到目录)。
界面与面向用户的服务端文案里「已入库 / 未入库 / 部分入库 / 入库失败 / 入库中 / 入库后 / 原地入库…」
改为「已整理 / 未整理 / 部分整理 / 整理失败 / 整理中 / 整理后 / 原地整理…」;文件管理快速筛选「已整理」、
目录副行「n 个已整理 / 未整理」、季卡片「已整理 x/y」。代码标识符不改,「Emby 已有」这类媒体服务器状态保留。
glossary 加「整理」口径条目;check:copy 拦处理状态语境的「入库」搭配,其它线待替换的文件暂列 TERM_PENDING。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
This commit is contained in:
rootandClaude Opus 5.5 committed 2026-10-06 17:54:28 +08:00
1 parent 79c3b8c9b9
commit 550ac285f4
67 files changed
+171 -143

No files matched your search

@@ -138,7 +138,7 @@ function Summary({
{files.length ? (
<p>
{files.join("、")}({formatBytes(plan.bytes, 1)})会移入回收站,可以在回收站还原。
{plan.assets ? `其中 ${plan.assets} 个是已入库文件,会从媒体库移除。` : ""}
{plan.assets ? `其中 ${plan.assets} 个是已整理文件,会从媒体库移除。` : ""}
</p>
) : (
<p>{withFiles ? "没有找到还在的文件,只删记录。" : "只删记录,文件不动。"}</p>
@@ -26,7 +26,7 @@ const decision = (over: Partial<NonNullable<RecordAttention["decision"]>> = {})
{ key: "candidate_0", label: "Foo (2019)", input: { candidate: { mediaEntityId: R } } },
{ key: "select_entity", label: "选择作品(本地)", input: { requires: "mediaEntityId" } },
{ key: "select_tmdb", label: "选择作品(TMDB)", input: { requires: "tmdb" } },
{ key: "provisional", label: "作为临时作品入库", input: {} },
{ key: "provisional", label: "作为临时作品整理", input: {} },
{ key: "dismiss", label: "忽略" },
],
agentRunId: null,
@@ -54,7 +54,7 @@ describe("整理记录行内处理", () => {
for (const t of ["指定作品", "让智能体识别", "重新整理", "忽略", "Foo (2019)"]) expect(out).toContain(t);
// 「选择作品(本地 / TMDB)」并进「指定作品」,不单列;临时作品不在行内
expect(out).not.toContain("选择作品(本地)");
expect(out).not.toContain("作为临时作品入库");
expect(out).not.toContain("作为临时作品整理");
});
it("智能体识别中:显示进度与会话入口,不再给指定 / 识别按钮", () => {
@@ -89,7 +89,7 @@ describe("整理记录列表:整理方式、分类、分组", () => {
"移动",
"复制",
"硬链接",
"原地入库",
"原地整理",
]);
});