"use client";
import { CheckCircle2, CircleDashed, UserRound } from "lucide-react";
import { Badge } from "@/components/ui/Badge";
import type { CharacterizationIssue, CharacterizationReport } from "@/lib/review/sse";
interface CharacterizationPanelProps {
characterization: CharacterizationReport | null;
incomplete: boolean;
}
// 高置信度阈值:≥0.7 为主区常显,<0.7 折进「更多低置信度建议」抽屉(控作者注意力预算,灵感 §10)。
const HIGH_CONFIDENCE = 0.7;
// 人物塑造报告区(灵感③ advisory 单维):只读建议、**无裁决 UI**(不进 conflicts/不阻断验收)。
// 以人物卡 motive/appearance 为客观锚点;每条带逐字引用 + 置信度。按置信度降序,
// 低置信度折叠,避免维度噪声淹没作者。
export function CharacterizationPanel({
characterization,
incomplete,
}: CharacterizationPanelProps) {
if (incomplete) {
return (
以下为人物塑造建议(仅供参考,不影响验收)。忽略文本长度与辞藻,只看人物是否写得立体。
{(high.length > 0 ? high : sorted).map((issue, i) => (
{high.length > 0 && low.length > 0 ? (
更多低置信度建议({low.length})
{low.map((issue, i) => (
定位:{issue.where}
: null} {issue.quote ? (「{issue.quote}」) : null} {issue.diagnosis ?
{issue.diagnosis}
: null} {issue.suggestion ? (建议:{issue.suggestion}
) : null}