Playbook: dev-laptop — Claude Code z telefonu (SSH + tmux / background agents)
Cel
Łączyć się z Claude Code działającym na dev-laptop (Berlin, 24/7) z telefonu. Dwie metody: interaktywna (SSH + tmux) i asynchroniczna (—bg background agents).
Wymagania: Claude Code CLI 2.1.196, OAuth radieu@gmail.com (Claude Max), autossh tunnel do vps-i1 aktywny (porty 2222 + 19100 forwarded na vps-i1:127.0.0.1).
Uwaga: claude remote-control NIE ISTNIEJE w wersji 2.1.196 — nie ma wbudowanego
serwera HTTP dla zdalnych połączeń.
Metoda 1: SSH + tmux (interaktywna sesja z telefonu)
Setup jednorazowy
Zainstaluj Termius na telefonie (iOS lub Android).
Dodaj klucz SSH do Termius:
- Wyeksportuj klucz prywatny
id_ed25519do telefonu przez iCloud / email zaszyfrowany / AirDrop — TYLKO na swoje urządzenie - W Termius: Settings → Keys → Import
Utwórz dwa hosty w Termius:
Host 1 — vps-i1 (jump host):
Label: vps-i1
Hostname: 217.154.82.162
Port: 22
User: root
Key: id_ed25519Host 2 — dev-laptop (przez vps-i1):
Label: dev-laptop
Hostname: 127.0.0.1
Port: 2222
User: root
Key: id_ed25519
Jump host: vps-i1Codzienne użycie
# Pierwsze połączenie — utwórz trwałą sesję tmux:
tmux new-session -s claude
# Uruchom Claude Code (z katalogu repo):
cd /opt/p24-infra # lub inny projekt
claude
# Odłącz (sesja żyje): Ctrl+B, D
# Kolejne połączenie z telefonu — wróć do sesji:
tmux attach -t claude
# Lista aktywnych sesji:
tmux lsWiele projektów naraz
tmux new-session -s infra # sesja dla p24-infra
tmux new-session -s et-op # sesja dla et-operational-platform
tmux ls # lista
tmux attach -t infraMetoda 2: Background agents (async dispatch)
Wyślij zadanie bez utrzymywania otwartej sesji SSH. Claude wykonuje je w tle.
# Wyślij zadanie:
claude -p "przejrzyj ostatni commit i zaproponuj testy" --bg
# Claude zwraca natychmiast session ID i PID
# Sprawdź status i wyniki:
claude agents list
claude agents status <session-id>
# Logi zadania:
claude agents logs <session-id>Przydatne gdy chcesz tylko “rzucić zadanie” z telefonu i wrócić po wynik później.
Połączenie tunnel architecture (kontekst)
Telefon (Termius)
→ SSH → vps-i1 217.154.82.162:22
→ SSH ProxyJump → 127.0.0.1:2222 (autossh reverse tunnel)
→ dev-laptop:22
→ tmux -a claude
→ claude (interaktywna sesja)
Tunnel autossh (aktywny 24/7 na dev-laptop):
127.0.0.1:2222 → dev-laptop:22(SSH relay)127.0.0.1:19100 → dev-laptop:9100(Prometheus node_exporter)
Service: /etc/systemd/system/p24-autossh-tunnel.service
Hardware dev-laptop
- Model: Acer Aspire F5-573G
- CPU: Intel i5-7200U
- RAM: 8 GB (nie 16 — uwaga: Supabase dev_r_server_capacity.os_ram_gb = poprawić na 8)
- OS: Ubuntu 24.04 LTS
- Location: Berlin, Ackastrasse 12
- Zasilanie: domowy internet + prąd AC (monitoring alertuje o odłączeniu)
Weryfikacja że tunnel działa
# Z lokalnego Windows (przez vps-i1):
ssh -p 2222 -J root@217.154.82.162 root@127.0.0.1 "hostname && claude --version"
# Oczekiwany output:
# dev-laptop (lub hostname laptopa)
# Claude Code 2.1.196 (lub nowsza)Powiązane
- Power monitoring:
/usr/local/bin/p24-power-event.sh,p24-battery-check.sh - Grafana alerts: DevLaptopACDisconnected, DevLaptopBatteryLow, DevLaptopBatteryCritical
- Log dir fix:
dev-laptop-worker-log-dir.md— not yet written; no dedicated playbook exists for this fix - Worker queue dispatch (p24 system):
docs/dispatch-architecture.md - Memory:
memory/project_dev_laptop_worker.md