1 पॉइंट द्वारा kimtaeyeong1229 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें

मैंने एक ऐसा वेब टर्मिनल बनाया है जिसमें ब्राउज़र टैब के जरिए एक साथ कई 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 टिप्पणियां

 
thnet88 3 시간 전

यही फीचर बिल्कुल चाहिए था, अच्छा लग रहा है! haha