Skip to content

P4: Indicadores de custo USD e alertas visuais de contexto > 80% #39

Description

@chapzin

Problema

O jcode-harness tem UsageInfo e ContextInfo nos widgets de informacao, mas o custo monetario e o uso de contexto nao sao exibidos proeminentemente na interface principal.

O que precisa ser feito

1. Custo monetario na status bar

  • Calcular custo baseado no provider e modelo ativo
  • Tabela de precos atualizada por modelo (input/output tokens)
  • Formato: $0.0423 (USD, 2-4 casas decimais)
  • Atualizar apos cada request
  • Acumulado da sessao visivel na sidebar (tab Uso/Custo)

2. Alerta de contexto > 80%

  • Quando uso de contexto excede 80%:
    • Barra de contexto muda para amarelo (80-90%) ou vermelho (>90%)
    • Icone de alerta piscando na status bar
    • Sugestao automatica: "/compact para liberar espaco"
  • Quando > 95%: alerta ainda mais proeminente

3. Tab de Uso/Custo na sidebar

  • Grafico de uso de contexto ao longo da sessao
  • Breakdown de custo por provider/modelo
  • Total de tokens usados (input, output, cache)
  • Estimativa de custo restante (se budget configurado)
  • Historico das ultimas requests com custo individual

4. Budget configuracao

  • JCODE_BUDGET_MAX_USD=5.00 — alerta ao atingir
  • JCODE_BUDGET_WARN_USD=3.00 — aviso amarelo
  • Mostrar progresso do budget na barra de custo
  • Opcao de hard-stop (pausar sessoes ao atingir budget)

5. Precificacao dinamica

  • Carregar precos de um arquivo de configuracao:
[providers.openai]
gpt-4o = { input_per_1k = 0.0025, output_per_1k = 0.01 }
gpt-4o-mini = { input_per_1k = 0.00015, output_per_1k = 0.0006 }

[providers.anthropic]
claude-sonnet-4-20250514 = { input_per_1k = 0.003, output_per_1k = 0.015 }
claude-opus-4-20250514 = { input_per_1k = 0.015, output_per_1k = 0.075 }
  • Fallback para precos built-in se arquivo nao existir
  • Atualizavel sem rebuild

Arquivos a modificar

  • src/tui/ui_status.rs — adicionar custo e alertas
  • src/tui/info_widget_usage.rs — renderizar na sidebar
  • crates/jcode-usage-types/src/lib.rs — cost calculation
  • Novo: src/tui/ui_cost.rs — calculo e formatacao
  • Novo: crates/jcode-pricing/ — tabela de precos
  • Novo: ~/.jcode/pricing.toml — customizacao de precos
  • crates/jcode-config-types/ — budget settings

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions