Files
AgentHub/client/src/i18n/locales/en/dashboard.json
T
nntrivi2001 1c6dfea5b5 feat(health): System Health in three groups, a score that sees lag; admin user detail
Dashboard → System Health is grouped into AgentHub, Machine and Agent
activity. The machine (GET /api/host, every signed-in user) is drawn by
components/health/HostHealth.tsx: host card beside the CPU/memory history,
then CPU (threads as compact cells + temperatures/GPUs), disks & network,
busiest processes, and per-user tiles. Concurrency bars each show their own
agent type on hover.

The Health Score (client/src/lib/healthScore.ts) is now 100 minus what each
check costs, between an amber and a red threshold: event-loop p99
(server/lib/loop-delay.js, shared with /api/metrics), Linux PSI pressure for
CPU, memory and disk I/O (/api/host `pressure`; load per core without PSI),
RAM, the database's disk, V8 heap, hooks silent while agents work, and agent
errors in the last 24 h. All-time success rate, API errors and the transcript
cache hit rate no longer count. /api/settings/info adds server.event_loop and
activity {last_event_at, working_agents, agents_24h}.

Administration: a user row opens its detail in place (GET
/api/users/:id/details — spend, account pool share, live panes, workspaces,
newest sessions); the server panel is gone, member tmux folded into the table;
the Sessions list shows each row's owner in server mode.
2026-10-27 16:39:38 +07:00

188 lines
8.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"title": "Dashboard",
"subtitle": "Real-time overview of Claude Code agent activity",
"totalSessions": "Total Sessions",
"activeAgents": "Active Agents",
"activeSubagents": "Active Subagents",
"eventsToday": "Events Today",
"totalEvents": "Total Events",
"totalCost": "Total Cost",
"viewAll": "View All",
"activeAgentsSection": "Active Agents",
"recentActivity": "Recent Activity",
"noAgents": "No active agents",
"noAgentsDesc": "Agents will appear here when a Claude Code session is running.",
"noActivity": "No activity yet",
"noActivityDesc": "Events from Claude Code sessions will stream here in real-time.",
"failedLoad": "Failed to load data",
"activeTrend": " active",
"totalTrend": " in active sessions",
"tabs": {
"label": "Dashboard views",
"analytics": "Analytics",
"monitor": "Monitor",
"health": "Health"
},
"collapseSubagents": "Collapse subagents",
"expandSubagents": "Expand subagents",
"needsYou": {
"title": "Needs you",
"since": "waiting {{ago}}"
},
"health": {
"heap": "V8 Heap",
"heapTip": "V8 Heap: {{pct}}% used\n{{used}} / {{limit}} limit\nAllocated: {{allocated}}\nExternal: {{external}}",
"storage": "Storage",
"writeVelocityTip": "Write velocity (events):\n5 min: {{m5}}\n15 min: {{m15}}\n1 hr: {{h1}}",
"database": "Database",
"recordsTip": "Record distribution\n\nSessions: {{sessions}} ({{sessPct}}%)\nAgents: {{agents}} ({{agentPct}}%)\nEvents: {{events}} ({{eventPct}}%)\n\nTotal: {{total}} records",
"total": "total",
"sessions": "Sessions",
"agents": "Agents",
"events": "Events",
"score": "Health Score",
"formula": "Formula",
"cacheTip": "Transcript cache hit rate: {{pct}}% (shown, not scored — it restarts empty with the server)",
"compact": "Compact",
"compactTip": "Transcript compactions: {{count}}\nReduces the context window by summarizing turns.",
"saved": "Saved",
"savedTip": "Tokens recovered: {{tokens}}\nFreed by compaction.",
"tokenUsage": "Token Usage",
"totalSuffix": "{{value}} total",
"modelTip": "{{model}}\nInput: {{input}}\nOutput: {{output}}\nCache read: {{cacheRead}}\nShare: {{pct}}%",
"noModelData": "No model data",
"concurrency": "Concurrency",
"intervals_one": "{{count}} agent type",
"intervals_other": "{{count}} agent types",
"concurrencyTip": "Peak: {{peak}} parallel sessions\nActive intervals: {{active}}\nAvg: {{avg}}",
"laneTip": "{{name}}\n{{count}} agents\nRuns {{start}}–{{end}}% of the session (avg)",
"noConcurrencyData": "No concurrency data",
"peak": "Peak",
"peakTip": "Peak: {{count}} sessions running simultaneously.",
"active": "Active",
"activeTip": "{{active}} of {{total}} intervals have active sessions.",
"avg": "Avg",
"avgTip": "Average concurrency across all intervals.",
"toolUsage": "Tool Usage",
"top": "top {{count}}",
"invocationsTip_one": "{{tool}}: {{formatted}} invocation",
"invocationsTip_other": "{{tool}}: {{formatted}} invocations",
"noToolData": "No tool data yet",
"subagentEffectiveness": "Subagent Effectiveness",
"defaultType": "default",
"effectivenessTip": "{{type}}\nSuccess: {{pct}}%\nTotal: {{total}} · OK: {{ok}} · Errors: {{errors}}",
"noSubagentData": "No subagent data yet",
"integration": "Integration",
"hooksActive": "Active",
"hookTip": "Path: {{path}}\nStatus: {{status}}",
"connected": "Connected",
"disconnected": "Disconnected",
"noHooks": "No project hooks registered",
"wsTip": "WebSocket connections: {{count}}\nProtocol: RFC 6455",
"wsActive": "WebSocket active",
"connections_one": "{{count}} connection",
"connections_other": "{{count}} connections",
"platform": "Platform",
"journalMode": "Journal mode",
"synchronous": "Synchronous",
"autoVacuum": "Auto-vacuum",
"foreignKeys": "Foreign keys",
"busyTimeout": "Busy timeout",
"groupApp": "AgentHub",
"groupAppHint": "How the dashboard itself is doing: score, database, sessions at once",
"groupMachine": "Machine",
"groupMachineHint": "The computer AgentHub runs on: CPU, memory, disks, processes",
"groupActivity": "Agent activity",
"groupActivityHint": "What the agents used: tokens by model, tools, subagents",
"scoreFormula": "100 minus what each check costs:",
"scoreResult": "= {{score}} / 100",
"check": {
"loop": "AgentHub response",
"cpu": "CPU wait",
"memory": "Memory wait",
"io": "Disk wait",
"ram": "RAM in use",
"disk": "Data disk",
"heap": "V8 heap",
"hooks": "Last hook",
"agents": "Agent errors 24h"
},
"checkTip": {
"loop": "How long AgentHub's event loop was held up (p99 over the last minute). Every page, hook and terminal keystroke waits this long.",
"cpu": "CPU pressure (Linux PSI, last 10 s): share of time tasks waited for a free CPU — the machine feels slow above a few %.",
"cpuLoad": "Load per core (1 min) — this machine has no PSI, so CPU wait is estimated from load.",
"memory": "Memory pressure (Linux PSI, last 10 s): share of time tasks stalled reclaiming or swapping memory.",
"io": "Disk I/O pressure (Linux PSI, last 10 s): share of time tasks waited on the disk — a slow or busy HDD shows here.",
"ram": "Memory in use (total minus available).",
"disk": "How full the disk holding AgentHub's database is ({{mount}}).",
"heap": "AgentHub's V8 heap against its limit.",
"hooks": "Minutes since the last hook event, counted only while an agent is working: silence then means the dashboard stopped seeing it.",
"agents": "Agents that ended in the last 24 h with an error (errors / finished; needs at least 5)."
},
"checkNa": "Not measured here — costs nothing.",
"checkThresholds": "Amber from {{warn}}{{unit}}, red from {{bad}}{{unit}}",
"checkPenalty": "Costs {{n}} of up to {{max}} points",
"hooksMissing": "not installed",
"hooksIdle": "idle",
"minutesAgo": "{{n}} min ago",
"verdict": {
"ok": "Healthy",
"warn": "Degraded",
"bad": "Unhealthy"
},
"allOk": "Every check is fine",
"badCount_one": "{{count}} red",
"badCount_other": "{{count}} red",
"warnCount_one": "{{count}} amber",
"warnCount_other": "{{count}} amber",
"lagGroup": "Lag",
"systemGroup": "Capacity & signals"
},
"errorBoundary": {
"title": "Something went wrong",
"body": "This page failed to load. Reloading usually fixes it — for example after the dashboard was updated.",
"reload": "Reload"
},
"host": {
"uptimeDays": "{{d}} d {{h}} h",
"uptimeHours": "{{h}} h {{m}} min",
"cpu": "CPU",
"cpuHelp": "Share of the whole machine: 100% means every core is busy.",
"memory": "Memory",
"swap": "Swap",
"free": "free",
"usageUnavailable": "Per-user usage is read from /proc and is only available on Linux.",
"hostGroup": "Host account (AgentHub and other host processes)",
"systemGroup": "System (root and other accounts)",
"homesBadge": "homes",
"historyTitle": "History",
"historyHelp": "Kept in memory, one point every {{s}} s, since the server started at {{at}}.",
"historyCpu": "CPU (% of the machine)",
"historyMemory": "Memory used (%)",
"range": "Range",
"range1h": "1 h",
"range6h": "6 h",
"range24h": "24 h",
"coreN": "CPU {{n}}",
"threads": "{{n}} threads",
"physical": "{{n}} cores",
"perSecond": "{{v}}/s",
"temperatures": "Temperatures",
"topProcesses": "Busiest processes",
"cpuModel": "CPU",
"storageNetwork": "Disks & network",
"processCount": "{{n}} processes",
"title": "Server",
"os": "System",
"uptime": "Uptime",
"load": "Load (1/5/15 min)",
"agenthubTip": "pid {{pid}} · Node {{node}}",
"sampling": "Sampling…",
"sampled": "{{s}} s sample",
"historyNone": "No history yet — the server keeps it in memory on Linux, from the moment it starts.",
"agenthub": "AgentHub",
"usersTitle": "Users · CPU / RAM now",
"usersCount": "{{n}} users"
}
}