{{ t('admin.riskControl.description') }}
{{ item.label }}
{{ item.badge }}{{ item.value }}
{{ item.meta }}
{{ t('admin.riskControl.workerStatusHint') }}
{{ t('admin.riskControl.queueUsage') }}
{{ formatNumber(status?.queue_length ?? 0) }} / {{ formatNumber(status?.queue_size ?? configForm.queue_size) }}
{{ t('admin.riskControl.activeWorkers') }}
{{ status?.active_workers ?? 0 }}
{{ t('admin.riskControl.idleWorkers') }}
{{ status?.idle_workers ?? configForm.worker_count }}
{{ t('admin.riskControl.processed') }}
{{ formatNumber(status?.processed ?? 0) }}
{{ t('admin.riskControl.droppedErrors') }}
{{ formatNumber((status?.dropped ?? 0) + (status?.errors ?? 0)) }}
{{ t('admin.riskControl.workerPool') }}
{{ t('admin.riskControl.workerPoolMeta', { active: status?.active_workers ?? 0, idle: status?.idle_workers ?? configForm.worker_count, total: status?.worker_count ?? configForm.worker_count }) }}
{{ t('admin.riskControl.recordsHint') }}
| {{ t('admin.riskControl.table.time') }} | {{ t('admin.riskControl.table.group') }} | {{ t('admin.riskControl.table.user') }} | {{ t('admin.riskControl.table.apiKey') }} | {{ t('admin.riskControl.table.endpoint') }} | {{ t('admin.riskControl.table.result') }} | {{ t('admin.riskControl.table.highest') }} | {{ t('admin.riskControl.table.actionMeta') }} | {{ t('admin.riskControl.table.latency') }} | {{ t('admin.riskControl.table.input') }} |
|---|---|---|---|---|---|---|---|---|---|
| {{ t('common.loading') }} | |||||||||
| {{ t('admin.riskControl.emptyLogs') }} | |||||||||
| {{ formatDateTime(row.created_at) }} | {{ row.group_name || '-' }} |
{{ row.user_email || '-' }}
UID {{ row.user_id }}
|
{{ row.api_key_name || '-' }} |
{{ row.endpoint || '-' }}
{{ row.provider || '-' }} / {{ row.model || '-' }}
|
{{ resultLabel(row) }} |
{{ row.highest_category || '-' }}
{{ percent(row.highest_score) }}
|
{{ violationCountText(row) }}
{{ row.email_sent ? t('admin.riskControl.emailSent') : t('admin.riskControl.emailNotSent') }}
/ {{ t('admin.riskControl.autoBanned') }}
|
{{ latencyText(row.upstream_latency_ms) }}
{{ t('admin.riskControl.queueDelay', { ms: row.queue_delay_ms }) }}
|
|
{{ t('admin.riskControl.enabled') }}
{{ t('admin.riskControl.enabledHint') }}
{{ modeDescription(configForm.mode) }}
{{ t('admin.riskControl.apiKeysHint', { count: configForm.api_key_count }) }}
{{ t('admin.riskControl.auditTestInput') }}
{{ t('admin.riskControl.auditTestInputHint') }}
{{ t('admin.riskControl.auditTestImages') }}
{{ t('admin.riskControl.auditTestImagesHint') }}
{{ t('admin.riskControl.apiKeyHealth') }}
{{ t('admin.riskControl.apiKeyFreezeRule') }}
{{ t('admin.riskControl.apiKeyHealthEmpty') }}
{{ t('admin.riskControl.apiKeyHealthEmptyHint') }}
{{ apiKeyStatusMeta(row) }}
{{ row.last_error }}
{{ t('admin.riskControl.auditTestResult') }}
{{ t('admin.riskControl.auditTestHighest', { category: moderationTestResult.highest_category || '-', score: percent(moderationTestResult.highest_score) }) }}
{{ t('admin.riskControl.groupScopeHint') }}
{{ t('admin.riskControl.noGroups') }}
{{ t('admin.riskControl.recordNonHits') }}
{{ t('admin.riskControl.recordNonHitsHint') }}
{{ t('admin.riskControl.preHashCheck') }}
{{ t('admin.riskControl.preHashCheckHint') }}
{{ t('admin.riskControl.flaggedHashCount', { count: formatNumber(status?.flagged_hash_count ?? 0) }) }}
{{ t('admin.riskControl.flaggedHashHint') }}
{{ t('admin.riskControl.emailOnHit') }}
{{ t('admin.riskControl.emailOnHitHint') }}
{{ t('admin.riskControl.autoBan') }}
{{ t('admin.riskControl.autoBanHint') }}
{{ t('admin.riskControl.table.time') }}
{{ formatDateTime(inputDetailRow.created_at) }}
{{ t('admin.riskControl.table.user') }}
{{ inputDetailRow.user_email || '-' }}
{{ t('admin.riskControl.table.result') }}
{{ resultLabel(inputDetailRow) }}{{ t('admin.riskControl.table.highest') }}
{{ inputDetailRow.highest_category || '-' }} / {{ percent(inputDetailRow.highest_score) }}
{{ t('admin.riskControl.inputDetailContent') }}
{{ inputDetailRow.endpoint || '-' }} · {{ inputDetailRow.provider || '-' }} / {{ inputDetailRow.model || '-' }}
{{ inputDetailText }}