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
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
2. Alerta de contexto > 80%
3. Tab de Uso/Custo na sidebar
4. Budget configuracao
5. Precificacao dinamica
Arquivos a modificar