लैपटॉप बंद करने पर भी चलता रहने वाला Claude CLI मल्टी-सेशन वेब टर्मिनल
(github.com/kimtaeyeong1229)मैंने एक ऐसा वेब टर्मिनल बनाया है जिसमें ब्राउज़र टैब के जरिए एक साथ कई Claude CLI सेशन चलाए जा सकते हैं.
सेशन सर्वर पर PTY के रूप में चलते हैं और ब्राउज़र सिर्फ उनकी स्क्रीन दिखाता है, इसलिए ब्राउज़र बंद कर दें या लैपटॉप का ढक्कन बंद कर दें, काम चलता रहता है. PC बंद करके फिर चालू करने पर भी --resume के साथ सेशन अपने आप बहाल हो जाते हैं.
मुख्य विशेषताएँ
- मल्टी-सेशन — टैब/साइडबार UI के जरिए एक ही स्क्रीन पर N Claude CLI को स्विच और मैनेज करें
- सेशन पर्सिस्टेंस —
~/.claude-web-terminal/sessions.jsonमें अपने आप सेव, सर्वर/PC रीस्टार्ट पर ऑटो-रिस्टोर - Docker कंटेनर — होस्ट के अलावा चल रहे कंटेनर के अंदर का फ़ोल्डर चुनकर वहीं Claude चलाना (
docker exec -it -w <path> <container> claude) - बाहरी Claude प्रोसेस डिटेक्शन — पहले से चल रहे दूसरे टर्मिनल के
claudeसे कनेक्ट करना (Linux/proc) - रीकनेक्ट पर स्क्रॉलबैक रिस्टोर — 200KB बफर
- सिंगल-फ़ाइल फ्रंटएंड — Vanilla HTML/CSS/JS, XTerm.js + लगभग 2,400 लाइनें
- सिंगल-फ़ाइल बैकएंड — Python aiohttp + PTY + WebSocket, लगभग 500 लाइनें
स्टैक
- बैकएंड: Python 3.10+ / aiohttp / PTY / WebSocket
- फ्रंटएंड: Vanilla HTML·CSS·JS, XTerm.js 5.5, FitAddon, WebLinksAddon
- ऑथेंटिकेशन: नहीं — 127.0.0.1 बाइंडिंग की सिफारिश (LAN पर एक्सपोज़ होने पर reverse proxy + basic auth)
ऑटो-स्टार्ट
- macOS: LaunchAgent plist (README में टेम्पलेट शामिल)
- Linux: systemd user service +
loginctl enable-linger
एक-लाइन इंस्टॉल
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
ब्राउज़र में http://127.0.0.1:8080.
बनाने की वजह
- Claude CLI पसंद है और अक्सर इस्तेमाल करता हूँ, लेकिन N टर्मिनल विंडो खोलना झंझट भरा था
- लैपटॉप बंद करने पर प्रोसेस मर जाना या ssh टूटने पर सेशन कट जाना पसंद नहीं था → इसलिए server-side PTY में अलग किया
- Docker वातावरण में जाकर
claudeचलाने के लिए हर बारdocker exec -itकरना परेशान करता था → इसे UI में इंटीग्रेट किया
सीमाएँ
- ऑथेंटिकेशन नहीं — लोकल/भरोसेमंद नेटवर्क मानकर बनाया गया
- बाहरी प्रोसेस डिटेक्शन सिर्फ Linux पर (macOS में
/procनहीं है) - मल्टी-यूज़र/अकाउंट आइसोलेशन नहीं — यह एक single-user टूल है
फ़ीडबैक/इश्यू स्वागत योग्य हैं.
1 टिप्पणियां
यही फीचर बिल्कुल चाहिए था, अच्छा लग रहा है! haha