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
| Commande | Description |
|---|---|
ccusage monitor | Démarrer la surveillance en temps réel |
ccusage dashboard | Tableau de bord web ouvert |
ccusage status | Vérifier le statut d’utilisation actuel |
ccusage alerts | Afficher les alertes actives |
ccusage live | Flux d’utilisation en direct |
ccusage watch | Surveiller des métriques spécifiques |
ccusage tail | Journaux d’utilisation de Tail |
Commandes d’analyse
| Commande | Description |
|---|---|
ccusage analyze | Analyser les modèles d’utilisation |
ccusage report | Générer un rapport d’utilisation |
ccusage summary | Résumé d’utilisation |
ccusage trends | Analyse des tendances d’utilisation |
ccusage compare | Comparer les périodes |
ccusage breakdown | Répartition détaillée |
ccusage optimize | Suggestions 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
| Composant | Description |
|---|---|
Token Counter | Utilisation des tokens en temps réel |
Cost Tracker | Coûts actuels et projetés |
Session Browser | Parcourir l’historique de session |
Performance Graph | Métriques de temps de réponse |
Error Monitor | Suivi du taux d’erreur |
Usage Heatmap | Visualisation du modèle d’utilisation |
Alert Panel | Alertes 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
| Format | Description |
|---|---|
JSON | Données lisibles par machine |
CSV | Compatible avec tableur |
HTML | Rapport consultable sur le web |
PDF | Document imprimable |
Markdown | Format de documentation |
Excel | Tableur 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](