Powrót do strony głównej

Niestandardowy pasek stanu Claude Code z monitorowaniem VPS w czasie rzeczywistym

Przewodnik po tworzeniu niestandardowego paska stanu dla Claude Code z funkcją monitorowania VPS w czasie rzeczywistym. System wyświetla stan serwerów, koszt bieżącej sesji, limity Claude API i automatycznie określa aktywny serwer. Rozwiązanie oparte na bash i jq bez zależności od Node.js.

Monitorowanie VPS bezpośrednio w Claude Code: tworzymy niestandardowy pasek stanu
Advertisement 728x90

Tworzenie niestandardowego paska statusu dla Claude Code z monitorowaniem VPS w czasie rzeczywistym

Deweloperzy pracujący z Claude Code na wielu serwerach napotykają konieczność ciągłego przełączania kontekstu, aby sprawdzić stan infrastruktury. Rozwiązaniem jest własny pasek statusu, wyświetlający kluczowe metryki sesji i monitorowanie VPS bez opuszczania edytora.

Architektura systemu monitorowania

System zbudowany jest na dwóch komponentach: lekkim demonie do sondowania serwerów i skrypcie klienckim do wyświetlania danych. Demon vps-poller.sh wykonuje zapytania SSH do wskazanych serwerów co 30 sekund, zbierając cztery kluczowe metryki:

  • Obciążenie pamięci operacyjnej (RAM)
  • Obciążenie procesora (CPU)
  • Wypełnienie przestrzeni dyskowej
  • Czas pracy systemu (uptime)

Otrzymane dane są buforowane w plikach JSON w katalogu /tmp/, co pozwala skryptowi klienckiemu statusline.sh natychmiast odczytywać aktualne informacje bez dodatkowych zapytań sieciowych. Takie podejście eliminuje opóźnienia w głównym interfejsie Claude Code.

Google AdInline article slot

Kluczowe zalety architektury:

  • Minimalne obciążenie sieci dzięki buforowaniu
  • Zerowe opóźnienie przy wyświetlaniu statusu
  • Modularność: demon może być uruchamiany niezależnie
  • Wsparcie dla wielu serwerów jednocześnie

Realizacja autofokusu na aktywnym serwerze

Jednym z głównych problemów przy pracy z wieloma VPS jest konieczność wizualnego określenia, z którym serwerem następuje interakcja w danym momencie. System rozwiązuje to poprzez automatyczną analizę logów Claude Code.

Skrypt analizuje ostatnie 20 KB transkrypcji sesji, stosując dwie strategie określania aktywnego serwera:

Google AdInline article slot
  • Wyszukiwanie komend SSH (ssh, scp, sftp) i dopasowywanie adresów IP do wcześniej skonfigurowanej listy serwerów
  • Zapasowe wyszukiwanie po nazwach serwerów MCP dla użytkowników pracujących wyłącznie przez Model Context Protocol

Przykład działania systemu:

# Użytkownik pracuje z serwerem main przez SSH
▶ main●(R:42% D:55%) new● sec●

# Przełączenie na serwer sec przez MCP
main● new● ▶ sec●(R:61% D:70%)

# Serwer new pod wysokim obciążeniem (wyświetlany zawsze)
▶ main●(R:42% D:55%) new◉(R:92%) sec●

System używa różnych wskaźników do wyświetlania stanu:

  • ● — normalna praca
  • ◉ — podwyższone obciążenie (RAM > 85% lub dysk > 90%)
  • ✗ — serwer niedostępny
  • ↻ — ostatni restart
  • ▶ — aktywny w bieżącym momencie serwer

Integracja z Claude API i kalkulacja kosztów

Pasek statusu integruje się z Claude API, aby wyświetlać aktualne informacje o limitach użycia i obliczać koszt sesji. System automatycznie rozpoznaje typ konta użytkownika:

Google AdInline article slot
  • Dla subskrybentów Claude Max wyświetlana jest teoretyczny koszt sesji
  • Dla użytkowników API pokazywana jest faktyczna suma wydatków

Metryki związane z Claude API:

  • Używany model — wyświetlany jest obecny model (np. Opus 4.6)
  • Wypełnienie kontekstu — wizualizowany jest pasek postępu z kolorową indykacją (zielony → żółty → czerwony)
  • Pozostałość kwot — pokazywane jest procentowe wykorzystanie 5-godzinnych (H) i tygodniowych (W) limitów
  • Koszt sesji — obliczona suma, która zostałaby wydana przy użyciu API

System buforuje dane z Claude API na 2 minuty, aby zmniejszyć obciążenie, i używa tokena OAuth z systemowego magazynu poświadczeń.

Instalacja i konfiguracja systemu

Proces instalacji jest zoptymalizowany pod minimalny czas wdrożenia. Główna metoda to użycie Claude Code do wykonania komend instalacyjnych.

Szybka instalacja przez Claude Code:

Sklonuj https://github.com/CreatmanCEO/claude-statusline i zainstaluj przez install.sh --ru

Ręczna instalacja dla zaawansowanych użytkowników:

git clone https://github.com/CreatmanCEO/claude-statusline.git ~/claude-statusline
bash ~/claude-statusline/install.sh --ru

Konfiguracja monitorowania VPS:

  • Dodaj serwery do pliku konfiguracyjnego ~/.claude/statusline.conf
  • Ustaw parametr SHOW_VPS=remote
  • Zdefiniuj listę serwerów w VPS_SERVERS
  • Uruchom demona monitorowania: ~/claude-statusline/vps-poller.sh start

Specyfika dla różnych platform:

  • Linux/macOS: pełne wsparcie wszystkich funkcji
  • Windows: instalacja tylko przez Claude Code (nie PowerShell)
  • Wymagany jest preinstalowany bash i narzędzie jq do przetwarzania JSON

Co jest istotne

Natychmiastowe monitorowanie VPS — wyświetlanie stanu serwerów bez przełączania kontekstu między narzędziami

Automatyczny fokus — system określa aktywny serwer na podstawie analizy logów Claude Code

Integracja z Claude API — kalkulacja kosztu sesji i wyświetlanie limitów użycia w czasie rzeczywistym

Minimalne wymagania — rozwiązanie działa na czystym bashu z jq, bez zależności od Node.js czy innych środowisk

Wieloplatformowość — wsparcie Linux, macOS i Windows (z ograniczeniami)

Rozwiązywanie problemów z kompatybilnością

W trakcie rozwoju i testowania zidentyfikowano i usunięto kluczowe problemy z kompatybilnością:

Problemy z uprawnieniami w Windows:

  • Komenda chmod nie działa w PowerShell
  • Rozwiązanie: przepisanie instrukcji instalacji do wykonania wyłącznie przez Claude Code

Różnice w przechowywaniu tokenów OAuth:

  • Windows przechowuje tokeny w pliku .credentials.json
  • Systemy Unix używają .credentials bez rozszerzenia
  • Rozwiązanie: dodanie sprawdzania obu opcji w skrypcie

Przetwarzanie JSON z zagnieżdżonymi cudzysłowami:

  • Użycie echo prowadziło do tworzenia nieprawidłowego JSON
  • Rozwiązanie: zastąpienie przez printf z poprawnym ekranowaniem

Określanie ścieżki do bash w Windows:

  • Komenda command -v bash zwraca ścieżkę ze spacjami
  • Rozwiązanie: użycie bezpośredniego wywołania bash bez sprawdzania ścieżki

Wszystkie poprawki zostały wprowadzone w ciągu jednego dnia po pierwszej publikacji, pokazując zalety podejścia open-source w rozwoju.

Zaawansowane możliwości i dostosowanie

System wspiera kilka trybów wyświetlania i konfiguracji pod konkretne workflow dewelopera.

Konfigurowalne segmenty paska statusu:

  • Informacje o Git: obecna gałąź i status zmian
  • Statystyki kodu: dodane i usunięte linie podczas sesji
  • Metryki czasowe: długość bieżącej sesji pracy
  • Integracja z narzędziami systemowymi: wsparcie MCP i innych protokołów

Optymalizacja wydajności:

  • Minimalne użycie zasobów: demon zużywa mniej niż 1% CPU
  • Efektywne buforowanie: dane są aktualizowane tylko przy zmianach
  • Leniwe ładowanie: nieużywane moduły nie są inicjalizowane

Projekt rozwija się z uwzględnieniem opinii społeczności. Planowane ulepszenia obejmują wsparcie dodatkowych protokołów monitorowania, rozszerzoną personalizację wyglądu i integrację z innymi narzędziami dewelopera.

— Editorial Team

Advertisement 728x90

Czytaj dalej