feat(workflows): pipeline pass rates and skill/plugin usage
Restores the five analytics sections that turned out to be worth keeping (patterns, model delegation, error propagation, session complexity, compaction impact) and reworks what the page opens on. The lane panel no longer mirrors the Workspace's live lane strip. It now answers the question the strip cannot: how often each pipeline node actually passes. GET /api/lanes/pipeline-stats aggregates every stage record of every lane AND every archived feature — a lane's own `stages` only holds its current feature, so without the archive the history resets each time a lane starts new work. Evidence-backed passes are counted apart from bare claims, the same line the pipeline map draws between `done` and `passed-no-evidence`. Beside it, GET /api/workflows/skill-usage reports which skills and plugins the sessions actually reach for. Only PreToolUse rows are counted: every call also emits a PostToolUse, and counting both would double every number. A plugin's total includes calls to the MCP tools it ships, so one used purely through MCP does not read as unused. Still dropped from issue #6: the agent collaboration network and the subagent effectiveness scorecards.
This commit is contained in:
@@ -69,9 +69,39 @@
|
||||
"why": "When an aggregate chart flags a suspicious session, this is where you go to read exactly what happened, in order."
|
||||
},
|
||||
"lanes": {
|
||||
"what": "The lanes this dashboard tracks — one durable unit of parallel agent work per working directory — and the pipeline stages each one has reached.",
|
||||
"howToRead": "Pick a lane tile to see its pipeline below. A node is green when it is done with evidence, solid blue for the current stage, amber when claimed without evidence, dashed amber when only detected from tool events, red when rejected.",
|
||||
"why": "This is your own delivery pipeline, not Claude Code internals: it answers where each parallel workstream stands right now. Lane actions live on the Workspace page."
|
||||
"what": "Every stage record across all your lanes and their archived features, counted per pipeline node: how many times a stage was entered, passed, and how many of those passes left evidence behind.",
|
||||
"howToRead": "One row per node. The bar is scaled against the busiest node, split into green (passed with evidence), amber (passed but only claimed) and red (failed). The number on the right is passes / entries and the pass rate.",
|
||||
"why": "A node with a long amber bar is a stage everyone declares and nobody proves; a node that is never reached is a stage your pipeline does not really use."
|
||||
},
|
||||
"patterns": {
|
||||
"what": "A ranked list of recurring agent-orchestration sequences detected from session traces, plus a callout for solo sessions that ran without subagents.",
|
||||
"howToRead": "Each row is a step sequence (main → sub → sub …). The right side shows how many sessions matched it and what percentage of all sessions that represents. Click a pattern to highlight it.",
|
||||
"why": "Reveals the standard 'shapes' of work in your project. Frequent patterns are good candidates to formalize as named workflows or skills."
|
||||
},
|
||||
"modelDelegation": {
|
||||
"what": "A two-column flow showing which main models delegate to which subagent models, plus per-node agent counts and total tokens.",
|
||||
"howToRead": "Left column = main models for sessions; right column = models used inside subagents. Lines indicate observed main → subagent pairings. Hover a node for share-of-all-agents, sessions, total tokens, and a description of the model family (Opus / Sonnet / Haiku).",
|
||||
"why": "Helps you confirm cost/latency tiering - e.g. main on Sonnet, subagents on Haiku - and catch unintended escalations to Opus."
|
||||
},
|
||||
"errorPropagation": {
|
||||
"what": "Where errors cluster across the agent hierarchy: by depth (session/main vs direct subagent vs nested), by agent type, and by API/session-level error category.",
|
||||
"howToRead": "The top banner gives the session-level error rate. The depth bars show how many errors occurred at each nesting level. The error-prone types list ranks subagent types by error count. The bottom block surfaces API/session error summaries.",
|
||||
"why": "Pinpoints whether failures live in the orchestration spine (main agent), in specific subagents, or in deep nested chains - guiding where to invest in retries, validation, or rewrites."
|
||||
},
|
||||
"complexity": {
|
||||
"what": "A scatter plot of every session: x = wall-clock duration, y = total agents involved, bubble size = total tokens, color = final status.",
|
||||
"howToRead": "Top-right bubbles are long, agent-heavy sessions. Big bubbles burned the most tokens. Reds/yellows = error/abandoned outcomes. Hover any bubble for full session stats; click to drill into it below.",
|
||||
"why": "Gives a single view of the cost/complexity distribution. Outliers are the sessions worth investigating for runaway behavior or cost spikes."
|
||||
},
|
||||
"compaction": {
|
||||
"what": "How often Claude triggered context compaction across sessions: total events, tokens recovered, and a per-session distribution.",
|
||||
"howToRead": "The two stat boxes show total compaction events and the cumulative tokens reclaimed. The bar chart lists sessions with at least one compaction, sorted descending by count.",
|
||||
"why": "Compactions indicate context pressure. A long tail of high-compaction sessions usually means workflows that should be split, summarized, or migrated to a longer-context model."
|
||||
},
|
||||
"skillUsage": {
|
||||
"what": "Skill invocations counted from Skill tool events, grouped by skill and by owning plugin. A plugin's total also counts calls to the MCP tools it ships.",
|
||||
"howToRead": "Chips on top are plugins with their combined call count; the list below ranks individual skills by number of calls, with how many distinct sessions used each one.",
|
||||
"why": "Shows which parts of your setup earn their keep. A skill installed but never invoked never appears here — this reports use, not inventory."
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
@@ -236,8 +266,151 @@
|
||||
"sortedByCompaction": " session(s) (sorted by compaction count)"
|
||||
},
|
||||
"lanes": {
|
||||
"title": "Lane Pipelines",
|
||||
"subtitle": "Your own lanes and the stage each one has reached",
|
||||
"openWorkspace": "Open in Workspace"
|
||||
"title": "Lane Pipeline Pass Rates",
|
||||
"subtitle": "How often each stage of your own pipelines is actually passed",
|
||||
"pipelineLabel": "Pipeline template",
|
||||
"runs_one": "{{count}} run recorded",
|
||||
"runs_other": "{{count}} runs recorded",
|
||||
"legendEvidence": "passed with evidence",
|
||||
"legendClaimed": "passed, no evidence",
|
||||
"legendFailed": "failed",
|
||||
"never": "never reached",
|
||||
"empty": "No lane has recorded a stage yet. Create one with"
|
||||
},
|
||||
"patterns": {
|
||||
"title": "Detected Workflow Patterns",
|
||||
"subtitle": "Common agent orchestration sequences",
|
||||
"noData": "No patterns detected yet",
|
||||
"noDataDesc": "Patterns appear once multiple sessions share the same agent sequence.",
|
||||
"solo": "solo (no subagents)",
|
||||
"label": "Workflow Patterns",
|
||||
"detail": {
|
||||
"clickHint": "Click for details",
|
||||
"stepsHeading": "Full step sequence",
|
||||
"statsHeading": "Stats",
|
||||
"stepsCount_one": "{{count}} step",
|
||||
"stepsCount_other": "{{count}} steps",
|
||||
"uniqueAgents": "Unique agent types",
|
||||
"occurrences": "Sessions matching this pattern",
|
||||
"shareOfSessions": "Share of all sessions",
|
||||
"narrativeHeading": "What this means",
|
||||
"suggestionHeading": "Suggestion",
|
||||
"narrative": {
|
||||
"soloFmt": "Sessions that ran with only {{first}} - no delegation to other agent types.",
|
||||
"twoStepFmt": "A two-step hand-off: {{first}} delegates straight to {{last}}, with no further branching.",
|
||||
"shortFmt": "A {{count}}-step chain that starts at {{first}} and ends at {{last}}.",
|
||||
"longFmt": "A long {{count}}-step chain - begins at {{first}}, threads through several agents, and lands at {{last}}.",
|
||||
"loopHintFmt": " {{agent}} appears more than once in this sequence - typical of a verification or revision loop.",
|
||||
"dominant": " This is the dominant workflow in your project - more than half of sessions follow it.",
|
||||
"common": " This is a common workflow, accounting for roughly a quarter of sessions.",
|
||||
"regular": " A recognised workflow, but not the majority pattern.",
|
||||
"niche": " A niche pattern that only surfaces occasionally."
|
||||
},
|
||||
"suggestion": {
|
||||
"solo": "Solo run - would a code-reviewer or test-runner subagent raise the quality of these sessions?",
|
||||
"shortChain": "Short chain. If it keeps recurring, name it as a slash command, skill, or named workflow so it's easy to reproduce.",
|
||||
"mediumChain": "Frequent enough to formalise. A named workflow or template would make this pattern reusable.",
|
||||
"longChain": "Long chain - review whether every hop is necessary, or whether some agents could be merged or skipped.",
|
||||
"loop": "Loop detected. Confirm the repeated step is intentional verification rather than a silent retry of a failing call."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modelDelegation": {
|
||||
"title": "Model Delegation Flow",
|
||||
"subtitle": "How models route through agent hierarchies",
|
||||
"mainModels": "MAIN MODELS",
|
||||
"subagentModels": "SUBAGENT MODELS",
|
||||
"noData": "No model delegation data available",
|
||||
"agentsCount_one": "{{count}} agent",
|
||||
"agentsCount_other": "{{count}} agents",
|
||||
"tokensCount": "{{tokens}} tokens",
|
||||
"sessionsCount_one": "{{count}} session",
|
||||
"sessionsCount_other": "{{count}} sessions",
|
||||
"ariaLabel": "Model delegation flow diagram",
|
||||
"tooltip": {
|
||||
"mainModel": "Main model",
|
||||
"subagentModel": "Subagent model",
|
||||
"agentRuns": "Agent runs",
|
||||
"shareOfAll": "Share of all agents",
|
||||
"sessionsOnModel": "Sessions on this model",
|
||||
"totalTokens": "Total tokens",
|
||||
"family": {
|
||||
"opus": "Opus - highest-capability tier; best for complex reasoning, longest context, costliest per token.",
|
||||
"sonnet": "Sonnet - balanced tier; good default for most coding and tool-use workflows.",
|
||||
"haiku": "Haiku - fastest, cheapest tier; ideal for short, latency-sensitive subagents.",
|
||||
"other": "Non-Anthropic or unrecognized model - falls outside the standard Opus/Sonnet/Haiku families."
|
||||
},
|
||||
"lines": {
|
||||
"main": "Lines on the right show subagent models this main model delegated work to.",
|
||||
"sub": "Lines on the left show main models that delegated work to this subagent model."
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorPropagation": {
|
||||
"title": "Error Propagation Map",
|
||||
"subtitle": "Where errors cluster in agent hierarchy depth",
|
||||
"noErrors": "No errors recorded",
|
||||
"allSuccess": "All sessions completed successfully",
|
||||
"sessionsHadErrors": " sessions had errors",
|
||||
"sessionsErrorSummary": "{{errorSessions}} of {{totalSessions}} sessions had errors",
|
||||
"agentErrors": " agent-level error(s) across hierarchy",
|
||||
"sessionErrorsOnly": "Session-level errors only",
|
||||
"errorsByDepth": "Errors by hierarchy depth",
|
||||
"errorProneTypes": "Error-prone agent types",
|
||||
"apiSessionErrors": "API & session errors",
|
||||
"depthLabels": {
|
||||
"sessionMain": "Session / Main",
|
||||
"directSubagent": "Direct Subagent",
|
||||
"nested": "Nested (depth 2)",
|
||||
"deep": "Deep (depth 3+)"
|
||||
}
|
||||
},
|
||||
"complexity": {
|
||||
"title": "Session Complexity Scatter",
|
||||
"subtitle": "Duration vs agent count vs tokens - Bubble size = token usage",
|
||||
"noData": "No session complexity data",
|
||||
"noDataDesc": "Sessions will appear here once they complete with agent activity.",
|
||||
"duration": "Duration",
|
||||
"agentCount": "Agent Count",
|
||||
"ariaLabel": "Session complexity scatter plot",
|
||||
"tooltip": {
|
||||
"duration": "Duration:",
|
||||
"agents": "Agents:",
|
||||
"subagents": "Subagents:",
|
||||
"tokens": "Tokens:",
|
||||
"model": "Model:"
|
||||
}
|
||||
},
|
||||
"compaction": {
|
||||
"title": "Compaction Impact Analysis",
|
||||
"subtitle": "How context compression is spread across your sessions",
|
||||
"help": "When a session's context window fills up, Claude Code compresses older history into a summary. Each compaction is one such event.",
|
||||
"noData": "No compactions recorded",
|
||||
"totalCompactions": "Total compactions",
|
||||
"sessionsAffected": "Sessions affected",
|
||||
"ofTotal": "of {{total}}",
|
||||
"avgPerSession": "Avg / affected session",
|
||||
"peakSession": "Most in one session",
|
||||
"tokensRecovered": "Tokens Recovered",
|
||||
"distribution": "Sessions by compaction count",
|
||||
"xAxis": "Compactions per session",
|
||||
"yAxis": "Sessions",
|
||||
"summary": "{{affected}} of {{total}} sessions ({{pct}}%) used context compaction.",
|
||||
"tokensFreed": "Compaction freed ~{{tokens}} tokens of context.",
|
||||
"ariaLabel": "Number of sessions by compaction count",
|
||||
"tipTitle": "Compacted {{count}}x",
|
||||
"tipDetail": "{{sessions}} sessions · {{pct}}% of affected"
|
||||
},
|
||||
"skillUsage": {
|
||||
"title": "Skill & Plugin Usage",
|
||||
"subtitle": "Which skills your sessions actually reach for",
|
||||
"plugins": "Plugins",
|
||||
"skills": "Skills",
|
||||
"empty": "No skill invocation recorded yet.",
|
||||
"calls_one": "{{count}} call",
|
||||
"calls_other": "{{count}} calls",
|
||||
"sessions_one": "{{count}} session",
|
||||
"sessions_other": "{{count}} sessions",
|
||||
"pluginBreakdown": "{{skills}} skill(s) used · {{skillCalls}} skill call(s) · {{mcpCalls}} MCP tool call(s)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,9 +69,39 @@
|
||||
"why": "Khi biểu đồ tổng hợp đánh dấu một phiên đáng ngờ, đây là nơi bạn đọc chính xác chuyện gì đã xảy ra, theo đúng thứ tự."
|
||||
},
|
||||
"lanes": {
|
||||
"what": "Các lane mà dashboard theo dõi — mỗi thư mục làm việc là một đơn vị công việc song song bền vững — cùng giai đoạn pipeline mỗi lane đã đạt tới.",
|
||||
"howToRead": "Chọn một thẻ lane để xem pipeline bên dưới. Node xanh lá là đã xong kèm bằng chứng, xanh dương đặc là giai đoạn hiện tại, vàng là khai báo nhưng không có bằng chứng, vàng nét đứt là chỉ suy ra từ tool event, đỏ là bị từ chối.",
|
||||
"why": "Đây là pipeline giao việc của chính bạn, không phải nội bộ Claude Code: nó trả lời từng luồng việc song song đang ở đâu. Các thao tác trên lane nằm ở trang Workspace."
|
||||
"what": "Toàn bộ bản ghi giai đoạn của mọi lane và feature đã lưu trữ, đếm theo từng node pipeline: số lần vào giai đoạn, số lần pass, và bao nhiêu lần pass có kèm bằng chứng.",
|
||||
"howToRead": "Mỗi node một dòng. Thanh bar so tỉ lệ với node bận nhất, chia ba màu: xanh lá (pass có bằng chứng), vàng (pass nhưng chỉ khai báo), đỏ (thất bại). Số bên phải là pass / số lần vào và tỉ lệ pass.",
|
||||
"why": "Node có dải vàng dài là giai đoạn ai cũng khai báo nhưng không ai chứng minh; node chưa bao giờ tới là giai đoạn pipeline của bạn thực tế không dùng."
|
||||
},
|
||||
"patterns": {
|
||||
"what": "Danh sách xếp hạng các chuỗi điều phối Agent lặp lại được phát hiện từ trace phiên, kèm thẻ riêng cho phiên đơn lẻ không có Subagent.",
|
||||
"howToRead": "Mỗi dòng là một chuỗi bước (main → sub → sub …). Bên phải hiển thị số phiên khớp và tỷ lệ trên tổng phiên. Bấm vào một mẫu để làm nổi bật.",
|
||||
"why": "Cho thấy các 'hình dáng' công việc tiêu chuẩn trong dự án. Mẫu phổ biến là ứng viên tốt để chuẩn hóa thành workflow hoặc skill có tên gọi."
|
||||
},
|
||||
"modelDelegation": {
|
||||
"what": "Sơ đồ luồng hai cột cho thấy mô hình chính nào ủy quyền cho mô hình Subagent nào, kèm số Agent và tổng token theo node.",
|
||||
"howToRead": "Cột trái = mô hình chính của phiên; cột phải = mô hình dùng bên trong Subagent. Đường nối chỉ các cặp main → Subagent quan sát được. Hover một node để xem tỷ trọng trên tổng Agent, số phiên, tổng token và mô tả họ mô hình (Opus / Sonnet / Haiku).",
|
||||
"why": "Giúp xác nhận phân tầng chi phí/độ trễ - ví dụ main trên Sonnet, Subagent trên Haiku - và phát hiện các trường hợp bị đẩy lên Opus ngoài ý muốn."
|
||||
},
|
||||
"errorPropagation": {
|
||||
"what": "Lỗi tập trung ở đâu trong phân cấp Agent: theo độ sâu (phiên/main vs Subagent trực tiếp vs lồng nhau), theo loại Agent, và theo nhóm lỗi API / phiên.",
|
||||
"howToRead": "Banner trên đầu cho biết tỷ lệ lỗi cấp phiên. Các thanh độ sâu cho biết bao nhiêu lỗi xảy ra ở từng cấp lồng. Danh sách 'loại dễ lỗi' xếp Subagent theo số lỗi. Khối dưới hiển thị tóm tắt lỗi API/phiên.",
|
||||
"why": "Xác định lỗi nằm ở trục điều phối (main agent), ở Subagent cụ thể, hay ở chuỗi lồng sâu - giúp định hướng nơi nên đầu tư retry, kiểm chứng hay viết lại."
|
||||
},
|
||||
"complexity": {
|
||||
"what": "Biểu đồ phân tán mỗi phiên: x = thời lượng thực, y = tổng số Agent, kích thước bong bóng = tổng token, màu = trạng thái cuối.",
|
||||
"howToRead": "Bong bóng phía trên-bên phải là phiên dài và nặng Agent. Bong bóng to dùng nhiều token nhất. Đỏ/vàng = kết quả lỗi/bỏ dở. Hover để xem đầy đủ thống kê phiên; bấm để xem chi tiết bên dưới.",
|
||||
"why": "Cho cái nhìn tổng thể về phân bố chi phí/độ phức tạp. Outlier chính là những phiên đáng điều tra vì hành vi bất thường hoặc đột biến chi phí."
|
||||
},
|
||||
"compaction": {
|
||||
"what": "Tần suất Claude kích hoạt nén ngữ cảnh: tổng số sự kiện, token thu hồi và phân bố theo từng phiên.",
|
||||
"howToRead": "Hai ô số liệu cho biết tổng số lần nén và tổng token đã thu hồi. Biểu đồ cột liệt kê các phiên có ít nhất một lần nén, sắp xếp giảm dần theo số lần.",
|
||||
"why": "Nén ngữ cảnh là dấu hiệu áp lực bộ nhớ. Nhiều phiên có số lần nén cao thường có nghĩa workflow nên được chia nhỏ, tóm tắt, hoặc chuyển sang model có ngữ cảnh dài hơn."
|
||||
},
|
||||
"skillUsage": {
|
||||
"what": "Số lần gọi skill đếm từ event tool Skill, gom theo skill và theo plugin sở hữu. Tổng của một plugin còn tính cả lần gọi các tool MCP mà plugin đó cung cấp.",
|
||||
"howToRead": "Các chip phía trên là plugin kèm tổng số lần gọi; danh sách bên dưới xếp hạng từng skill theo số lần gọi, kèm số phiên khác nhau đã dùng skill đó.",
|
||||
"why": "Cho thấy phần nào trong bộ cài đặt thực sự đáng giữ. Skill cài mà không bao giờ gọi sẽ không xuất hiện ở đây — bảng này báo mức dùng, không phải danh mục."
|
||||
}
|
||||
},
|
||||
"stats": {
|
||||
@@ -236,8 +266,151 @@
|
||||
"sortedByCompaction": " phiên (sắp theo số lần nén ngữ cảnh)"
|
||||
},
|
||||
"lanes": {
|
||||
"title": "Pipeline của lane",
|
||||
"subtitle": "Các lane của bạn và giai đoạn mỗi lane đã đạt tới",
|
||||
"openWorkspace": "Mở trong Workspace"
|
||||
"title": "Tỉ lệ pass các node pipeline",
|
||||
"subtitle": "Mỗi giai đoạn trong pipeline của bạn thực sự pass bao nhiêu lần",
|
||||
"pipelineLabel": "Mẫu pipeline",
|
||||
"runs_one": "{{count}} lượt chạy được ghi nhận",
|
||||
"runs_other": "{{count}} lượt chạy được ghi nhận",
|
||||
"legendEvidence": "pass kèm bằng chứng",
|
||||
"legendClaimed": "pass, không bằng chứng",
|
||||
"legendFailed": "thất bại",
|
||||
"never": "chưa từng tới",
|
||||
"empty": "Chưa lane nào ghi nhận giai đoạn. Tạo lane bằng"
|
||||
},
|
||||
"patterns": {
|
||||
"title": "Mẫu quy trình phát hiện được",
|
||||
"subtitle": "Chuỗi điều phối Agent thường gặp",
|
||||
"noData": "Chưa phát hiện mẫu nào",
|
||||
"noDataDesc": "Mẫu sẽ xuất hiện khi nhiều phiên có cùng chuỗi Agent.",
|
||||
"solo": "đơn lẻ (không có Subagent)",
|
||||
"label": "Mẫu quy trình",
|
||||
"detail": {
|
||||
"clickHint": "Bấm để xem chi tiết",
|
||||
"stepsHeading": "Chuỗi bước đầy đủ",
|
||||
"statsHeading": "Thống kê",
|
||||
"stepsCount_one": "{{count}} bước",
|
||||
"stepsCount_other": "{{count}} bước",
|
||||
"uniqueAgents": "Số loại Agent khác nhau",
|
||||
"occurrences": "Số phiên khớp mẫu này",
|
||||
"shareOfSessions": "Tỷ trọng trên tổng phiên",
|
||||
"narrativeHeading": "Ý nghĩa của mẫu này",
|
||||
"suggestionHeading": "Gợi ý",
|
||||
"narrative": {
|
||||
"soloFmt": "Phiên chỉ chạy {{first}} - không ủy quyền cho loại Agent nào khác.",
|
||||
"twoStepFmt": "Hand-off hai bước: {{first}} ủy quyền thẳng cho {{last}}, không có nhánh nào khác.",
|
||||
"shortFmt": "Chuỗi {{count}} bước, bắt đầu ở {{first}} và kết thúc ở {{last}}.",
|
||||
"longFmt": "Chuỗi dài {{count}} bước - bắt đầu ở {{first}}, đi qua nhiều Agent, rồi dừng ở {{last}}.",
|
||||
"loopHintFmt": " {{agent}} xuất hiện nhiều lần trong chuỗi này - điển hình cho vòng lặp kiểm tra hoặc sửa lại.",
|
||||
"dominant": " Đây là quy trình chủ đạo trong dự án - hơn một nửa số phiên đi theo.",
|
||||
"common": " Là quy trình phổ biến, chiếm khoảng một phần tư số phiên.",
|
||||
"regular": " Là quy trình được nhận diện, nhưng chưa phải đa số.",
|
||||
"niche": " Là mẫu hiếm, chỉ thi thoảng mới xuất hiện."
|
||||
},
|
||||
"suggestion": {
|
||||
"solo": "Phiên đơn lẻ - liệu thêm code-reviewer hay test-runner Subagent có cải thiện chất lượng không?",
|
||||
"shortChain": "Chuỗi ngắn. Nếu lặp lại nhiều, hãy đặt tên thành slash command, skill hoặc workflow để dễ tái sử dụng.",
|
||||
"mediumChain": "Đủ phổ biến để chuẩn hóa. Một workflow/template có tên sẽ giúp tái sử dụng dễ dàng.",
|
||||
"longChain": "Chuỗi dài - xem xét liệu mọi bước có thực sự cần thiết, hay có thể gộp/bỏ bớt một số Agent.",
|
||||
"loop": "Phát hiện vòng lặp. Hãy xác nhận bước lặp là kiểm tra có chủ đích, không phải retry âm thầm một lệnh đang lỗi."
|
||||
}
|
||||
}
|
||||
},
|
||||
"modelDelegation": {
|
||||
"title": "Luồng ủy quyền mô hình",
|
||||
"subtitle": "Cách các mô hình đi qua phân cấp Agent",
|
||||
"mainModels": "MÔ HÌNH CHÍNH",
|
||||
"subagentModels": "MÔ HÌNH TÁC TỬ PHỤ",
|
||||
"noData": "Chưa có dữ liệu ủy quyền mô hình",
|
||||
"agentsCount_one": "{{count}} Agent",
|
||||
"agentsCount_other": "{{count}} Agent",
|
||||
"tokensCount": "{{tokens}} token",
|
||||
"sessionsCount_one": "{{count}} phiên",
|
||||
"sessionsCount_other": "{{count}} phiên",
|
||||
"ariaLabel": "Sơ đồ luồng ủy quyền mô hình",
|
||||
"tooltip": {
|
||||
"mainModel": "Mô hình chính",
|
||||
"subagentModel": "Mô hình Subagent",
|
||||
"agentRuns": "Lượt chạy Agent",
|
||||
"shareOfAll": "Tỷ trọng trên tổng Agent",
|
||||
"sessionsOnModel": "Phiên dùng mô hình này",
|
||||
"totalTokens": "Tổng token",
|
||||
"family": {
|
||||
"opus": "Opus - bậc khả năng cao nhất; tốt cho lý luận phức tạp, ngữ cảnh dài nhất, đắt nhất theo token.",
|
||||
"sonnet": "Sonnet - bậc cân bằng; mặc định tốt cho hầu hết quy trình code và dùng tool.",
|
||||
"haiku": "Haiku - bậc nhanh nhất, rẻ nhất; phù hợp cho Subagent ngắn, nhạy cảm độ trễ.",
|
||||
"other": "Mô hình ngoài Anthropic hoặc không nhận dạng được - không thuộc bộ Opus/Sonnet/Haiku tiêu chuẩn."
|
||||
},
|
||||
"lines": {
|
||||
"main": "Các đường bên phải cho thấy mô hình Subagent mà mô hình chính này đã ủy quyền.",
|
||||
"sub": "Các đường bên trái cho thấy mô hình chính nào đã ủy quyền cho mô hình Subagent này."
|
||||
}
|
||||
}
|
||||
},
|
||||
"errorPropagation": {
|
||||
"title": "Bản đồ lan truyền lỗi",
|
||||
"subtitle": "Điểm tập trung lỗi theo độ sâu phân cấp Agent",
|
||||
"noErrors": "Không ghi nhận lỗi",
|
||||
"allSuccess": "Tất cả phiên đã hoàn tất thành công",
|
||||
"sessionsHadErrors": " phiên gặp lỗi",
|
||||
"sessionsErrorSummary": "{{errorSessions}} trên {{totalSessions}} phiên gặp lỗi",
|
||||
"agentErrors": " lỗi cấp Agent trong toàn bộ phân cấp",
|
||||
"sessionErrorsOnly": "Chỉ có lỗi ở cấp phiên",
|
||||
"errorsByDepth": "Lỗi theo độ sâu phân cấp",
|
||||
"errorProneTypes": "Loại Agent dễ lỗi",
|
||||
"apiSessionErrors": "Lỗi API & phiên",
|
||||
"depthLabels": {
|
||||
"sessionMain": "Phiên / Agent chính",
|
||||
"directSubagent": "Subagent trực tiếp",
|
||||
"nested": "Lồng nhau (độ sâu 2)",
|
||||
"deep": "Sâu (độ sâu 3+)"
|
||||
}
|
||||
},
|
||||
"complexity": {
|
||||
"title": "Biểu đồ phân tán độ phức tạp phiên",
|
||||
"subtitle": "Thời lượng vs số Agent vs token - kích thước bong bóng = lượng token",
|
||||
"noData": "Chưa có dữ liệu độ phức tạp phiên",
|
||||
"noDataDesc": "Phiên sẽ xuất hiện ở đây sau khi hoàn tất với hoạt động Agent.",
|
||||
"duration": "Thời lượng",
|
||||
"agentCount": "Số Agent",
|
||||
"ariaLabel": "Biểu đồ phân tán độ phức tạp phiên",
|
||||
"tooltip": {
|
||||
"duration": "Thời lượng:",
|
||||
"agents": "Agent:",
|
||||
"subagents": "Subagent:",
|
||||
"tokens": "Token:",
|
||||
"model": "Mô hình:"
|
||||
}
|
||||
},
|
||||
"compaction": {
|
||||
"title": "Phân tích tác động nén ngữ cảnh",
|
||||
"subtitle": "Cách nén ngữ cảnh phân bố trên các phiên của bạn",
|
||||
"help": "Khi cửa sổ ngữ cảnh của một phiên đầy, Claude Code nén phần lịch sử cũ thành bản tóm tắt. Mỗi lần nén dưới đây là một sự kiện như vậy.",
|
||||
"noData": "Chưa ghi nhận nén ngữ cảnh",
|
||||
"totalCompactions": "Tổng số lần nén",
|
||||
"sessionsAffected": "Phiên bị ảnh hưởng",
|
||||
"ofTotal": "trên {{total}}",
|
||||
"avgPerSession": "TB / phiên bị ảnh hưởng",
|
||||
"peakSession": "Nhiều nhất trong một phiên",
|
||||
"tokensRecovered": "Token thu hồi",
|
||||
"distribution": "Số phiên theo số lần nén",
|
||||
"xAxis": "Số lần nén mỗi phiên",
|
||||
"yAxis": "Số phiên",
|
||||
"summary": "{{affected}} trên {{total}} phiên ({{pct}}%) đã dùng nén ngữ cảnh.",
|
||||
"tokensFreed": "Nén đã giải phóng ~{{tokens}} token ngữ cảnh.",
|
||||
"ariaLabel": "Số phiên theo số lần nén",
|
||||
"tipTitle": "Nén {{count}} lần",
|
||||
"tipDetail": "{{sessions}} phiên · {{pct}}% số phiên bị ảnh hưởng"
|
||||
},
|
||||
"skillUsage": {
|
||||
"title": "Mức dùng skill & plugin",
|
||||
"subtitle": "Các phiên làm việc thực sự dùng skill nào",
|
||||
"plugins": "Plugin",
|
||||
"skills": "Skill",
|
||||
"empty": "Chưa ghi nhận lần gọi skill nào.",
|
||||
"calls_one": "{{count}} lần gọi",
|
||||
"calls_other": "{{count}} lần gọi",
|
||||
"sessions_one": "{{count}} phiên",
|
||||
"sessions_other": "{{count}} phiên",
|
||||
"pluginBreakdown": "{{skills}} skill được dùng · {{skillCalls}} lần gọi skill · {{mcpCalls}} lần gọi tool MCP"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user