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.
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:
- 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:
- 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
chmodnefunguje 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í
.credentialsbez přípony - Řešení: přidání kontroly obou variant ve skriptu
Zpracování JSON s vloženými uvozovkami:
- Použití
echovedlo k vytvoření neplatného JSON - Řešení: nahrazení
printfse správným escapováním
Určení cesty k bash ve Windows:
- Příkaz
command -v bashvrací cestu s mezerami - Řešení: použití přímého volání
bashbez 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
Zatím žádné komentáře.