11 पॉइंट द्वारा hanityx 26 일 전 | 5 टिप्पणियां | WhatsApp पर शेयर करें

नमस्ते। कई AI टूल्स को साथ में इस्तेमाल करते हुए जो असुविधाएँ महसूस हुईं, उन्हें हल करने की कोशिश में मैं ThreadLens नाम का एक ओपन-सोर्स टूल बना रहा हूँ।

शुरुआत Codex थ्रेड्स को व्यवस्थित करने की जरूरत से हुई। UI में सिर्फ archive होता था, और वास्तव में delete करने के लिए लोकल फ़ाइलें खुद ढूँढनी पड़ती थीं। बाद में देखा कि openai/codex में भी "archive के अलावा delete की जरूरत है" जैसी मिलती-जुलती मांग उठी हुई थी, इसलिए लगा कि यह असुविधा सिर्फ मुझे ही नहीं हो रही थी।

उसके बाद Codex, Claude जैसे कई AI को बारी-बारी से इस्तेमाल करते हुए एक और समस्या सामने आई। "उस समय AI के साथ हुई बातचीत कहाँ है?" यह सोचकर हर टूल के hidden folders खंगालने पड़ते थे या rg से transcript ढूँढना पड़ता था। ऊपर से लोकल session logs भी लगातार जमा होते जाते थे, इसलिए storage cleanup और external backup हर बार खुद संभालना काफ़ी झंझटभरा लगता था।

मैं इसी पूरी प्रक्रिया को एक ही जगह से संभालना चाहता हूँ।

  • Codex, Claude, Gemini, Copilot के लोकल sessions को एक जगह से खोजना
  • हर session का transcript, कार्य पथ, फ़ाइल आकार, संशोधन समय एक ही स्क्रीन पर देखना
  • बैच बैकअप और impact analysis के बाद व्यवस्थित करना (impact analysis अभी मुख्यतः Codex पर केंद्रित है)
  • यह देखना कि provider के अनुसार session structure कहाँ और कैसे पढ़ा जा रहा है, routing/parser के ज़रिए

यह Local-First है; account या cloud upload जैसी कोई चीज़ नहीं है। यह पहले से आपके कंप्यूटर पर मौजूद session files को पढ़कर उन्हें लोकल API, web UI, desktop app और TUI में दिखाने वाली संरचना है।

इसे बनाते हुए मुझे लगा कि सिर्फ एक "delete button" होना उतना अच्छा नहीं है। खासकर Codex threads के मामले में, हटाने से पहले मैं यह देखना चाहता था कि "इसे हटाना वाकई ठीक रहेगा या नहीं?" इसलिए impact analysis में OpenAI/Claude से जुड़ी documentation और वास्तविक issues से मिल सकने वाले signals लिए गए हैं, और score weighting को प्रोडक्ट के भीतर सावधानीपूर्वक conservative रखा गया है।

यह सिर्फ लंबे context, tool-heavy history, cwd की मौजूदगी या अनुपस्थिति, और पुराने sessions तक सीमित नहीं है; यह भी देखता है कि क्या दूसरे sessions इस thread को parent/child/fork relation के रूप में सीधे refer करते हैं, या logs के भीतर उसका उल्लेख करते हैं। इसलिए delete करने से पहले क्या यह orphan candidate है, क्या यह दूसरे sessions से जुड़ा हुआ है, और क्या इसे हटाना सुरक्षित लगता है — यह पहले से जाँचा जा सकता है।

फिलहाल macOS DMG, Windows exe, Linux AppImage उपलब्ध हैं, और इसे source से भी चलाया जा सकता है।
डेस्कटॉप builds अभी unsigned हैं, इसलिए OS warning दिखाई दे सकती है। provider-आधारित discovery logic और कुल UX पर लगातार काम जारी है।

फ़ीडबैक, contribution, और समर्थन — सबका स्वागत है!! अगर आप किसी दूसरे लोकल AI session format का इस्तेमाल करते हैं, तो उसके बारे में भी ज़रूर बताइए। इससे priorities तय करने में मदद मिलेगी :)

GitHub: https://github.com/hanityx/threadlens

5 टिप्पणियां

 
minhoryang 26 일 전

कमाल है! अभी मुझे सच में इसी की ज़रूरत थी!!

 
hanityx 25 일 전

कमेंट तक... मैं ही ज़्यादा आभारी हूँ! UI में हिंदी भी संभव है, यह i18n आधारित बहुभाषी सपोर्ट है। आगे और भी मेहनत से इसे निखारता रहूँगा!

 
minhoryang 25 일 전

@hanityx क्या आप शायद कोई गाइड बना सकते हैं कि दूसरा provider कैसे जोड़ा जा सकता है? (मैं opencode या कुछ और जोड़कर देखना चाहता हूँ।) docs/PROVIDER_SUPPORT.md की जानकारी क्या आपने खुद संकलित की है? क्या apps/api-ts/src/domains/providers/matrix.ts में सीधे जोड़ना पड़ता है? अगर interface को अलग कर दिया जाए, तो शायद यह थोड़ा और आसान हो जाएगा।

 
hanityx 24 일 전

सिर्फ matrix.ts जोड़ देने से नया provider नहीं जुड़ जाता; provider सूची, path safety, session खोज, transcript/search प्रोसेसिंग, actions, health, tests, और docs generation—इन सबको साथ में ठीक करना पड़ता है.

docs/PROVIDER_SUPPORT.md ऐसा दस्तावेज़ नहीं है जिसे सीधे संपादित किया जाए; यह shared contracts की provider registry और docs generation script के आधार पर अपने-आप जनरेट होता है. इसका उद्देश्य यह है कि हर provider की support range और वास्तविक logic आपस में न टकराएँ.

वैसे भी API वाली search/transcript logic काफ़ी बड़ी हो गई है, इसलिए मैं उसे अलग करने और व्यवस्थित करने का काम देख रहा था. इस बार provider जोड़ना आसान हो, इसके लिए internal adapter और guide भी साथ में व्यवस्थित करूँगा, और OpenCode के लिए भी सुरक्षित read-only support से शुरुआत करने पर विचार करूँगा. अगर आप local session path, sample, और संबंधित जानकारी issue में छोड़ दें, तो मैं वहीं से आगे देखता रहूँगा!

 
minhoryang 24 일 전

अगर आप इसे अलग कर दें, तो मैं CONTRIBUTING.md और गाइड के अनुसार opencode अपलोड करने की कोशिश करूंगा।