Skip to content

About

Painel de consumo do OpenCode para Windows: tokens, custo estimado e uso do plano Go na bandeja do sistema. OpenCode usage dashboard for Windows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

17 Commits

Folders and files

Repository files navigation

Painel OpenCode

Release Downloads License: MIT

Painel de consumo do OpenCode para Windows. Ele fica na bandeja do sistema (ícones ocultos) e mostra a qualquer momento quantos tokens você usou, o custo estimado, sessões, passos, atividade por dia, modelos e ferramentas — os mesmos números do painel de atividade do OpenCode (opencode stats).

Captura de tela do Painel OpenCode

Baixar

  • Instalador (recomendado): página de releases — baixe o PainelOpenCode-Setup-*.exe mais recente.
  • Versão portátil (zip, sem instalar): PainelOpenCode-*-portable.zip na mesma página de releases.

O instalador não pede administrador: instala em %LOCALAPPDATA%\PainelOpenCode, cria o atalho no menu Iniciar, registra a inicialização com o Windows, instala o plugin do OpenCode e abre o painel na bandeja. Para desinstalar, use Configurações › Aplicativos ou o atalho Desinstalar Painel OpenCode no menu Iniciar.

Todos os arquivos são gerados a partir do código deste repositório; os hashes SHA-256 ficam em SHA256SUMS.txt na mesma release.

Recursos

  • Abre junto com o OpenCode através do plugin painel.opencode.
  • Inicia com o Windows (opcional, ativado pelo instalador) para o ícone já estar na bandeja.
  • Limites do plano OpenCode Go (rolling de 5h, semanal e mensal) com barras de porcentagem, gasto estimado em US$, data de renovação e tempo para reiniciar.
  • Estimativa de gasto em dólares: valor dos tokens pelos preços de cada modelo.
  • Gráfico de uso do plano Go no padrão do console: uso acumulado do mês, previsão até a renovação e linha do limite mensal.
  • Tema do sistema, claro ou escuro, escolhido no cabeçalho e salvo para a próxima abertura.
  • Ícone na bandeja com resumo do dia no tooltip e menu rápido.
  • Janela com períodos: Hoje, 7 dias, 30 dias e tudo.
  • Composição de tokens: entrada, saída, raciocínio, cache lido e cache escrito.
  • Gráfico de atividade dos últimos 7 ou 30 dias.
  • Ranking de modelos (passos, tokens e custo) e de ferramentas (chamadas e taxa de sucesso).
  • Atualização automática a cada 60 segundos e botão de atualização manual.
  • Instância única, temas claro/escuro/sistema e interface adaptada ao DPI do Windows.
  • Nada sai da sua máquina: o painel apenas lê os dados locais do OpenCode.

Requisitos

  • Windows 10 ou 11 (64 bits).
  • OpenCode instalado (o executável é procurado no PATH, em %USERPROFILE%\.opencode\bin\opencode.exe e em %LOCALAPPDATA%\Programs\opencode).
  • O instalador e o zip portátil já incluem o .NET: não é preciso instalar nada além do próprio OpenCode.

Instalação pelo código-fonte

git clone https://github.com/MrNobody42/Painel-OpenCode.git
cd Painel-OpenCode
powershell -ExecutionPolicy Bypass -File scripts\install.ps1

O script:

  1. compila e publica o aplicativo;
  2. copia para %LOCALAPPDATA%\PainelOpenCode;
  3. cria um atalho no menu Iniciar;
  4. registra a inicialização com o Windows;
  5. instala o plugin do OpenCode em ~/.config/opencode/plugins/painel-opencode;
  6. abre o painel na bandeja.

Opções úteis:

# nao iniciar com o Windows
powershell -ExecutionPolicy Bypass -File scripts\install.ps1 -NoAutostart

# sem o plugin do OpenCode
powershell -ExecutionPolicy Bypass -File scripts\install.ps1 -NoPlugin

# versao autonoma (nao exige .NET instalado, arquivo maior)
powershell -ExecutionPolicy Bypass -File scripts\install.ps1 -SelfContained

Uso

  • Duplo clique no ícone da bandeja abre o painel.
  • Botão direito abre o menu com o resumo do dia, atalhos para abrir o painel, atualizar agora, ligar/desligar a inicialização com o Windows e sair.
  • No cabeçalho, o seletor Tema alterna entre tema do sistema, claro e escuro; a escolha fica salva em %APPDATA%\PainelOpenCode\settings.json.
  • Fechar a janela não encerra o aplicativo: ele continua na bandeja.
  • Os botões Hoje, 7 dias, 30 dias e Tudo trocam o período dos cartões, do gráfico e das listas.

Como os dados são obtidos

O painel executa opencode stats --json (o mesmo comando usado para gerar as estatísticas de uso) e interpreta o JSON retornado. As estatísticas de consumo são lidas apenas do seu computador.

A seção Plano OpenCode Go consulta a API oficial de limites (https://opencode.ai/zen/go/v1/usage) usando a chave do OpenCode Go que já está salva no seu OpenCode:

  1. se a variável OPENCODE_API_KEY existir, ela é usada;
  2. caso contrário, o painel lê a credencial opencode-go com opencode api get /api/credential.

A chave fica apenas em memória, nunca é exibida e só é enviada para o próprio opencode.ai. Sem conta Go (ou sem internet), o restante do painel continua funcionando normalmente.

O gasto estimado em US$ é calculado com os preços dos modelos retornados por opencode api get /api/model: tokens × preço por milhão, incluindo cache de leitura/escrita. O valor em dólares de cada janela do plano Go usa o limite mensal de US$ 60 (Go). Se você usa Go Plus ou Go Teams, ajuste o limite com a variável PAINEL_GO_MONTHLY_LIMIT (ex.: 240), e as janelas de 5h/semana são derivadas em 20% e 50% dele.

Se o executável do OpenCode estiver em um local diferente, defina a variável de ambiente PAINEL_OPENCODE_EXE com o caminho completo antes de abrir o painel.

Desenvolvimento

dotnet build src\PainelOpenCode\PainelOpenCode.csproj -c Release
dotnet run --project src\PainelOpenCode\PainelOpenCode.csproj -- --show

Argumentos aceitos:

Argumento Efeito
--show abre a janela ao iniciar
--tray inicia apenas na bandeja (padrão)
--ensure inicia somente se ainda não houver uma instância
--demo usa dados de exemplo (usado nas capturas da documentação)
--capture <arquivo> gera uma captura da janela e encerra (usado na documentação)

Estrutura:

src/PainelOpenCode/
  Data/         consulta e cache das estatísticas (opencode stats --json)
  UI/           janela principal e controles desenhados
  TrayContext   ícone da bandeja, menu e instância única
  StartupManager inicialização com o Windows
plugin/         plugin do OpenCode que abre o painel
installer/      script NSIS do instalador
scripts/        instalador, desinstalador, build do instalador e gerador do ícone

Gerar o instalador

O que é o NSIS? NSIS (Nullsoft Scriptable Install System) é a ferramenta gratuita e de código aberto que monta o instalador .exe — o mesmo tipo de programa usado por milhares de aplicativos para Windows. Ele não é necessário para usar o Painel OpenCode: se você só quer instalar o app, baixe o instalador pronto na página de releases. O NSIS só é usado por quem quiser compilar o instalador a partir do código-fonte. O site oficial é nsis.sourceforge.io e o comando winget abaixo instala exatamente o pacote oficial de lá.

Para gerar o instalador:

winget install --id NSIS.NSIS -e
powershell -ExecutionPolicy Bypass -File scripts\build-installer.ps1

Os artefatos ficam em dist/: PainelOpenCode-Setup-<versão>.exe, PainelOpenCode-<versão>-portable.zip e SHA256SUMS.txt.

Para regerar o ícone:

powershell -ExecutionPolicy Bypass -File scripts\make-icon.ps1

Desinstalação

Se instalou pelo instalador, use Configurações › Aplicativos › Painel OpenCode ou o atalho Desinstalar Painel OpenCode no menu Iniciar.

Se instalou pelo código-fonte:

powershell -ExecutionPolicy Bypass -File scripts\uninstall.ps1

Os dois métodos encerram o aplicativo e removem a pasta de instalação, os atalhos, a entrada de inicialização automática e o plugin do OpenCode.

Licença

MIT

About

Painel de consumo do OpenCode para Windows: tokens, custo estimado e uso do plano Go na bandeja do sistema. OpenCode usage dashboard for Windows.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages