Снова время релизов.

Месяц назад июньская волна была про zero-config — Octolib выводит идентичность проекта один раз, Octocode и Octobrain её читают. С тех пор стек звучал достаточно громко, чтобы два релиза получили собственные посты: Octocode 0.17.1 принёс локальные провайдеры эмбеддингов, а 0.18.0 выпустил воспроизводимый бенчмарк качества поиска, тогда как Octobrain 0.9.0 вывел слой знаний в мультиплеер. Этот пост собирает всё, что происходило вокруг этих заголовков — и этого больше, чем можно подумать.

Сквозная нить на этот раз — дистрибуция. Octocode 0.18.1, Octobrain 0.9.1 и Octofs 0.5.1 автоматизировали свою публикацию в MCP registry — каждый MCP-инструмент стека теперь при релизе сам отправляет себя туда, так что ваш клиент может обнаружить и установить их без похода на GitHub. А под капотом Octolib весь месяц подключал каждую модель этого лета — Claude Fable 5, Sonnet 5, GPT-5.6, Qwen 3.5/3.7, GLM-5.2, Kimi K2.7, Gemini 3.5 Flash — по большей части в считанные дни после каждого запуска.

Начнём с инструмента, который наконец сдвинулся.


Octofs 0.4.3 → 0.5.2 — сдвинулся, и намеренно

github.com/muvon/octofs · 0.4.3 → 0.5.2

В прошлом месяце мы писали, что Octofs намеренно держится на 0.4.3 — слой файловой системы должен быть скучным, и он сдвинется снова, «когда рантайм над ним изменит то, как он трогает файлы». Это произошло. 0.5.0, нарезанный 28 июня, — первый минор с мая, и минор настоящий.

Унифицированное таргетирование строк — тот самый breaking change. Раньше Octofs принимал диапазоны строк в структурированных формах, которые различались от команды к команде. 0.5.0 унифицирует всё это: таргетирование строк теперь выражается строковыми спецификациями, один формат на весь набор инструментов, а доступ к файлам заодно стал проще. Агенты перестают спотыкаться о том, какую именно форму аргумента-диапазона хочет конкретная команда — но если вы строились на старых формах параметров, именно эту часть придётся обновить при апгрейде.

Внимание: упрощение таргетирования строк и доступа к файлам — это и есть breaking change 0.5.0. Всё остальное — контракт атомарной записи, обход с учётом gitignore, детекция конфликтов в батчах — переносится нетронутым.

delete — теперь первоклассная команда. Она появилась внутри text_editor в 0.4.3; 0.5.0 повышает её до полноценной команды с улучшенным таргетированием строк за ней. Тот же атомарный контракт: файл либо есть, либо его нет — и никогда что-то посередине.

Более богатые листинги файлов и обновлённая схема конфига. Листинги несут больше того, что агенту реально нужно, чтобы решить свой следующий шаг, а схема MCP-конфига приведена с этим в соответствие.

0.5.1 и 0.5.2 — дистрибуционный проход поверх: автоматическая публикация в MCP registry и чистка конфига. Поведения в них не меняет ничто.

cargo install octofs --version 0.5.2
# or grab a binary at https://github.com/muvon/octofs/releases

Octocode 0.16.0 → 0.18.1 — два громких минора, затем проход по стабильности

github.com/muvon/octocode · 0.16.0 → 0.18.1 · последний нарезан сегодня, 11 июля

Две большие истории уже получили собственные посты, поэтому коротко: 0.17.1 позволяет индексировать через локальный провайдер эмбеддингов — наведите его на любой OpenAI-совместимый сервер вроде Ollama или vLLM, и он автоматически определит размерность модели — а 0.18.0 выпустил воспроизводимый бенчмарк качества поиска плюс GraphRAG-расширение на уровне файлов, так что качество поиска теперь — число, которое можно проверить, а не ощущение.

Что осталось без отдельного поста:

  • Структурный и символьный поиск через MCP (0.16.1). MCP-сервер получил поиск по структурным паттернам и символам сразу после июньской волны — тот самый grep-по-структуре, который уже был в CLI, теперь первоклассный для подключённых агентов.
  • Стабильность индексатора (0.18.1, сегодня). Три раунда починок стабильности индексатора и обработки данных. Если вы ловили сбои индексации на больших или быстро меняющихся репозиториях, этот релиз — та самая причина обновиться.
  • Расширения C++-модулей (0.18.1). Индексатор теперь покрывает файловые расширения модулей C++, так что современные C++-кодовые базы индексируются полностью.
  • Публикация в MCP registry и MCPB-бандлы (0.18.1). Релизы теперь автоматически отправляются в MCP registry и публикуют MCPB-бандлы — часть дистрибуционной нити выше.
cargo install octocode --version 0.18.1
# or grab a binary at https://github.com/muvon/octocode/releases

Octobrain 0.9.1 — тихий релиз поверх громкого

github.com/muvon/octobrain · 0.9.0 → 0.9.1 · 6 июля

Громким был 0.9.0 — git-backed knowledge box-ы, которыми может делиться вся команда, человекочитаемые scope-ы памяти вместо непрозрачных хэшей проектов, RRF-фьюжн нескольких запросов и временные фильтры recall. 0.9.1 — продолжение того же рода, каким в мае был 0.6.1: автоматическая публикация в MCP registry, обновлённые идентификатор в реестре и схема конфига, плюс раунд обновлений зависимостей по всему Rust-ядру.

Ничто в 0.9.1 не меняет API — если 0.9.0 уже в вашем стеке, это drop-in апгрейд. Если нет, пост о 0.9.0 объясняет, почему выверенные знания вашей команды должны жить в репозитории и синхронизироваться сами.

cargo install octobrain --version 0.9.1
# or grab a binary at https://github.com/muvon/octobrain/releases

Octolib 0.23.0 → 0.25.0 — каждая модель этого лета и локальный вариант для каждой стадии

github.com/muvon/octolib · 0.23.0 → 0.25.0 · последний нарезан сегодня, 11 июля

Octolib — движок за каждым LLM-вызовом, который мы делаем, и за пять недель он выпустил десять релизов. Главное:

  • Локальный провайдер для эмбеддингов и реранкинга (0.23.3), с определением размерности (0.23.4). Self-hosted эмбеддинги и реранкинг за тем же трейтом, что и облачные провайдеры, и Octolib сам зондирует размерность модели, вместо того чтобы заставлять вас искать её. Это тот плумбинг, на котором едет поддержка локальных эмбеддингов в Octocode 0.17.1 — один слой научился, инструмент выше получил.
  • Принудительная проверка схемы ответа (0.24.0). Octolib теперь следит, чтобы вывод модели соответствовал ожидаемой response schema — поверх нормализации JSON-схем для strict-режима, приехавшей в 0.23.6. Везде, где вы парсите структурированный вывод обратно из LLM, контракт теперь проверяется за вас — а для Ollama, которая не может его соблюсти, проверка разумно отключена.
  • GPT-5.6, с брейкпоинтами кеша промптов (0.25.0, сегодня). Новейший GPT подключён, включая его механику prompt cache breakpoints, вместе с учётом токенов и стоимости для embedding-моделей — так что траты на эмбеддинги появляются в ваших бюджетных цифрах, а не только траты на completion.
  • Ростер моделей весь месяц держал темп. Claude Fable 5 (0.23.1), GLM-5.2 и Moonshot Kimi K2.7 (0.23.3), Qwen 3.5 и 3.7, Gemini 3.5 Flash и Kimi K2.7-code-highspeed (0.23.7), плюс цены для Claude Sonnet 5 (0.23.8). Если модель вышла этим летом — Octolib на ней говорит.
  • Больше кеширования, меньше холодных промптов. Cache control распространён на tool- и assistant-сообщения (0.23.5), поддержка prompt cache key для OpenAI, а также кеширование промптов и поддержка reasoning для провайдера Together (0.23.7 и 0.23.2).

Если строите что-то, вызывающее LLM из Rust, это по-прежнему слой, на котором стоит стандартизироваться: каждый провайдер за одним трейтом, та же логика ретрая, тот же учёт стоимости — теперь включая ваши эмбеддинги.


Mac-приложения тоже сдвинулись

Инструменты стека в эту волну были не одни — два из трёх Mac-приложений выпустили миноры.

Timex 1.2.0 (15 июня) — крупнейший релиз Timex со времён 1.0. Трекинг активности получает настраиваемые категории с правилами для сайтов, а Focus Score теперь живёт во вкладке Today и в заголовке меню-бара, с разбивкой по категориям за ним. Приложение попало не в ту категорию? Правый клик по нему в Today — и перекатегоризация на месте. Под капотом трекинг URL браузера переехал с AppleScript на Accessibility API — заметно надёжнее, — Settings получили редизайн со вкладками, а встроенные покупки Mac App Store теперь поддерживаются. 1.1.0 принёс экспорт и пять языков; 1.2.0 — про то, чтобы знать, куда на самом деле ушло время.

TypeTab 1.1.0 (12 июня) — первый минор с момента запуска. Наконец приехал переключатель запуска при входе в систему, качество обучающих данных получило настоящий проход — с просмотрщиком лога обучения, чтобы видеть, на чём он учился, — а три починки инференса делают ghost text спокойнее: больше никаких падений из-за программных изменений текста, никаких устаревших подсказок, всплывающих заново, и никаких подсказок, срабатывающих при смене фокуса.

Vext держится на 1.2.0 — релиз с двухпроходной диаризацией конца мая всё ещё актуален и делает свою работу.


Octomind 0.31.0 → 0.36.0 — разбор на octomind.run

Рантайм, который связывает стек воедино, выпустил шесть миноров за пять недель, и Octomind 0.36.0 нарезан сегодня — AGENTS.md принят как стандарт инструкций для агентов, контроль использования MCP-инструментов в completions и работа над надёжностью WebSocket. Полные разборы релизов Octomind выходят на его собственном сайте, так что мы просто отправим вас туда: заметки о релизе Octomind 0.36.0 на octomind.run.


Как они стыкуются

Стек — те же пять частей. Что изменилось — то, как вы их получаете и до чего они дотягиваются. Каждый MCP-инструмент — Octocode, Octobrain, Octofs — теперь при релизе сам публикуется в MCP registry, так что установка стека — это обнаружение, а не раскопки в документации. Octolib дал каждой стадии поиска локальный вариант и подключил каждую модель этого лета. Octofs доказал, что «держаться намеренно» и «замереть» — разные вещи.

  • Octolib 0.25.0 — каждый LLM-вызов, теперь с локальными эмбеддингами и выводом, проверяемым по схеме
  • Octobrain 0.9.1 — персистентная память, знания, которыми может делиться команда
  • Octofs 0.5.2 — безопасный доступ к файловой системе, один формат таргетирования строк везде
  • Octocode 0.18.1 — поиск по коду, который можно бенчмаркить, индексатор, которому можно доверять
  • Octomind 0.36.0 — рантайм, оркеструющий всё это

Одиночные бинарники, Apache-2.0, все из них. И все они сдвинулись.

Уже начали следующую. Если что-то здесь разблокирует то, что вы давно хотели построить, откройте issue — фичи, запрошенные в июле, склонны выходить в августе.

— Don