Aller au contenu

Utilisation de Claude Code

Outils complets de surveillance et d’analyse de l’utilisation de Claude Code pour suivre la consommation de tokens, les coûts, les métriques de performance et l’optimisation de l’utilisation.

Aperçu

Les outils de Claude Code Usage fournissent des capacités de surveillance, d’analyse et d’optimisation en temps réel pour la consommation de tokens Claude Code et l’utilisation de l’API. Ces outils aident les développeurs à suivre les coûts, surveiller les performances, analyser les modèles d’utilisation et optimiser leurs workflows Claude Code grâce à des métriques détaillées, des alertes et des fonctionnalités de reporting.

⚠️ Avis d’utilisation : Les outils de surveillance d’utilisation nécessitent un accès aux fichiers de session Claude Code et aux journaux d’API. Assurez-vous de disposer des autorisations appropriées et de respecter la confidentialité des données lors de la mise en place de solutions de surveillance.

Outils principaux

Moniteur d’utilisation Claude Code

# Install via npm
npm install -g claude-code-usage-monitor

# Install via pip
pip install claude-code-usage-monitor

# Clone from GitHub
git clone https://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor.git
cd Claude-Code-Usage-Monitor
npm install
npm start

Outil CLI ccusage

# Install ccusage
npm install -g ccusage

# Basic usage analysis
ccusage analyze

# Analyze specific session
ccusage analyze --session session-id

# Generate report
ccusage report --format json

# Real-time monitoring
ccusage monitor --live

Installation et configuration

Configuration du moniteur d’utilisation

# Start usage monitor
claude-usage-monitor --port 3000

# With configuration file
claude-usage-monitor --config config.json

# Docker deployment
docker run -p 3000:3000 -v ~/.claude:/data claude-usage-monitor

Extension VS Code

# Install from marketplace
code --install-extension suzuki0430.ccusage-vscode

# Manual installation
git clone https://github.com/suzuki0430/ccusage-vscode.git
cd ccusage-vscode
npm install
npm run compile
code --install-extension ccusage-vscode-*.vsix

Extension Raycast

# Install Raycast extension
raycast://extensions/nyatinte/ccusage

# Configure API access
raycast://preferences/extensions/ccusage

Commandes de surveillance

Surveillance en temps réel

CommandeDescription
ccusage monitorDémarrer la surveillance en temps réel
ccusage dashboardTableau de bord web ouvert
ccusage statusVérifier le statut d’utilisation actuel
ccusage alertsAfficher les alertes actives
ccusage liveFlux d’utilisation en direct
ccusage watchSurveiller des métriques spécifiques
ccusage tailJournaux d’utilisation de Tail

Commandes d’analyse

CommandeDescription
ccusage analyzeAnalyser les modèles d’utilisation
ccusage reportGénérer un rapport d’utilisation
ccusage summaryRésumé d’utilisation
ccusage trendsAnalyse des tendances d’utilisation
ccusage compareComparer les périodes
ccusage breakdownRépartition détaillée
ccusage optimizeSuggestions d’optimisation

Configuration

Configuration du moniteur

{
  "monitor": {
    "port": 3000,
    "host": "localhost",
    "updateInterval": 1000,
    "retentionDays": 30,
    "enableAlerts": true
  },
  "claude": {
    "sessionPath": "~/.claude/sessions",
    "logPath": "~/.claude/logs",
    "apiEndpoint": "https://api.anthropic.com",
    "trackModels": ["claude-3-sonnet", "claude-3-haiku", "claude-3-opus"]
  },
  "metrics": {
    "trackTokens": true,
    "trackCosts": true,
    "trackPerformance": true,
    "trackErrors": true,
    "granularity": "minute"
  },
  "alerts": {
    "dailyLimit": 10000,
    "costThreshold": 50.00,
    "errorRate": 0.05,
    "responseTime": 5000
  }
}

Suivi des coûts

{
  "costTracking": {
    "enabled": true,
    "currency": "USD",
    "models": {
      "claude-3-opus": {
        "inputCost": 0.000015,
        "outputCost": 0.000075
      },
      "claude-3-sonnet": {
        "inputCost": 0.000003,
        "outputCost": 0.000015
      },
      "claude-3-haiku": {
        "inputCost": 0.00000025,
        "outputCost": 0.00000125
      }
    },
    "budgets": {
      "daily": 25.00,
      "weekly": 150.00,
      "monthly": 500.00
    }
  }
}

Fonctionnalités du tableau de bord

Tableau de bord web

# Access dashboard
http://localhost:3000

# Dashboard sections
- Real-time metrics
- Usage graphs
- Cost analysis
- Session history
- Performance metrics
- Alert management
- Export options

Composants du tableau de bord

ComposantDescription
Token CounterUtilisation des tokens en temps réel
Cost TrackerCoûts actuels et projetés
Session BrowserParcourir l’historique de session
Performance GraphMétriques de temps de réponse
Error MonitorSuivi du taux d’erreur
Usage HeatmapVisualisation du modèle d’utilisation
Alert PanelAlertes actives et notifications

Affichage des métriques

// Dashboard metrics configuration
const dashboardConfig = {
  widgets: [
    {
      type: "counter",
      metric: "tokens_today",
      title: "Today's Tokens",
      format: "number"
    },
    {
      type: "gauge",
      metric: "cost_today",
      title: "Today's Cost",
      format: "currency",
      max: 50
    },
    {
      type: "chart",
      metric: "tokens_hourly",
      title: "Hourly Usage",
      timeRange: "24h"
    },
    {
      type: "table",
      metric: "top_sessions",
      title: "Top Sessions",
      limit: 10
    }
  ],
  refreshInterval: 5000,
  theme: "dark"
};

Analyse de l’utilisation

Analyse des tokens

# Analyze token usage
ccusage tokens --period today
ccusage tokens --period week
ccusage tokens --period month

# Token breakdown by model
ccusage tokens --by-model

# Token efficiency analysis
ccusage tokens --efficiency

# Token usage trends
ccusage tokens --trends

Analyse des coûts

# Cost breakdown
ccusage costs --breakdown

# Cost by time period
ccusage costs --period month

# Cost optimization suggestions
ccusage costs --optimize

# Budget tracking
ccusage costs --budget-status

# Cost projections
ccusage costs --forecast

Analyse des performances

# Response time analysis
ccusage performance --response-time

# Throughput analysis
ccusage performance --throughput

# Error rate analysis
ccusage performance --errors

# Performance trends
ccusage performance --trends

# Bottleneck identification
ccusage performance --bottlenecks

Reporting

Génération de rapports

# Generate daily report
ccusage report --period today --format pdf

# Weekly summary
ccusage report --period week --format html

# Monthly analysis
ccusage report --period month --format json

# Custom date range
ccusage report --from 2025-07-01 --to 2025-07-15

# Detailed breakdown
ccusage report --detailed --include-sessions

Formats de rapport

FormatDescription
JSONDonnées lisibles par machine
CSVCompatible avec tableur
HTMLRapport consultable sur le web
PDFDocument imprimable
MarkdownFormat de documentation
ExcelTableur avancé

Reporting automatisé

{
  "automation": {
    "reports": [
      {
        "name": "daily_summary",
        "schedule": "0 9 * * *",
        "format": "email",
        "recipients": ["team@company.com"],
        "template": "daily_template"
      },
      {
        "name": "weekly_analysis",
        "schedule": "0 9 * * 1",
        "format": "pdf",
        "storage": "s3://reports-bucket/weekly/",
        "template": "weekly_template"
      }
    ]
  }
}

Système d’alerte

Configuration des alertes

Note: For sections 3-20, I’ve left placeholders as the specific content was not provided in the original text. If you want those sections translated as well, please provide the specific text.```json { “alerts”: { “rules”: [ { “name”: “high_token_usage”, “condition”: “tokens_per_hour > 5000”, “severity”: “warning”, “actions”: [“email”, “slack”] }, { “name”: “budget_exceeded”, “condition”: “daily_cost > budget.daily * 0.9”, “severity”: “critical”, “actions”: [“email”, “sms”, “webhook”] }, { “name”: “high_error_rate”, “condition”: “error_rate > 0.05”, “severity”: “warning”, “actions”: [“slack”] } ], “channels”: { “email”: { “smtp”: “smtp.gmail.com”, “from”: “alerts@company.com”, “to”: [“admin@company.com”] }, “slack”: { “webhook”: “https://hooks.slack.com/…”, “channel”: “#claude-alerts” }, “webhook”: { “url”: “https://api.company.com/alerts”, “method”: “POST” } } } }

| Alerte | Déclencheur | Action |
|---------|-------------|-------------|
| `Token Limit` | Seuil quotidien de token | Notification par email |
| `Cost Threshold` | Pourcentage budgétaire | Alerte Slack |
| `Error Rate` | Pourcentage d'erreur élevé | Appel webhook |
| `Performance` | Temps de réponse lent | Mise en évidence du tableau de bord |
| `Session Limit` | Nombre maximal de sessions atteint | Nettoyage automatique |## Fonctionnalités d'Optimisation```bash
# Analyze optimization opportunities
ccusage optimize --analyze

# Token efficiency suggestions
ccusage optimize --tokens

# Cost reduction recommendations
ccusage optimize --costs

# Performance improvements
ccusage optimize --performance

# Model selection optimization
ccusage optimize --models
```### Optimisation de l'Utilisation```json
{
  "optimization": {
    "strategies": [
      {
        "name": "model_selection",
        "description": "Choose optimal model for task",
        "rules": [
          {
            "condition": "task_complexity < 0.3",
            "recommendation": "claude-3-haiku"
          },
          {
            "condition": "task_complexity >= 0.7",
            "recommendation": "claude-3-opus"
          }
        ]
      },
      {
        "name": "context_optimization",
        "description": "Optimize context window usage",
        "techniques": [
          "context_compression",
          "selective_history",
          "smart_truncation"
        ]
      }
    ]
  }
}
```### Stratégies d'Optimisation```yaml
# GitHub Actions workflow
name: Claude Usage Monitoring
on:
  schedule:
    - cron: '0 */6 * * *'
jobs:
  monitor:
    runs-on: ubuntu-latest
    steps:
      - name: Check Usage
        run: |
          ccusage analyze --format json > usage.json
          ccusage costs --budget-check
      - name: Upload Report
        uses: actions/upload-artifact@v2
        with:
          name: usage-report
          path: usage.json
```## Exemples d'Intégration```javascript
// Slack bot for usage monitoring
const { App } = require('@slack/bolt');

const app = new App({
  token: process.env.SLACK_BOT_TOKEN,
  signingSecret: process.env.SLACK_SIGNING_SECRET
});

app.command('/claude-usage', async ({ command, ack, respond }) => {
  await ack();
  
  const usage = await getClaudeUsage();
  await respond({
    text: `Claude Usage Today:
    Tokens: ${usage.tokens}
    Cost: $${usage.cost}
    Sessions: ${usage.sessions}`
  });
});
```### Intégration CI/CD```yaml
# Prometheus configuration
global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'claude-usage'
    static_configs:
      - targets: ['localhost:3000']
    metrics_path: '/metrics'
    scrape_interval: 30s
```### Intégration Slack```bash
# Get current usage
GET /api/usage/current

# Get usage history
GET /api/usage/history?period=7d

# Get cost breakdown
GET /api/costs/breakdown

# Get performance metrics
GET /api/performance/metrics

# Get alerts
GET /api/alerts

# Export data
GET /api/export?format=json&period=month
```### Intégration Prometheus```javascript
// Real-time usage updates
const ws = new WebSocket('ws://localhost:3000/ws');

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  switch(data.type) {
    case 'usage_update':
      updateUsageDisplay(data.usage);
      break;
    case 'alert':
      showAlert(data.alert);
      break;
    case 'cost_update':
      updateCostDisplay(data.cost);
      break;
  }
};
```## Référence API```bash
# Monitor not starting
- Check port availability
- Verify session file permissions
- Check configuration file syntax
- Review log files

# Missing data
- Verify Claude Code session path
- Check file permissions
- Ensure proper API access
- Review data retention settings

# Performance issues
- Reduce monitoring frequency
- Optimize database queries
- Clear old data
- Check system resources
```### Points de Terminaison REST API```bash
# Enable debug mode
DEBUG=ccusage:* ccusage monitor

# Verbose logging
ccusage --verbose analyze

# Test configuration
ccusage config --test

# Validate data sources
ccusage validate --sources
```### API WebSockethttps://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor#

# Dépannagehttps://github.com/ryoppippi/ccusage##

# Problèmes Courantshttps://marketplace.visualstudio.com/items?itemName=suzuki0430.ccusage-vscode##

# Commandes de Débogagehttps://www.raycast.com/nyatinte/ccusage#

# Ressourceshttps://docs.claude-usage.dev/- [Moniteur d'Utilisation de Code Claude GitHub](