diff --git a/apps/web/app/components/media/media-detail.tsx b/apps/web/app/components/media/media-detail.tsx
index 5ce41898..b56b4853 100644
--- a/apps/web/app/components/media/media-detail.tsx
+++ b/apps/web/app/components/media/media-detail.tsx
@@ -202,7 +202,7 @@ export function MediaHero({ facts, badges, actions }: { facts: MediaFacts; badge
className="mt-2 max-w-2xl text-caption leading-relaxed text-foreground/90"
/>
) : (
-
暂无简介
+ 没有简介
)}
{dates.length || facts.externalLinks.length ? (
@@ -364,7 +364,7 @@ export function EpisodeRow({ e }: { e: EpisodeRowData }) {
{e.overview ? (
) : (
-
暂无简介
+
没有简介
)}
{e.extra}
diff --git a/apps/web/app/routes/console/library.$id.tsx b/apps/web/app/routes/console/library.$id.tsx
index 2692b07b..b7bfe698 100644
--- a/apps/web/app/routes/console/library.$id.tsx
+++ b/apps/web/app/routes/console/library.$id.tsx
@@ -215,7 +215,7 @@ function IdentityPanel({ detail }: { detail: LibraryDetail }) {
const candidates = detail.identities.filter((i) => i.status === "proposed" || i.status === "conflicted");
return (
setOpen(true)}>
@@ -271,7 +271,7 @@ function IdentityRow({ i }: { i: ExternalIdentity }) {
className="mt-1 text-meta text-muted-foreground"
title={`证据 ${evidenceLabel(i.evidenceLevel)} · ${VERIFY_STATUS[i.verifyStatus]?.label ?? i.verifyStatus} · r${i.revision}`}
>
- {i.locked || i.evidenceLevel === "manual" ? "你确认的" : "自动匹配"}
+ {i.locked || i.evidenceLevel === "manual" ? "人工确认" : "自动匹配"}
{i.verifiedAt ? ` · ${relTime(i.verifiedAt)}` : ""}
{reason ? {reason}
: null}
@@ -350,7 +350,7 @@ function EvidenceLine({ field }: { field: MediaEntityDetail["metadataFields"][nu
) : (
- 无出处
+ 没有出处
)}
{field?.field === "posterUrl" && ev.enrichmentId ? (
toast.success("已提交刷新,含全部季的每集信息"),
+ onSuccess: () => toast.success("已开始刷新,包括全部季的每集信息"),
onError: (err) => toast.error(errorMessage(err, "刷新失败")),
},
)
@@ -735,7 +735,7 @@ function EpisodesPanel({ detail, units }: { detail: LibraryDetail; units: Conten
refresh.mutate(
{ full: true },
{
- onSuccess: () => toast.success("已提交刷新,含全部季的每集信息"),
+ onSuccess: () => toast.success("已开始刷新,包括全部季的每集信息"),
onError: (err) => toast.error(errorMessage(err, "刷新失败")),
},
);
diff --git a/apps/web/app/routes/console/media.tmdb.$type.$id.tsx b/apps/web/app/routes/console/media.tmdb.$type.$id.tsx
index 4f826b25..6a951324 100644
--- a/apps/web/app/routes/console/media.tmdb.$type.$id.tsx
+++ b/apps/web/app/routes/console/media.tmdb.$type.$id.tsx
@@ -62,7 +62,7 @@ export default function TmdbMediaPage() {
<>
{back}
q.refetch()}
/>
@@ -204,13 +204,13 @@ function InventoryPanel({ d }: { d: TmdbMediaDetail }) {
const inv = d.inventory;
const line = slotLine(inv);
return (
-
+
- 媒体库
-
{inv.state === "not_collected" ? (
-
不在媒体库。
+ 不在媒体库
) : (
<>
@@ -234,7 +234,7 @@ function InventoryPanel({ d }: { d: TmdbMediaDetail }) {
) : emby.isPending ? (
- 查询中…
+ 加载中…
) : emby.isError ? (
{errorMessage(emby.error, "查询失败")}
) : (
diff --git a/packages/agent/src/prompt/layers/capabilities.ts b/packages/agent/src/prompt/layers/capabilities.ts
index 7966e230..f9367f15 100644
--- a/packages/agent/src/prompt/layers/capabilities.ts
+++ b/packages/agent/src/prompt/layers/capabilities.ts
@@ -89,7 +89,7 @@ export const INTENT_ROUTES: readonly IntentRoute[] = [
{
intent: "问待处理事项、要我处理什么",
steps: [{ cap: "decision.list", note: "未关闭事项、严重度与可选处理" }],
- tips: ["处理由用户在待处理中心选,智能体只汇总与建议。"],
+ tips: ["处理由用户在出问题的页面(如整理记录)或铃铛里选,智能体只汇总与建议。"],
},
{
intent: "问存储、清理空间",