Августовская волна закончилась тем, что стек вышел из дома — ваша ветка, ваш сервер, ваш браузер, ваш реестр пакетов. Девятнадцать дней спустя счёт таков: семьдесят семь релизов в десяти репозиториях, — и направление снова сменилось.

Август был про то, чтобы появляться в большем числе мест. Эта волна — про то, чтобы не заставлять вас ждать. Фоновая работа, которая доходит до агента, пока он ещё думает. Shell-команда, которая перестаёт блокировать вызов инструмента. Проверка завершения, которая знает, что где-то ещё крутится задача. Агент, который рисует кнопку вместо того, чтобы писать «ответьте 1 для staging, 2 для production». И под всем этим — LLM-слой, который научился производить изображения, видео и речь, а не только читать их.

Вот всё, в том порядке, в каком это будет для вас важно.


Счёт

Репозиторий Диапазон Релизов
octolib 0.33.0 → 0.36.1 18
octofs 0.10.2 → 0.15.3 14
octomind 0.45.0 → 0.50.2 12
octohub 0.7.4 → 0.7.13 10
octobrain 0.11.1 → 0.13.1 6
octocode 0.22.0 → 0.25.0 5
octoweb 0.11.0 → 0.14.0 4
vext 1.4.0 → 1.5.1 3
timex 1.3.0 → 1.4.1 3
synx 0.1.3 → 0.1.4 2

С 19 августа по 6 сентября. Всё, что ниже, выпущено, протегировано и устанавливается уже сегодня.


Octomind 0.45 → 0.50.2 — агентный рантайм, в подробностях

github.com/muvon/octomind · двенадцать релизов · полные заметки на octomind.run

У рантайма больше всего релизов и самая большая видимая пользователю поверхность, поэтому здесь ему отведено больше всего места. Каждый пункт ниже начинался как чья-то жалоба.

«Я набирал octomind run десять тысяч раз». Голый octomind теперь запускает интерактивную сессию с вашим агентом по умолчанию, и git diff | octomind работает так же. run никуда не делся — со всеми флагами, что у него были. Имя инструмента теперь совпадает с самым частым способом его вызова.

«Смена модели по умолчанию означала find-and-replace по всему моему конфигу». 0.48.0 свернул восемь разбросанных настроек модели в один наследуемый профиль [model]. Каждая роль, каждый tap, шаг воркфлоу и внутренний профиль теперь наследуют всё, что не переопределяют. Это ломающее изменение — версия конфига 12, — и за пять дней оно удалило 9 789 строк продакшен-кода в чистом остатке, добавив при этом 82 624 строки тестов.

«Он просит меня ответить 1, 2 или 3, как будто на дворе 1985-й». С 5 сентября сессия Octomind может нарисовать интерфейс, а не описывать его: карточка с чипами, текстовое поле и настоящие кнопки, отрисованные в веб-приложении Octomind и в сайдбаре Octoweb, построенные на открытом протоколе A2UI, а не на HTML, сочинённом моделью, или доморощенном JSON-формате, на котором больше никто не говорит. Рассуждение, стоящее за этим выбором, — в том числе почему недоверенная разметка в залогиненной сессии это уязвимость с дорожной картой, — в отдельном посте.

«Я не мог показать ему скриншот». 0.47 добавил вложения к сообщениям и в WebSocket-, и в MCP-поверхности, плюс валидацию медиавозможностей: текстовая модель теперь говорит вам, что не видит вашу картинку, вместо того чтобы молча её выбросить. Картинки и голос в каждой сессии получили отдельный пост.

«Фоновая задача завершилась, а агент заметил это только в конце хода». В 0.50 завершённые фоновые задачи, обновления мониторов и ответы tap-ов попадают в текущий ход до следующего запроса к модели. Ревью кода теперь может учесть проверку, которую само же и запустило. Гейт завершения научился соответствующим манерам: пока асинхронная работа не завершена, «готово» подождёт, а состояние ожидания переживает переход в тот ход, который возобновляет сессию.

«Он сказал „готово“, а готово не было». Верификационный гейт, появившийся в 0.44, получил отслеживание восстановления для нестабильных верификаторов, явные контракты готовности к мутациям и — в 0.46.1 — проход-опровержение со вторым мнением, который пытается опровергнуть отказ, прежде чем тот вступит в силу. Гейт, который кричит «волки!», приучает себя игнорировать. В 0.50 супервизор ещё и начал хешировать содержимое изменённых файлов относительно рабочей директории сессии, так что он отличает настоящую правку от перезаписи теми же байтами или от файла, просто добавленного в индекс.

«Сжатие съело то, над чем я работал». 0.45.1 перестал терять пользовательские запросы посреди свёртки; 0.47 перенёс свёртку в фон с амортизированными решениями, так что долгая сессия платит постепенно, а не замирает в самый неподходящий момент; 0.50.2 подрезает разбухшие результаты инструментов до того, как решать, платить ли за вызов суммаризации, и пропускает вызов совсем, если подрезки хватило. Вспомненный контекст теперь переживает сжатие в пределах ограниченного окна, а большие вытесненные на диск выводы лежат рядом с данными сессии, а не во временной директории, которую могли уже вычистить.

«Мой агент забывал всё между сессиями — или помнил слишком много». 0.48 перестроил обучение на файловое хранилище с горячим/холодным жизненным циклом хранения и эволюцией через свидетельства: урок должен заслужить своё место, прежде чем закрепится. Статистика сессии теперь сообщает, какие обучающие паки действительно использовались.

«Тулинг моей команды живёт в нашем собственном репозитории». 0.49 резолвит capabilities по всем подключённым tap-ам, включая ссылки с указанием организации — myorg/project-read наравне с octomind/memory-read, — а зависимости ставятся скриптами того tap-а, которому они принадлежат. octomind tap ещё и создаёт заготовку нового локального tap-а одной командой. Если кастомные MCP живут в вашем репозитории, то и кастомные capabilities — тоже.

Мельче, но приятно: упоминания @file с автодополнением путей по файловой системе, уведомления о прогрессе MCP-вызовов, выведенные в спиннер, OCTOMIND_DATA_DIR, слияние конфигов по ролям, один общий вид /status вместо /agents и /monitor, метрики времени на сессию и отчёт по расходам, который перестал выставлять вам счёт за всегда бесплатные модели.

Ещё две истории Octomind получили в эту волну полноценные посты: запланированные рутины, которые запускаются по cron и отчитываются, и долговечные артефакты — результаты работы, которые переживают машину, где были созданы. Если вы встраиваете агента в пайплайн, а не в терминал, то неинтерактивные запуски с выводом в JSON Lines и JSON Schema — практическое руководство для вас.

curl -fsSL https://raw.githubusercontent.com/muvon/octomind/master/install.sh | bash
# или, если есть Rust-тулчейн:
cargo install octomind --version 0.50.2

Octoweb 0.11 → 0.14 — воркспейсы и браузер, в котором агент умеет рисовать

github.com/muvon/octoweb · четыре релиза · 5 сентября

Keyboard-first AI-браузер провёл август, стабилизируясь. Сентябрь дал ему структуру.

Воркспейсы (0.12.0) — главная новость. Вкладки, слоты быстрого доступа, MRU-навигация и сессии теперь скоуплены по воркспейсам, с горячими клавишами по индексу для переключения между ними и ленивым восстановлением сессий, чтобы открытие браузера не будило разом полсотни страниц. MCP-роутинг тоже привязан к воркспейсу: токен определяет, каким воркспейсом управляет агент, — так что ваш исследовательский контекст и рабочий перестают протекать друг в друга. Тот же релиз добавил постраничную историю чата с поиском, направляемые подтверждения и сбор данных, настройку агентов и capabilities прямо в UI и отчёты о запусках специалистов.

У MCP выросли зубы (0.11.0). Поверхность управления браузером — 29 инструментов на localhost:3434/mcp — получила закрытие оверлеев, ожидания от действий со скоупленными снапшотами, доверенный нативный ввод с отслеживанием эффектов и отслеживание загрузок с отчётностью. Вместе это превращает «агент куда-то кликнул» в «агент куда-то кликнул и может доказать, что изменилось».

Вкладки с живым медиа (0.13.0) показывают, что на самом деле играет по всему воркспейсу, а уведомления теперь открывают ту сессию, которая их породила, а не то, что было в фокусе последним.

A2UI (0.14.0) — декларативные UI-поверхности приземлились в браузере в тот же день, когда агент научился их рисовать. Инструмент render_ui позволяет любому подключённому агенту нарисовать A2UI v1.0-поверхность прямо в сайдбаре и получить обратно то, на что человек реально нажал. Ещё в 0.14.0: автодополнение тегов и переработанные браузер и сайдбар.

Ещё Octoweb переехал из продуктового меню Octomind на octoweb.xyzэтот пост разбирает переезд, все четыре релиза целиком и вопрос, который переезд поднимал снова и снова: нет, браузер не привязан к нашему облаку. На его собственном сайте лежат история запуска и руководство по MCP.


Octofs 0.10.2 → 0.15.3 — ожидание перестало быть вызовом инструмента

github.com/muvon/octofs · четырнадцать релизов · 5 сентября

Главное уже получило отдельный пост: каждая shell-команда стартует на переднем плане, на десятой секунде автоматически повышается до фоновой задачи, не теряя ни байта, и уведомляет клиента, когда завершится. Больше никаких шестидесятисекундных клиентских таймаутов, убивающих четырёхминутный прогон тестов. Больше никаких моделей, изобретающих sleep 240 как стратегию опроса.

С момента того поста приземлились ещё четыре релиза — все про заточку краёв:

  • Дельта-виды файлов и отчёт о сдвиге строк после правки (0.15.0). После правки инструмент сообщает модели, как сдвинулись номера строк, чтобы следующая правка целилась в реальность. Поверх проверяемых по содержимому идентификаторов строк N:hh из 0.9.0 агенту теперь надо постараться, чтобы ошибиться.
  • SSH-алиасы и пути относительно домашней директории (0.15.0). Удалённые цели резолвятся через ваш ~/.ssh/config, так что octofs знает те же имена хостов, что и ваш терминал, — а ~/project означает удалённый домашний каталог, а не ваш.
  • Удалённый поиск, который ведёт себя прилично (0.15.1). Поиск по дереву через SSH возвращает корректные результаты, а глубина удалённого листинга по умолчанию ограничена, вместо обхода всего диска сборочного сервера.
  • Правки, которые отказываются быть двусмысленными (0.15.0–0.15.3). Вставки внутрь диапазона замены или удаления отклоняются сразу, а пустые виды и запросы за границами файла прямо об этом говорят, вместо того чтобы вернуть пустую строку, которую модель прочитает как «файл пустой».
cargo install octofs --version 0.15.3
# или:
npm install -g @muvon/octofs

Octolib 0.33 → 0.36.1 — LLM-слой научился генерировать медиа

github.com/muvon/octolib · восемнадцать релизов · 6 сентября

У движка подо всем выдался самый плотный отрезок за всю историю — и он сменил форму.

Генерация медиа теперь полноценный стек. Типизированные API для изображений, видео, речи и транскрипции у пяти провайдеров — в эту волну к OpenRouter и Replicate добавились fal, ElevenLabs и Runway — за той же адресацией provider:model, которой вы уже пользуетесь для чата. Генерация видео асинхронна по своей природе, поэтому задачи долговечны: сохраните JobHandle, не содержащий учётных данных, перезапустите процесс, продолжите задачу. Локальный таймаут ожидания возвращает хендл, а не отменяет удалённую работу.

Учёт стоимости остался честным — и это та часть, которая нам важна. provider_reported_cost используется только тогда, когда апстрим возвращает реальные доллары; всё остальное — это estimated_cost из тарифа, переданного вызывающей стороной, или из новой таблицы media::reference_pricing, причём тариф вмораживается в хендл задачи в момент отправки, так что возобновлённая задача считается по той же цене. Сгенерированные артефакты никогда не скачиваются автоматически: download_artifact требует явного лимита в байтах, принимает только HTTPS, отклоняет встроенные учётные данные и приватные адреса, проверяет MIME-тип и не идёт по редиректам.

Ростер моделей не отставал: Claude 5.1 (Anthropic), GPT-6 (OpenAI), Gemini 3.8 Flash, новый провайдер Meta Model API, GLM-5.3-Flash через Zai, vision у DeepSeek, эмбеддинги voyage-code-4, плюс цены на Qwen3.8 Flash и serverless-инференс Together AI.

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

А счётчик стал ещё точнее: reasoning-токены учитываются в стоимости, логика тарифицируемых выходных токенов собрана в одном месте, peak/off-peak окно DeepSeek задокументировано, а заголовки атрибуции приложения теперь доезжают до OctoHub, так что дашборд вашего прокси знает, какой именно из ваших инструментов потратил деньги.


OctoHub 0.7.4 → 0.7.13 — атрибуция насквозь

github.com/muvon/octohub · десять релизов · 4 сентября

Self-hosted LLM-прокси провёл эту волну на последней миле истории про наблюдаемость: 0.7.12 прокидывает заголовки атрибуции насквозь, с разумными дефолтами OpenRouter, когда клиент не шлёт ничего. Вместе с ответной частью со стороны Octolib строка в вашей базе теперь знает не только, сколько стоил запрос, но и какое приложение его сделало. Это ломающее изменение, если вы полагались на старую обработку заголовков.

0.7.7 улучшил обработку модальностей и разбор контента — необходимое, как только каждый инструмент стека начал слать через прокси картинки и аудио, — а 0.7.9 переработал руководство по установке и API, что было давно пора. Остальное — ровный барабанный бой обновлений octolib, который держит покрытие моделей у прокси идентичным всему остальному, что мы выпускаем.


Octocode 0.22 → 0.25 — Elixir, внутренности Svelte и граф, который резолвится в рантайме

github.com/muvon/octocode · пять релизов · 5 сентября

  • Elixir вошёл в индексатор (0.23.0), с сопоставлением метапеременных и разрешением целей impl — то же отношение, что и к любому другому поддерживаемому языку, а не regex-приближение.
  • Вложенные регионы кода в Svelte индексируются (0.24.0). Блоки script, markup и style в файле .svelte — это разные регионы кода; индексатор теперь так к ним и относится, вместо того чтобы резать один блоб, — так что поиск по Svelte-кодовой базе возвращает именно тот блок, который вы имели в виду.
  • GraphRAG резолвит рёбра в рантайме (0.24.0), с корректным разрешением локальных вызовов и импортов — надстройка над markdown-графом знаний из 0.20.0. Записи метаданных батчатся, а парсер точнее обрабатывает комментарии и блоки кода.
  • Reasoning настраивается (0.25.0) — типизированные настройки reasoning-effort и бюджет размышлений, который можно подкрутить для этапа ранжирования, так что вы сами решаете, сколько размышлений стоит поиск.
  • Windows и симлинки перестали быть слухом (0.25.0) — кроссплатформенная нормализация путей, обработка симлинкнутого корня и покрытие тестами выше 80%.
  • Режим MCP определяется сам (0.23.0) — встроенный сервер сам выбирает одно- или многопроектный режим.
cargo install octocode --version 0.25.0
# или:
npm install -g @muvon/octocode

Octobrain 0.11.1 → 0.13.1 — память, которую можно обслуживать

github.com/muvon/octobrain · шесть релизов · 4 сентября

Слой памяти ушёл в тишину и практичность. 0.13.0 добавил octobrain memory maintenance — блокирующую компакцию таблиц памяти и обновление индекса, которые вы запускаете сами, когда поиск начал тормозить. Честная причина, по которой это существует: MCP-сессия слишком короткоживущая, чтобы дожать компакцию сильно фрагментированной таблицы, — так что этой работе понадобилось место за пределами сессии. Тот же релиз притормозил записи доступа и научил обслуживание повторять попытки вместо того, чтобы сдаваться.

0.12.0 добавил аннотации к MCP-инструментам и более понятный разбор запросов; 0.12.1 закрыл шестнадцать уязвимых зависимостей; 0.11.1 уточнил ограничения по URL в инструменте знаний, чтобы агент перестал пытаться скачать то, что ему не разрешено.

cargo install octobrain --version 0.13.1
# или:
npm install -g @muvon/octobrain

Synx 0.1.4 — инструмент синхронизации узнал, что такое .git

github.com/muvon/synx · два релиза · 5 сентября

У двусторонней синхронизации по SSH был ровно тот класс багов, которого и боишься от инструмента, трогающего две копии вашего исходного дерева, — и эта волна его закрыла. 0.1.4 сохраняет .git во время git-операций и отказывается синхронизировать, когда на двух концах разные репозитории, — рассогласование, которое раньше обнаруживалось только постфактум. Исключённые из манифеста поддеревья теперь остаются исключёнными, а не вычищаются; переименования и идентичности файлов переживают круговой рейс; удаления, замеченные вотчером, доезжают до пиров, а не тихо воскресают; а внешние правила игнорирования перестают протекать в манифесты.

0.1.3 починил вторую половину: пропущенные события файловой системы теперь сверяются, а не теряются, а недоступные поддеревья пропускаются вместо того, чтобы обрывать наблюдение. Заодно снизились накладные расходы по памяти и I/O.


Vext 1.5.1 и Timex 1.4.1 — два Mac-приложения стали MCP-серверами

Это тихий сюрприз волны. Оба приложения теперь поднимают локальный MCP-сервер: по умолчанию выключенный, привязанный к 127.0.0.1, с bearer-токеном, который вы копируете из настроек, — Vext слушает только loopback, Timex позволяет сменить адрес, если вы понимаете, зачем вам это.

Vext 1.4.0 выставляет 38 инструментов — запустить и остановить диктовку, расшифровать файл, вставить текст по курсору, записывать встречи и делать по ним запросы с метками спикеров, просматривать и удалять историю. Ваш агент теперь может попросить ваш Mac послушать — или прочитать вслух то, что вы говорили на утреннем созвоне, — без похода в облако. В комплекте готовые конфиги для Claude Code, Codex, OpenCode и Octomind, а ещё 1.4.0 починил отказ tools/list в ревизии протокола 2026-07-28. Дальше 1.5.0 принёс единую библиотеку истории, переработанные сценарии установки и настроек и новую иконку; 1.5.1 отполировал онбординг. Помимо MCP: горячие клавиши на кнопки мыши, hands-free переключение быстрым нажатием, выбор микрофона с фолбэком, стили диктовки на каждое приложение — с вставкой обратно туда, откуда вы начали, — живая «пилюля» с транскриптом, которую можно отменить по Escape, и предложение записать созвон, когда он начинается.

Timex 1.3.0 выставляет 16 инструментов по той же схеме: сводки, поиск по активности, текущее состояние трекинга, категории и правила, ручные записи, экспорт в CSV, пауза и продолжение. Спросите агента, куда ушёл день, — и он реально может это проверить. Тот же релиз добавил автоматические ежедневные бэкапы базы, выборочный трекинг (исключения, приватные окна, расписания), опциональные дневные лимиты с дайджестом в конце дня, правила категорий по ключевым словам и поддоменам и трекинг, который продолжает работать во время воспроизведения медиа и звонков. 1.4.0 добавил графики дневной активности; 1.4.1 починил зацикливание поповера в менюбаре.

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


Один ход по всем MCP-серверам, которые мы выпускаем

Паттерн, который стоит назвать, потому что за две недели он приземлился в четырёх репозиториях: null-варианты вычищены из схем инструментов (octocode 0.22.0, octobrain 0.11.1, octofs 0.10.3) и добавлены аннотации к инструментам (octocode 0.23.0, octobrain 0.12.0, octofs 0.12.0, timex, vext).

Ни то, ни другое не гламурно. И то и другое — разница между «этот MCP-сервер работает с моим клиентом» и «этот MCP-сервер работает с моим клиентом по вторникам». Строгие клиенты отклоняют схемы с null-членами в union; аннотации сообщают клиенту, какие инструменты только читают, а какие разрушительны, так что запросы на подтверждение могут быть умными, а не одинаковыми. Если вы пишете свой MCP-сервер — украдите оба приёма.


Держатся, намеренно

TypeTab держится на 1.1.0. Pulsora в эту волну не выпустила ни одного релиза — окно она провела под тестовым покрытием, пока в проде переваривает рыночные данные. Ни одна из этих тишин не заброшенность; обе — то, как выглядит «пока готово».


Как стек стыкуется сегодня

  • Octolib 0.36.1 — каждый LLM-вызов, а теперь и каждая сгенерированная картинка, видео и голосовая дорожка, и всё по честной цене
  • OctoHub 0.7.13 — одна парадная дверь, один лог и теперь один ответ на вопрос «какое приложение это потратило?»
  • Octobrain 0.13.1 — персистентная память, которую можно обслуживать по требованию
  • Octofs 0.15.3 — безопасный доступ к файловой системе и shell, локально или по SSH, который никогда не блокирует агента
  • Octocode 0.25.0 — поиск по коду по живому графу, теперь с Elixir и Svelte
  • Octomind 0.50.2 — рантайм: один профиль модели, память с дисциплиной, фоновые результаты, приходящие посреди хода
  • Octoweb 0.14.0 — браузер, теперь с воркспейсами, к которым можно привязать агента, и сайдбаром, в котором он умеет рисовать
  • Synx 0.1.4 — ваше исходное дерево на обеих машинах, с целым .git
  • Pulsora — тот самый поток, сохранённый и доступный для запросов
  • Vext 1.5.1 и Timex 1.4.1 — ваш голос и ваши часы, на устройстве, теперь доступные по MCP

Одиночные бинарники, Apache-2.0 там, где открытый исходный код, cargo install или npm install -g @muvon/* для CLI-инструментов.

Август был месяцем, когда стек появился везде. Этот — месяцем, когда он перестал заставлять себя ждать. Если он всё ещё где-то заставляет вас ждать — откройте issue: именно из таких жалоб и написана бо́льшая часть списка выше.

— Don