feat: 新增 Skills Usage 监控统计与图表 (#668)

* feat: add skills usage monitoring

* fix: localize Skills Usage page copy

* fix: keep Skills Usage labels compact
This commit is contained in:
Zhicheng Han
2026-05-13 01:43:25 +02:00
committed by GitHub
parent c2068302c3
commit ce08d2b05a
19 changed files with 1662 additions and 3 deletions
+23
View File
@@ -79,6 +79,7 @@ export default {
memory: 'Gedachtnis',
logs: 'Protokolle',
usage: 'Nutzung',
skillsUsage: 'Skill-Nutzung',
channels: 'Kanale',
terminal: 'Terminal',
files: 'Dateien',
@@ -762,6 +763,28 @@ jobTriggered: 'Job ausgelost',
noData: 'Keine Nutzungsdaten',
},
skillsUsage: {
title: 'Skill-Nutzung',
subtitle: 'Skill-Ladevorgänge und -Bearbeitungen aus Hermes-Sitzungen verfolgen',
refresh: 'Aktualisieren',
periodSelector: 'Zeitraum der Skill-Nutzung',
periodLabel: '{days} T',
summary: 'Zusammenfassung',
totalActions: 'Aktionen',
loads: 'Laden',
edits: 'Änd.',
distinctSkills: 'Skillzahl',
topSkills: 'Top-Skills',
dailyTrend: 'Trend',
periodSummary: 'Letzte {days} Tage',
skill: 'Fähigkeit',
share: '%',
lastUsed: 'Zuletzt',
noData: 'Keine Skill-Nutzungsdaten',
loadFailed: 'Skill-Nutzung konnte nicht geladen werden',
otherSkills: 'Andere Skills',
},
// Anderungsprotokoll
changelog: {
+23
View File
@@ -83,6 +83,7 @@ export default {
memory: 'Memory',
logs: 'Logs',
usage: 'Usage',
skillsUsage: 'Skills Usage',
channels: 'Channels',
gateways: 'Gateways',
terminal: 'Terminal',
@@ -983,6 +984,28 @@ export default {
cost: 'Cost',
noData: 'No usage data',
},
skillsUsage: {
title: 'Skills Usage',
subtitle: 'Track skill loads and edits from Hermes sessions',
refresh: 'Refresh',
periodSelector: 'Skill usage period',
periodLabel: '{days}d',
summary: 'Summary',
totalActions: 'Actions',
loads: 'Loads',
edits: 'Edits',
distinctSkills: 'Skills',
topSkills: 'Top Skills',
dailyTrend: 'Daily Trend',
periodSummary: 'Last {days} days',
skill: 'Skill',
share: 'Share',
lastUsed: 'Last Used',
noData: 'No skill usage data',
loadFailed: 'Failed to load skill usage',
otherSkills: 'Other skills',
},
// Files
files: {
title: 'Files',
+23
View File
@@ -79,6 +79,7 @@ export default {
memory: 'Memoria',
logs: 'Registros',
usage: 'Uso',
skillsUsage: 'Uso de habilidades',
channels: 'Canales',
terminal: 'Terminal',
files: 'Archivos',
@@ -758,6 +759,28 @@ jobTriggered: 'Job ejecutado',
noData: 'Sin datos de uso',
},
skillsUsage: {
title: 'Uso de habilidades',
subtitle: 'Sigue las cargas y ediciones de habilidades en sesiones de Hermes',
refresh: 'Actualizar',
periodSelector: 'Periodo de uso de habilidades',
periodLabel: '{days} d',
summary: 'Resumen',
totalActions: 'Acciones',
loads: 'Cargas',
edits: 'Ed.',
distinctSkills: 'Habs.',
topSkills: 'Top habs.',
dailyTrend: 'Tendencia diaria',
periodSummary: 'Últimos {days} días',
skill: 'Hab.',
share: '%',
lastUsed: 'Últ. uso',
noData: 'No hay datos de uso de habilidades',
loadFailed: 'No se pudo cargar el uso de habilidades',
otherSkills: 'Otras habs.',
},
// Registro de cambios
changelog: {
+23
View File
@@ -79,6 +79,7 @@ export default {
memory: 'Memoire',
logs: 'Journaux',
usage: 'Utilisation',
skillsUsage: 'Utilisation des compétences',
channels: 'Canaux',
terminal: 'Terminal',
files: 'Fichiers',
@@ -758,6 +759,28 @@ jobTriggered: 'Job declenche',
noData: 'Aucune donnee d\'utilisation',
},
skillsUsage: {
title: 'Utilisation des compétences',
subtitle: 'Suivre les chargements et modifications de compétences dans les sessions Hermes',
refresh: 'Actualiser',
periodSelector: 'Période d\'utilisation des compétences',
periodLabel: '{days} j',
summary: 'Résumé',
totalActions: 'Act.',
loads: 'Charg.',
edits: 'Modif.',
distinctSkills: 'Comp.',
topSkills: 'Top comp.',
dailyTrend: 'Tendance',
periodSummary: '{days} derniers jours',
skill: 'Comp.',
share: '%',
lastUsed: 'Dern. usage',
noData: 'Aucune donnée d\'utilisation des compétences',
loadFailed: 'Impossible de charger l\'utilisation des compétences',
otherSkills: 'Autres comp.',
},
// Journal des modifications
changelog: {
+23
View File
@@ -79,6 +79,7 @@ export default {
memory: 'メモリ',
logs: 'ログ',
usage: '使用量',
skillsUsage: 'スキル使用状況',
channels: 'チャンネル',
terminal: 'ターミナル',
files: 'ファイル',
@@ -758,6 +759,28 @@ export default {
noData: '使用データがありません',
},
skillsUsage: {
title: 'スキル使用状況',
subtitle: 'Hermes セッションでのスキル読み込みと編集を追跡します',
refresh: '更新',
periodSelector: 'スキル使用期間',
periodLabel: '{days}日',
summary: '概要',
totalActions: '操作数',
loads: '読み込み',
edits: '編集',
distinctSkills: 'スキル数',
topSkills: '上位',
dailyTrend: '日別',
periodSummary: '過去 {days} 日',
skill: 'スキル',
share: '割合',
lastUsed: '最終',
noData: 'スキル使用データはありません',
loadFailed: 'スキル使用状況の読み込みに失敗しました',
otherSkills: 'その他',
},
// 更新履歴
changelog: {
+23
View File
@@ -79,6 +79,7 @@ export default {
memory: '메모리',
logs: '로그',
usage: '사용량',
skillsUsage: '스킬 사용량',
channels: '채널',
terminal: '터미널',
files: '파일',
@@ -758,6 +759,28 @@ export default {
noData: '사용량 데이터 없음',
},
skillsUsage: {
title: '스킬 사용량',
subtitle: 'Hermes 세션의 스킬 로드와 편집을 추적합니다',
refresh: '새로고침',
periodSelector: '스킬 사용량 기간',
periodLabel: '{days}일',
summary: '요약',
totalActions: '작업 수',
loads: '로드',
edits: '편집',
distinctSkills: '스킬 수',
topSkills: '상위',
dailyTrend: '일별',
periodSummary: '최근 {days}일',
skill: '스킬',
share: '비중',
lastUsed: '마지막',
noData: '스킬 사용량 데이터가 없습니다',
loadFailed: '스킬 사용량을 불러오지 못했습니다',
otherSkills: '기타',
},
// 변경 이력
changelog: {
+23
View File
@@ -79,6 +79,7 @@ export default {
memory: 'Memoria',
logs: 'Logs',
usage: 'Uso',
skillsUsage: 'Uso de habilidades',
channels: 'Canais',
terminal: 'Terminal',
files: 'Arquivos',
@@ -758,6 +759,28 @@ jobTriggered: 'Job acionado',
noData: 'Sem dados de uso',
},
skillsUsage: {
title: 'Uso de habilidades',
subtitle: 'Acompanhe carregamentos e edições de habilidades nas sessões Hermes',
refresh: 'Atualizar',
periodSelector: 'Período de uso de habilidades',
periodLabel: '{days} d',
summary: 'Resumo',
totalActions: 'Ações',
loads: 'Carga',
edits: 'Ed.',
distinctSkills: 'Habs.',
topSkills: 'Top habs.',
dailyTrend: 'Tendência diária',
periodSummary: 'Últimos {days} dias',
skill: 'Hab.',
share: '%',
lastUsed: 'Últ. uso',
noData: 'Nenhum dado de uso de habilidades',
loadFailed: 'Falha ao carregar o uso de habilidades',
otherSkills: 'Outras habs.',
},
// Registro de alteracoes
changelog: {
+23
View File
@@ -83,6 +83,7 @@ export default {
memory: '記憶',
logs: '日誌',
usage: '用量',
skillsUsage: '技能用量',
channels: '頻道',
gateways: '閘道',
terminal: '終端機',
@@ -986,6 +987,28 @@ export default {
noData: '目前無用量資料',
},
skillsUsage: {
title: '技能用量',
subtitle: '追蹤 Hermes 工作階段中的技能載入與編輯',
refresh: '重新整理',
periodSelector: '技能用量期間',
periodLabel: '{days}天',
summary: '總覽',
totalActions: '操作',
loads: '載入',
edits: '編輯',
distinctSkills: '技能數',
topSkills: '熱門',
dailyTrend: '趨勢',
periodSummary: '最近 {days} 天',
skill: '技能',
share: '占比',
lastUsed: '最近',
noData: '暫無技能用量資料',
loadFailed: '技能用量載入失敗',
otherSkills: '其他技能',
},
// 檔案管理
files: {
title: '檔案',
+23
View File
@@ -83,6 +83,7 @@ export default {
memory: '记忆',
logs: '日志',
usage: '用量',
skillsUsage: '技能用量',
channels: '频道',
gateways: '网关',
terminal: '终端',
@@ -985,6 +986,28 @@ export default {
cost: '费用',
noData: '暂无用量数据',
},
skillsUsage: {
title: '技能用量',
subtitle: '跟踪 Hermes 会话中的技能加载和编辑',
refresh: '刷新',
periodSelector: '技能用量周期',
periodLabel: '{days}天',
summary: '概览',
totalActions: '操作',
loads: '加载',
edits: '编辑',
distinctSkills: '技能数',
topSkills: '热门',
dailyTrend: '趋势',
periodSummary: '最近 {days} 天',
skill: '技能',
share: '占比',
lastUsed: '最近',
noData: '暂无技能用量数据',
loadFailed: '技能用量加载失败',
otherSkills: '其他技能',
},
// 文件管理
files: {
title: '文件',