Pular para o conteúdo

Uso do Código Claude

Ferramentas abrangentes de monitoramento e análise do Uso do Código Claude para rastrear consumo de tokens, custos, métricas de desempenho e otimização de uso.

Visão Geral

As ferramentas de Uso do Código Claude fornecem recursos em tempo real de monitoramento, análise e otimização para consumo de tokens e uso de API do Código Claude. Essas ferramentas ajudam desenvolvedores a rastrear custos, monitorar desempenho, analisar padrões de uso e otimizar seus fluxos de trabalho do Código Claude através de métricas detalhadas, alertas e recursos de relatórios.

⚠️ Aviso de Uso: Ferramentas de monitoramento de uso requerem acesso a arquivos de sessão do Código Claude e logs de API. Assegure permissões adequadas e conformidade de privacidade de dados ao implementar soluções de monitoramento.

Ferramentas Principais

Monitor de Uso do Código Claude

# 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

Ferramenta 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

Instalação e Configuração

Configuração do Monitor de Uso

# 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

Extensão 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

Extensão Raycast

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

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

Comandos de Monitoramento

Monitoramento em Tempo Real

ComandoDescrição
ccusage monitorIniciar monitoramento em tempo real
ccusage dashboardPainel web aberto
ccusage statusVerificar status de uso atual
ccusage alertsVisualizar alertas ativos
ccusage liveTransmissão ao vivo de uso
ccusage watchObservar métricas específicas
ccusage tailRegistros de uso do Tail

Comandos de Análise

ComandoDescrição
ccusage analyzeAnalisar padrões de uso
ccusage reportGerar relatório de uso
ccusage summaryResumo de uso
ccusage trendsAnálise de tendências de uso
ccusage compareComparar períodos de tempo
ccusage breakdownDetalhamento
ccusage optimizeSugestões de otimização

Configuração

Configuração do Monitor

{
  "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
  }
}

Rastreamento de Custos

{
  "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
    }
  }
}

Recursos do Painel

Painel Web

# Access dashboard
http://localhost:3000

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

Componentes do Painel

ComponenteDescrição
Token CounterUso de tokens em tempo real
Cost TrackerCustos atuais e projetados
Session BrowserNavegar pelo histórico de sessão
Performance GraphMétricas de tempo de resposta
Error MonitorRastreamento de taxa de erro
Usage HeatmapVisualização de padrão de uso
Alert PanelAlertas ativos e notificações

Exibição de Métricas

// 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"
};

Análise de Uso

Análise de 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

Análise de Custos

# 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

Análise de Desempenho

# 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

Relatórios

Geração de Relatórios

# 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

Formatos de Relatórios

FormatarDescrição
JSONDados legíveis por máquina
CSVCompatível com Spreadsheet
HTMLRelatório visualizável na web
PDFDocumento imprimível
MarkdownFormato de documentação
ExcelPlanilha avançada

Relatórios Automatizados

{
  "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"
      }
    ]
  }
}

Sistema de Alertas

Configuração de Alertas

Would you like me to continue with the remaining numbered sections?```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” } } } }


| Alerta | Trigger | Ação |
|---------|-------------|-------------|
| `Token Limit` | Limite diário de tokens | Notificação de e-mail |
| `Cost Threshold` | Percentual de orçamento | Alerta do Slack |
| `Error Rate` | Porcentagem de erro alta | Chamada de webhook |
| `Performance` | Tempo de resposta lento | Destaque do Dashboard |
| `Session Limit` | Limite máximo de sessões atingido | Limpeza automática |## Recursos de Otimização

### Otimização de Uso
```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
```### Estratégias de Otimização
```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"
        ]
      }
    ]
  }
}
```## Exemplos de Integração

### Integração CI/CD
```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
```### Integração com Slack
```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}`
  });
});
```### Integração com Prometheus
```yaml
# Prometheus configuration
global:
  scrape_interval: 15s
scrape_configs:
  - job_name: 'claude-usage'
    static_configs:
      - targets: ['localhost:3000']
    metrics_path: '/metrics'
    scrape_interval: 30s
```## Referência de API

### Endpoints da REST API
```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
```### WebSocket API
```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;
  }
};
```## Resolução de Problemas

### Problemas Comuns
```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
```### Comandos de Depuração
```bash
# Enable debug mode
DEBUG=ccusage:* ccusage monitor

# Verbose logging
ccusage --verbose analyze

# Test configuration
ccusage config --test

# Validate data sources
ccusage validate --sources
```## Recursos

- [Monitor de Uso de Código Claude GitHub](https://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor)
- [Ferramenta CLI ccusage](https://github.com/ryoppippi/ccusage)
- [Extensão do VS Code](https://marketplace.visualstudio.com/items?itemName=suzuki0430.ccusage-vscode)
- [Extensão do Raycast](https://www.raycast.com/nyatinte/ccusage)
- [Documentação](https://docs.claude-usage.dev/)

Would you like me to elaborate on any of these translations or provide more context?