À propos du projet

Ce projet est un plugin pour DeepSeek Harness (DSH) qui fournit une observabilité OpenTelemetry complète pour les exécutions d'agents IA. Il exporte les traces, métriques et logs vers GreptimeDB, une base de données de séries temporelles, et est livré avec sept tableaux de bord Grafana préconstruits pour la visualisation. Le plugin instrumente chaque tour, appel de modèle et exécution d'outil dans une session DSH, enregistrant les compteurs de tokens (entrée, sortie, lectures de cache, écritures de cache, tokens de raisonnement), les durées, les noms d'outils, les résultats et les informations d'erreur. Les traces sont structurées comme des spans de tour avec des spans de chat et d'outil comme frères, corrélés par identifiants d'étape. Les métriques incluent des histogrammes pour l'utilisation des tokens, les durées d'opérations et les compteurs d'invocations d'outils. Les logs capturent un enregistrement par événement de session avec des colonnes extractibles pour l'ID de session, le type d'événement, le tour et l'étape. Sept tableaux de bord Grafana couvrent différents aspects : Vue d'ensemble (compteurs de tokens, vitesse, utilisation du cache), Coût (estimations monétaires utilisant des taux configurables par million de tokens), Sessions (durée de conversation, nombre de tours, échecs), Boucle d'agent (fréquence des outils, taux d'échec, appels de modèle par tour), Explorateur de traces (waterfall span par span pour un seul tour), Explorateur de logs (événements de session filtrables) et Métriques (vues basées sur PromQL pour une rétention plus longue). Le tableau de bord Coût utilise quatre taux configurables pour l'entrée non mise en cache, la lecture de cache, l'écriture de cache et les tokens de sortie, avec des valeurs par défaut correspondant aux tarifs publiés de DeepSeek. Le plugin s'installe comme un plugin DSH ordinaire via `dsh plugin add` et ne nécessite ni collecteur ni sidecar. La configuration prend en charge les endpoints personnalisés, les noms de bases de données, l'authentification, la sélection des signaux, les modes de confidentialité du contenu (aucun, complet, complet+invite), le TTL de rétention et le moment de l'exportation. Une liste blanche positive garantit que les types d'événements inconnus n'exportent que leur identité. Trois catégories de données ne quittent jamais la machine dans aucun mode : les métadonnées privées des outils, les messages d'erreur internes et les traces de pile des requêtes. Le projet cible des versions de préversion spécifiques de DSH et inclut des tableaux de compatibilité. Il s'intègre avec TMA1, qui sert de proxy OTLP vers une instance GreptimeDB gérée. Les limitations connues incluent l'instabilité de préversion de DSH, les conventions sémantiques GenAI expérimentales, le TTL n'atteignant pas les tables de métriques et l'absence de vidage par tour.