Octobrain 0.6.0: ваш ИИ наконец помнит, что прочитал

Большинство инструментов памяти ИИ хранят то, что вы им скажете хранить. 0.6.0 меняет то, что Octobrain может находить.

Этот релиз про знания — не только воспоминания, накопленные из разговоров, но документы, страницы и файлы, на которые вы её направляете. Чтение, поиск, match. Полное извлечение контента. Regex-grep по всему индексированному. И более чистая MCP-поверхность без инструмента, который вам никогда не нужно было звать руками.


Читай что угодно, извлекай всё

Главное добавление в 0.6.0 — команда read. Дайте Octobrain URL или локальный путь — и она вытащит полный текст без чанкинга, резюмирования или обрезки. Сырой контент, отдан как есть.

Поддерживается HTML, PDF, DOCX и plain text. Удалённые URL и локальные источники работают одинаково.

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

Через MCP это инструмент knowledge с command: "read". Fallback, когда семантического поиска недостаточно — когда нужен весь документ, а не релевантный фрагмент.

Сценарий именно такой, как звучит: ваш агент натыкается на размытую память, вы указываете ему источник, он читает документ целиком и работает дальше. Без копипасты, без гимнастики с окном контекста.


Regex match по индексированному контенту

Команда match — новая и полезна для разработческих процессов.

Прогоняет regex по всему в индексе знаний — или по конкретному источнику, если передан — и возвращает совпадающие строки с номерами строк и путями источников.

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

Это grep, но по базе знаний вашего ИИ. Если индексирован кодбейз, набор документов или коллекция URL, можно искать по точному паттерну вместо семантического сходства. Два режима дополняют друг друга: search для «найди что-нибудь про аутентификацию», match для «найди каждую строку с auth_token».

MCP-инструмент knowledge поддерживает это как command: "match". Паттерны валидируются до выполнения — плохой regex падает быстро с понятной ошибкой, не молча пустым результатом.


Потоковая выдача результатов

Под капотом запросы знаний теперь стримят результаты из LanceDB вместо сбора всего в память сначала.

Старый подход имел произвольный потолок в 10 000 строк и скачки памяти на больших таблицах. Стриминг убирает потолок и держит пик памяти ровным независимо от размера индекса. Для большинства это незаметно — но если индексируете большие кодбейзы или коллекции документов, заметите, что перестало тормозить.


auto_link убран (он работает, просто вы его не зовёте)

MCP-инструмент auto_link удалён. Это единственное breaking-изменение.

Авто-связывание — автоматическое соединение связанных воспоминаний по семантическому сходству — по-прежнему происходит. Оно запускается на каждом memorize и update_memory. Просто нельзя дёрнуть руками — причин не было.

Если в конфиге MCP-клиента или промптах агента есть вызовы auto_link, уберите. Всё остальное без изменений.


Векторный индекс: больше нет ошибок размерности

Тонкий, но раздражающий баг: PQ-индекс LanceDB требует, чтобы число суб-векторов делило размерность эмбеддинга нацело. Когда не делило — выскакивала непрозрачная ошибка индексирования.

0.6.0 чинит автоматически — округляет вниз до ближайшего валидного делителя, потолок 96. Оптимизатор разбирается — ничего не настраиваете, просто работает.


Источники знаний строже

Два маленьких, но важных изменения валидации:

Пути директорий отклоняются. Если передать директорию в knowledge index или knowledge read, Octobrain теперь вернёт ошибку вместо молчания. Только файлы.

Source URI нормализуются. Хвостовые слеши срезаются при индексировании, так что https://example.com/docs/ и https://example.com/docs — один и тот же источник. Раньше создавали дубликаты.


Как выглядит 0.6.0 на практике

Реальный сценарий агента с этим релизом:

  1. Проиндексируйте документацию проекта: octobrain knowledge search "rate limiting" — найдёт релевантный фрагмент
  2. Нужна полная спека? octobrain knowledge read ./docs/api.md — полный текст без обрезки
  3. Ищете конкретный код ошибки по всем источникам? octobrain knowledge match "ERR_4[0-9]{2}" — каждая строка с источником и номером
  4. Сохраните ключевую мысль: octobrain memory memorize — авто-связывает со связанными воспоминаниями
  5. Агент подхватит на следующем remember — без ручного соединения

Слой знаний и слой памяти работают независимо, но дополняют друг друга. Знания — для внешних источников. Память — для накопленного контекста и решений. 0.6.0 делает сторону знаний существенно мощнее.


Апгрейд

Если на 0.5.x:

  • Уберите вызовы auto_link из MCP-клиент конфигов и промптов агента
  • Всё остальное обратно совместимо

Формат конфига не менялся. Формат хранилища не менялся. MCP-инструмент knowledge получает два новых значения command (read и match) — существующие вызовы search, store, delete не задеты.

Исходники и бинарники: github.com/muvon/octobrain. Что-то не так — открывайте issue, мы их читаем.