吸收数字员工诊断成本审计
This commit is contained in:
@@ -260,6 +260,17 @@ function badgeClass(tone?: string): string {
|
||||
return 'de-badge-info';
|
||||
}
|
||||
|
||||
function formatCompactNumber(value?: number | null): string {
|
||||
const numeric = typeof value === 'number' && Number.isFinite(value) ? value : 0;
|
||||
return new Intl.NumberFormat('zh-CN', { notation: 'compact', maximumFractionDigits: 1 }).format(numeric);
|
||||
}
|
||||
|
||||
function formatEstimatedCostUsd(value?: number | null): string {
|
||||
const numeric = typeof value === 'number' && Number.isFinite(value) ? value : 0;
|
||||
if (numeric > 0 && numeric < 0.01) return `$${numeric.toFixed(4)}`;
|
||||
return `$${numeric.toFixed(2)}`;
|
||||
}
|
||||
|
||||
function approvalRiskTone(value?: string | null): string {
|
||||
const normalized = compactText(value).toLowerCase();
|
||||
if (['high', 'critical', 'risk', 'marked'].includes(normalized)) return 'danger';
|
||||
@@ -2478,6 +2489,8 @@ export default function CommandDeck({ onNavigate }: { onNavigate: (target: Digit
|
||||
<span className={diagnosticIssueCount > 0 ? 'is-warning' : ''}><em>诊断异常</em><strong>{diagnosticIssueCount}</strong></span>
|
||||
<span className={auditRiskCount > 0 ? 'is-warning' : ''}><em>审计风险</em><strong>{auditRiskCount}</strong></span>
|
||||
<span><em>估算请求</em><strong>{diagnosticSummary.cost.request_count}</strong></span>
|
||||
<span><em>Token</em><strong>{formatCompactNumber(diagnosticSummary.cost.total_tokens)}</strong></span>
|
||||
<span><em>估算成本</em><strong>{formatEstimatedCostUsd(diagnosticSummary.cost.estimated_cost_usd)}</strong></span>
|
||||
<small>{latestDiagnosticIssue ? `${latestDiagnosticIssue.category} · ${latestDiagnosticIssue.message}` : '诊断、审计和成本投影正常'}</small>
|
||||
</div>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user