1 puan yazan kimtaeyeong1229 3 시간 전 | 1 yorum | WhatsApp'ta paylaş

Tarayıcı sekmeleriyle birden fazla Claude CLI oturumunu aynı anda çalıştıran bir web terminali oluşturdum.

Oturumlar sunucuda PTY olarak çalışıyor ve tarayıcı yalnızca ekranı gösteriyor; bu yüzden tarayıcıyı kapatsanız da dizüstü kapağını kapatsanız da işler çalışmaya devam ediyor. PC’yi kapatıp yeniden açsanız bile otomatik --resume ile oturumlar geri yükleniyor.

Başlıca özellikler

  • Çoklu oturum — Sekme/kenar çubuğu arayüzüyle tek ekranda N adet Claude CLI arasında geçiş yapma ve yönetme
  • Oturum kalıcılığı~/.claude-web-terminal/sessions.json içine otomatik kaydetme, sunucu/PC yeniden başladığında otomatik geri yükleme
  • Docker konteynerleri — Yalnızca host üzerinde değil, çalışan konteyner içindeki bir klasörü seçip Claude’u orada çalıştırma (docker exec -it -w <path> <container> claude)
  • Harici Claude süreci algılama — Başka bir terminalde zaten çalışan claude sürecine bağlanma (Linux /proc)
  • Yeniden bağlanınca scrollback geri yükleme — 200KB tampon
  • Tek dosya frontend — Vanilla HTML/CSS/JS, XTerm.js + yaklaşık 2.400 satır
  • Tek dosya backend — Python aiohttp + PTY + WebSocket, yaklaşık 500 satır

Yığın

  • Backend: Python 3.10+ / aiohttp / PTY / WebSocket
  • Frontend: Vanilla HTML·CSS·JS, XTerm.js 5.5, FitAddon, WebLinksAddon
  • Kimlik doğrulama: yok — 127.0.0.1’e bind edilmesi önerilir (LAN’e açılacaksa reverse proxy + basic auth)

Otomatik çalıştırma

  • macOS: LaunchAgent plist (README içinde şablon var)
  • Linux: systemd user service + loginctl enable-linger

Tek satır kurulum

git clone https://github.com/kimtaeyeong1229/claude-web-terminal  
cd claude-web-terminal && pip install -r requirements.txt  
python3 server.py --host 127.0.0.1 --port 8080  

Tarayıcıda http://127.0.0.1:8080.

Yapılma nedeni

  • Claude CLI’yi sevdiğim ve sık kullandığım için N tane terminal penceresi açmak zahmetliydi
  • Dizüstü kapağı kapanınca sürecin ölmesi ya da ssh kopunca oturumun kesilmesi hoşuma gitmiyordu → sunucu tarafı PTY ile ayırdım
  • Docker ortamına girip claude çalıştırmak için her seferinde docker exec -it yapmak uğraştırıcıydı → arayüze entegre ettim

Sınırlar

  • Kimlik doğrulama yok — yerel/güvenilen ağ varsayımı
  • Harici süreç algılama yalnızca Linux’ta var (macOS’ta /proc yok)
  • Çok kullanıcılı/hesap ayrımı yok — tek kullanıcılı araç

Geri bildirimleriniz ve issue’larınız memnuniyetle karşılanır.

1 yorum

 
thnet88 3 시간 전

Tam ihtiyacım olan özellikti, bence çok iyi olmuş! haha