# Octobrain 0.6.0: आपकी AI अब वो याद रखती है जो उसने पढ़ा

> Octobrain 0.6.0 पूर्ण डॉक्यूमेंट पठन, indexed कंटेंट पर regex match, स्ट्रीमिंग क्वेरी रिज़ल्ट जोड़ता है, और auto_link टूल हटा देता है। यहाँ बताया है क्या बदला और कैसे अपग्रेड करें।

# Octobrain 0.6.0: आपकी AI अब वो याद रखती है जो उसने पढ़ा

ज़्यादातर AI मेमोरी टूल वही स्टोर करते हैं जो आप कहते हैं। 0.6.0 बदलता है कि Octobrain क्या _ढूँढ_ सकता है।

यह रिलीज़ ज्ञान के बारे में है — सिर्फ़ बातचीत से जमा यादें नहीं, बल्कि वे दस्तावेज़, पन्ने, और फाइलें जिनकी ओर आप इसे इंगित करते हैं। पढ़ें, खोजें, मिलान करें। पूर्ण कंटेंट निकालना। हर इंडेक्स पर regex grep। और एक साफ़ MCP सतह जो उस टूल को हटा देती है जिसे आपको कभी मैन्युअली कॉल नहीं करना था।

---

## कुछ भी पढ़ें, सब निकालें

0.6.0 में सबसे बड़ा जोड़ `read` कमांड है। Octobrain को URL या लोकल फाइल पथ दें — और यह पूरा टेक्स्ट खींच लाता है — कोई chunking नहीं, कोई समरीकरण नहीं, कोई trimming नहीं। कच्चा कंटेंट, सीधे लौटाया गया।

यह HTML, PDF, DOCX, और plain text फाइलें संभालता है। दूरस्थ URL और लोकल स्रोत दोनों एक तरह काम करते हैं।

```bash
octobrain knowledge read https://docs.example.com/api-reference
octobrain knowledge read ./spec.pdf
```

MCP के माध्यम से यह `knowledge` टूल है `command: "read"` के साथ। यह fallback है जब सेमांटिक खोज पर्याप्त सटीक नहीं — जब _पूरी चीज़_ चाहिए, सिर्फ़ प्रासंगिक टुकड़ा नहीं।

उपयोग का मामला बिल्कुल वैसा ही है जैसा सुनाई देता है: आपका AI एजेंट किसी धुंधली स्मृति पर दीवार से टकराता है, आप उसे स्रोत की ओर इंगित करते हैं, यह पूरा डॉक्यूमेंट पढ़ता है और वहाँ से काम करता है। कोई कॉपी-पेस्ट नहीं, कोई कॉन्टेक्स्ट विंडो जिम्नास्टिक्स नहीं।

---

## Indexed कंटेंट पर regex Match

`match` कमांड नया है और डेवलपर वर्कफ़्लो के लिए उपयोगी।

यह नॉलेज इंडेक्स में सब पर एक regex pattern चलाता है — या एक विशिष्ट स्रोत पर अगर आप पास करते हैं — और मिलान करने वाली लाइनें उनके लाइन नंबर और स्रोत पथ के साथ लौटाता है।

```bash
octobrain knowledge match "error_code|timeout"
octobrain knowledge match "fn\s+handle_" --source ./src/main.rs
```

यह grep है, पर आपकी AI के नॉलेज बेस पर। अगर आपने codebase, docs का एक सेट, या URL का संग्रह इंडेक्स किया है, तो आप उन्हें सेमांटिक समानता के बजाय सटीक पैटर्न से खोज सकते हैं। दोनों मोड एक-दूसरे के पूरक हैं: `search` "मुझे authentication के बारे में कुछ ढूँढो" के लिए, `match` "हर लाइन जो `auth_token` का उल्लेख करती है" के लिए।

MCP `knowledge` टूल इसे `command: "match"` के रूप में सपोर्ट करता है। पैटर्न निष्पादन से पहले validate होते हैं — खराब regex तेज़ी से एक स्पष्ट त्रुटि के साथ विफल होता है, चुपचाप खाली परिणाम नहीं।

---

## स्ट्रीमिंग क्वेरी रिज़ल्ट

कवर के नीचे, नॉलेज क्वेरी अब LanceDB से रिज़ल्ट स्ट्रीम करती हैं बजाय सब पहले मेमोरी में जुटाने के।

पुराने तरीके में एक मनमाना 10,000-पंक्ति कैप था और बड़े टेबल पर मेमोरी स्पाइक होती थी। स्ट्रीमिंग कैप पूरी तरह हटाती है और इंडेक्स आकार के बावजूद peak memory को सपाट रखती है। ज़्यादातर यूज़र्स के लिए यह अदृश्य है — पर अगर आप बड़े codebase या डॉक्यूमेंट संग्रह इंडेक्स करते हैं, तो आप देखेंगे कि यह धीमा नहीं रहता।

---

## auto_link चला गया (अभी भी काम करता है, बस आप उसे कॉल नहीं करते)

`auto_link` MCP टूल हटा दिया गया है। यह एकमात्र breaking बदलाव है।

ऑटो-लिंकिंग — सेमांटिक समानता के आधार पर संबंधित यादों को स्वतः जोड़ना — अभी भी होती है। यह हर `memorize` और `update_memory` कॉल पर चलती है। आप बस इसे मैन्युअली ट्रिगर नहीं कर सकते, क्योंकि इसका कभी अच्छा कारण नहीं था।

अगर आपके पास कोई MCP क्लाइंट कॉन्फिग या एजेंट प्रॉम्प्ट था जो `auto_link` को कॉल करता था, उन कॉल्स को हटा दें। बाकी सब वैसा ही रहता है।

---

## वेक्टर इंडेक्स: अब डायमेंशन एरर नहीं

एक सूक्ष्म पर तंग करने वाला बग: LanceDB के PQ इंडेक्स के लिए यह आवश्यक है कि सब-वेक्टर गणना एम्बेडिंग आयाम में समान रूप से विभाजित हो। जब ऐसा नहीं होता, तो आपको एक अपारदर्शी इंडेक्सिंग त्रुटि मिलती।

0.6.0 इसे ठीक करता है — सब-वेक्टर गणना को निकटतम मान्य विभाजक तक नीचे automatic स्नैप कर देता है, 96 पर कैप। ऑप्टिमाइज़र इसे संभालता है — आप कुछ कॉन्फ़िगर नहीं करते, यह बस काम करता है।

---

## ज्ञान स्रोत अधिक सख्त हैं

दो छोटे पर महत्वपूर्ण मान्यता बदलाव:

**डायरेक्ट्री पथ अस्वीकृत हैं।** अगर आप `knowledge index` या `knowledge read` को एक डायरेक्ट्री पास करते हैं, Octobrain अब चुपचाप कुछ नहीं करने के बजाय एक त्रुटि लौटाता है। केवल फाइलें।

**स्रोत URI सामान्यीकृत हैं।** Trailing slash इंडेक्सिंग के दौरान हटा दिए जाते हैं, तो `https://example.com/docs/` और `https://example.com/docs` को एक ही स्रोत माना जाता है। पहले वे डुप्लिकेट प्रविष्टियाँ बनाते थे।

---

## व्यवहार में 0.6.0 कैसा दिखता है

इस रिलीज़ के साथ एक असली एजेंट वर्कफ़्लो:

1. प्रोजेक्ट डॉक्स इंडेक्स करें: `octobrain knowledge search "rate limiting"` — प्रासंगिक टुकड़ा मिलता है
2. पूरी spec चाहिए? `octobrain knowledge read ./docs/api.md` — पूर्ण टेक्स्ट, बिना truncation
3. सभी इंडेक्स्ड स्रोतों में एक विशिष्ट त्रुटि कोड ढूँढ रहे हैं? `octobrain knowledge match "ERR_4[0-9]{2}"` — हर मिलान लाइन, स्रोत और लाइन नंबर के साथ
4. एक मुख्य अंतर्दृष्टि स्टोर करें: `octobrain memory memorize` — संबंधित यादों के साथ स्वतः लिंक करता है
5. एजेंट अगले `remember` कॉल पर उठा लेता है — कोई मैन्युअल वायरिंग नहीं

ज्ञान परत और मेमोरी परत स्वतंत्र रूप से काम करते हैं पर एक-दूसरे के पूरक हैं। ज्ञान बाहरी स्रोतों के लिए है। मेमोरी संचित संदर्भ और निर्णयों के लिए। 0.6.0 ज्ञान पक्ष को काफी अधिक सक्षम बनाता है।

---

## अपग्रेड करना

अगर आप 0.5.x पर हैं:

- MCP क्लाइंट कॉन्फिग या एजेंट प्रॉम्प्ट से किसी भी `auto_link` कॉल को हटाएँ
- बाकी सब पीछे संगत है

कॉन्फिग प्रारूप अपरिवर्तित। स्टोरेज प्रारूप अपरिवर्तित। `knowledge` MCP टूल को दो नए `command` मान (`read` और `match`) मिलते हैं — `search`, `store`, और `delete` के मौजूदा कॉल अप्रभावित हैं।

स्रोत और बाइनरी [github.com/muvon/octobrain](https://github.com/muvon/octobrain) पर। अगर कुछ मिले, issue खोलें — हम पढ़ते हैं।
