Zpět na domů

Vlastní stavový řádek Claude Code s monitorováním VPS v reálném čase

Návod na vytvoření vlastního stavového řádku pro Claude Code s funkcí monitorování VPS v reálném čase. Systém zobrazuje stav serverů, náklady aktuální relace, limity Claude API a automaticky určuje aktivní server. Řešení je postaveno na bash a jq bez závislostí na Node.js.

Monitorování VPS přímo v Claude Code: vytváříme vlastní stavový řádek
Advertisement 728x90

Vytvoření vlastního stavového řádku pro Claude Code s monitorováním VPS v reálném čase

Vývojáři pracující s Claude Code na několika serverech se setkávají s nutností neustálého přepínání kontextu pro kontrolu stavu infrastruktury. Řešením je vlastní stavový řádek, který zobrazuje klíčové metriky relace a monitorování VPS bez opuštění editoru.

Architektura systému monitoringu

Systém je postaven na dvou komponentech: na pozadí běžícího démona pro dotazování serverů a na klientském skriptu pro zobrazení dat. Démon vps-poller.sh provádí SSH dotazy na zadané servery každých 30 sekund a sbírá čtyři klíčové metriky:

  • Využití operační paměti (RAM)
  • Zatížení procesoru (CPU)
  • Zaplnění diskového prostoru
  • Doba běhu systému (uptime)

Získaná data jsou ukládána do JSON souborů v adresáři /tmp/, což umožňuje klientskému skriptu statusline.sh okamžitě číst aktuální informace bez dalších síťových požadavků. Tento přístup eliminuje zpoždění v hlavním rozhraní Claude Code.

Google AdInline article slot

Klíčové výhody architektury:

  • Minimální zatížení sítě díky ukládání do mezipaměti
  • Žádné zpoždění při zobrazování stavu
  • Modularita: démon může běžet nezávisle
  • Podpora více serverů současně

Realizace automatického zaměření na aktivní server

Jedním z hlavních problémů při práci s několika VPS je nutnost vizuálně určit, se kterým serverem právě interagujete. Systém to řeší automatickou analýzou protokolů Claude Code.

Skript analyzuje posledních 20 KB přepisu relace a používá dvě strategie pro určení aktivního serveru:

Google AdInline article slot
  • Hledání SSH příkazů (ssh, scp, sftp) a přiřazení IP adres k předem nastavenému seznamu serverů
  • Záložní hledání podle názvů MCP serverů pro uživatele pracující výhradně přes Model Context Protocol

Příklad fungování systému:

# Uživatel pracuje se serverem main přes SSH
▶ main●(R:42% D:55%) new● sec●

# Přepnutí na server sec přes MCP
main● new● ▶ sec●(R:61% D:70%)

# Server new pod vysokým zatížením (vždy zobrazen)
▶ main●(R:42% D:55%) new◉(R:92%) sec●

Systém používá různé indikátory pro zobrazení stavu:

  • ● — normální provoz
  • ◉ — zvýšené zatížení (RAM > 85 % nebo disk > 90 %)
  • ✗ — server nedostupný
  • ↻ — nedávný restart
  • ▶ — server aktivní v aktuálním okamžiku

Integrace s Claude API a výpočet nákladů

Stavový řádek se integruje s Claude API pro zobrazení aktuálních informací o limitech použití a výpočet nákladů relace. Systém automaticky určuje typ uživatelského účtu:

Google AdInline article slot
  • Pro předplatitele Claude Max se zobrazuje teoretická cena relace
  • Pro uživatele API se ukazuje skutečná částka výdajů

Metriky související s Claude API:

  • Použitý model — zobrazuje se aktuální model (např. Opus 4.6)
  • Zaplnění kontextu — vizualizuje se progress bar s barevnou indikací (zelená → žlutá → červená)
  • Zbytek kvót — ukazuje se procentuální využití 5hodinového (H) a týdenního (W) limitu
  • Cena relace — vypočtená částka, která by byla vynaložena při použití API

Systém ukládá data z Claude API na 2 minuty do mezipaměti pro snížení zátěže a používá OAuth token z systémového úložiště přihlašovacích údajů.

Instalace a konfigurace systému

Proces instalace je optimalizován pro minimální čas nasazení. Hlavní metoda je použití Claude Code pro provedení instalačních příkazů.

Rychlá instalace přes Claude Code:

Naklonuj https://github.com/CreatmanCEO/claude-statusline a nainstaluj přes install.sh --ru

Ruční instalace pro pokročilé uživatele:

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

Nastavení monitoringu VPS:

  • Přidejte servery do konfiguračního souboru ~/.claude/statusline.conf
  • Nastavte parametr SHOW_VPS=remote
  • Definujte seznam serverů v VPS_SERVERS
  • Spusťte démon monitoringu: ~/claude-statusline/vps-poller.sh start

Specifika pro různé platformy:

  • Linux/macOS: plná podpora všech funkcí
  • Windows: instalace pouze přes Claude Code (ne PowerShell)
  • Vyžaduje předinstalovaný bash a nástroj jq pro zpracování JSON

Co je důležité

Okamžité monitorování VPS — zobrazení stavu serverů bez přepínání kontextu mezi nástroji

Automatické zaměření — systém určuje aktivní server na základě analýzy protokolů Claude Code

Integrace s Claude API — výpočet ceny relace a zobrazení limitů použití v reálném čase

Minimální požadavky — řešení pracuje na čistém bash s jq, bez závislostí na Node.js nebo jiných runtimes

Křížová kompatibilita — podpora Linuxu, macOS a Windows (s omezeními)

Řešení problémů s kompatibilitou

Během vývoje a testování byly identifikovány a odstraněny klíčové problémy s kompatibilitou:

Problémy s přístupovými právy ve Windows:

  • Příkaz chmod nefunguje v PowerShell
  • Řešení: přepsání instalačních instrukcí pro provedení výhradně přes Claude Code

Rozdíly v ukládání OAuth tokenů:

  • Windows ukládá tokeny v souboru .credentials.json
  • Unixové systémy používají .credentials bez přípony
  • Řešení: přidání kontroly obou variant ve skriptu

Zpracování JSON s vloženými uvozovkami:

  • Použití echo vedlo k vytvoření neplatného JSON
  • Řešení: nahrazení printf se správným escapováním

Určení cesty k bash ve Windows:

  • Příkaz command -v bash vrací cestu s mezerami
  • Řešení: použití přímého volání bash bez kontroly cesty

Všechny opravy byly implementovány během jednoho dne po prvotní publikaci, což demonstruje výhody open-source přístupu k vývoji.

Rozšířené možnosti a přizpůsobení

Systém podporuje několik režimů zobrazení a nastavení pro konkrétní workflow vývojáře.

Přizpůsobitelné segmenty stavového řádku:

  • Informace o Git: aktuální větev a stav změn
  • Statistika kódu: přidané a odstraněné řádky za relaci
  • Časové metriky: délka aktuální pracovní relace
  • Integrace se systémovými nástroji: podpora MCP a dalších protokolů

Optimalizace výkonu:

  • Minimální využití zdrojů: démon spotřebuje méně než 1 % CPU
  • Efektivní ukládání do mezipaměti: data se aktualizují pouze při změně
  • Líné načítání: nepoužívané moduly nejsou inicializovány

Projekt se dále vyvíjí s ohledem na zpětnou vazbu komunity. Plánovaná vylepšení zahrnují podporu dalších protokolů monitorování, rozšířené přizpůsobení vzhledu a integraci s dalšími nástroji vývojáře.

— Editorial Team

Advertisement 728x90

Číst dál