# Волна релизов, август 2026: Octoweb, Synx, Pulsora, OctoHub — четыре запуска, и весь стек пришёл в движение

> Двадцать два дня, сорок девять релизов, четыре запуска. Octoweb — keyboard-first AI-браузер для macOS; Synx — синхронизация файлов по SSH в реальном времени для удалённой разработки; Pulsora — time-series база данных на Rust для рыночных данных; OctoHub — self-hosted LLM-прокси с полной наблюдаемостью. Плюс Octocode 0.21.0 с живым структурным графом кода и branch-aware индексацией, Octofs 0.10.0 с удалёнными файловыми системами по SSH/SFTP, Octobrain 0.11.0, Octolib с пятью новыми провайдерами — и весь CLI-тулчейн, приземлившийся на npm.

[Волна конца июля](/blog/release-round-late-july-2026) закончилась словами «август уже в движении». Это было мягко сказано. Двадцать два дня спустя счёт таков: **сорок девять релизов в восьми репозиториях — плюс четыре запуска продуктов, о которых на момент того поста ещё даже не было объявлено.**

Каждый из четырёх запусков получил полноценное представление, так что этот пост не будет запускать их заново: [Octoweb](/blog/introducing-octoweb-keyboard-first-ai-browser) — keyboard-first AI-браузер; [Synx](/blog/introducing-synx-file-sync-for-remote-development) — синхронизация файлов в реальном времени для удалённой разработки; [Pulsora](/blog/introducing-pulsora-time-series-database-for-trading-data) — time-series база данных для рыночных данных; и [OctoHub](/blog/introducing-octohub-llm-proxy-for-observability) — LLM-прокси, который наконец показывает каждый запрос, который делают ваши агенты. Как обычно, эта волна собирает всё остальное — и прослеживает нити.

Нитью прошлой волны была верификация: стек научился проверять собственную работу. В эту волну стек повернулся наружу. Почти каждый релиз ниже — про то, чтобы **встретить вас там, где вы на самом деле работаете**: на вашей git-ветке, на вашей удалённой сборочной машине, в вашем браузере, за вашим балансировщиком нагрузки, даже в вашем пакетном менеджере. Меньше «инструменты поумнели», больше «инструменты пришли к вам».

---

## Четыре запуска за три недели

Коротко о каждом — ради связей, которые понадобятся ниже:

**[Octoweb 0.10.0](/blog/introducing-octoweb-keyboard-first-ai-browser)** — WebKit-браузер, написанный на Rust, без Electron, построенный keyboard-first: командная палитра, слоты быстрого доступа, readline-биндинги повсюду. AI-часть работает в обе стороны: агент на базе [Octomind](https://octomind.run) живёт в сайдбаре и видит то же, что и вы, а браузер выставляет токен-экономный MCP-сервер, чтобы им могли управлять ваши агенты. Внутри этого окна он прошёл 0.9.0 → 0.10.0: закрепление и открепление вкладок, лимит на число открытых вкладок, автоматическое обновление квоты аккаунта и два фикса стабильности — осиротевшие процессы агентов и утечки памяти Objective-C, — которые важны, когда браузер — ваш основной инструмент на весь день. Для нас — именно так, уже пять месяцев.

**[Synx 0.1.2](/blog/introducing-synx-file-sync-for-remote-development)** — двусторонняя синхронизация директорий по SSH для самого старого разрыва в удалённой разработке: редактируете вы на ноутбуке, а работа идёт на машине с шестьюдесятью четырьмя ядрами. Одна команда, никаких демонов, никакого сервиса для установки на сервер — один и тот же бинарник работает на обоих концах, а удалённую сторону клиент сам запускает по SSH. Уже на 0.1.2, где добавилась страховочная проверка git-бейзлайна перед любой операцией очистки — та самая паранойя, которую хочется видеть в инструменте, трогающем две копии вашего исходного дерева.

**[Pulsora](/blog/introducing-pulsora-time-series-database-for-trading-data)** — time-series база данных на Rust, родившаяся потому, что поток рыночных тиков перерос всё, что мы пробовали. Колоночные блоки, типозависимое сжатие в родословной Gorilla и индекс, который растёт с числом записанных блоков, а не строк, — так что стоимость хранения в пересчёте на строку стремится к нулю.

**[OctoHub 0.7.3](/blog/introducing-octohub-llm-proxy-for-observability)** — self-hosted парадная дверь для каждого LLM-вызова: один эндпоинт, алиасы моделей, балансировка нагрузки и строка в базе для каждого запроса: что ушло апстрим, сколько это стоило и кто ответил. Внутри этого окна — вокруг поста о запуске и после него — он выпустил восемь релизов: эмулированный SSE-стриминг для chat completions (0.7.0), проверки совместимости модальностей между тем, что шлёт запрос, и тем, что умеет модель (0.6.4), и доводка health-check-ов. Если вы читали [наш разбор наблюдаемости агентов](/blog/debugging-ai-agents-the-observability-we-wanted), OctoHub — это его последний раздел, ставший постоянным.

---

## Octocode 0.19.0 → 0.21.0 — граф осваивает доки, ветки и живую структуру

[**github.com/muvon/octocode**](https://github.com/muvon/octocode) · 0.19.0 → **0.21.0** · 17 августа

Три фичевых релиза, одно направление: граф знаний перестал быть снимком и стал картиной проекта, какой тот есть *прямо сейчас*.

**Markdown вошёл в граф (0.20.0)** — [полный пост здесь](/blog/octocode-0-20-0-markdown-knowledge-graph). Документы становятся узлами того же GraphRAG-графа знаний, что и код, а ссылки между документами — типизированными связями `references`, по которым может ходить ассистент. Ваш README объясняет архитектуру — теперь граф это знает. Тот же релиз дедуплицировал связи при загрузке — 575K рёбер стали 288K уникальных на нашем тестовом проекте — и починил пачки связей, молча пропадавшие на больших репозиториях.

**Индексация стала branch-aware (0.20.1).** Индекс теперь знает, какую git-ветку он отражает, а MCP-сервер сам определяет контекст ветки — и результаты поиска следуют за той веткой, на которой вы на самом деле находитесь. Маленькая строчка в release notes, большое изменение качества жизни, если вы часто переключаете ветки.

**Граф стал живым (0.21.0).** Главная новость — рантаймовый построитель структурного графа: структурный граф на базе Tree-sitter, доступный всегда, поверх которого накладывается персистентное обогащение, когда вы проиндексировались. Рядом — извлечение узлов на уровне символов с провенансом: узлы графа на уровне функций и типов, каждый знает, откуда он взялся, — и языкоспецифичные виды символов: символы классифицируются в словаре каждого языка, а не одним универсальным набором. Пара фиксов индексатора держит счёт честным: инфляция символов и взрыв путей теперь предотвращаются.

Точка, которую стоит соединить: [пост о markdown в 0.20.0](/blog/octocode-0-20-0-markdown-knowledge-graph) утверждал, что структура проекта — код *и* доки — это карта, которую инструменты должны уметь читать. Ветки и живой граф — тот же аргумент, применённый ко времени: карта должна быть картой сегодняшнего дня, а не индексации в прошлый вторник.

```bash
cargo install octocode --version 0.21.0
# или — новинка этой волны, Rust-тулчейн не нужен:
npm install -g @muvon/octocode
```

---

## Octofs 0.5.2 → 0.10.0 — вот тебе и скучный

[**github.com/muvon/octofs**](https://github.com/muvon/octofs) · 0.5.2 → **0.10.0** · 15 августа

В прошлую волну мы написали, что Octofs «снова стал скучным, в чём и состоит его работа». На следующее утро он выпустил 0.6.0 и не останавливался ещё шесть релизов. Вот вам и скучный.

**Файловая система ушла в remote (0.8.0).** Octofs теперь говорит по SSH и SFTP: наведите его на удалённый хост — и ваш агент получает на сервере те же безопасные структурированные файловые инструменты, что и локально: с верификацией SSH host key, поддержкой SSH-агента, включая Windows, и shell-подсказками, настроенными под удалённые сессии. Вот нить этой волны в самом чистом виде: [Synx](/blog/introducing-synx-file-sync-for-remote-development) существует потому, что на двух машинах работаете *вы*. Octofs 0.8.0 — потому, что ваш *агент* тоже.

**Номерам строк перестали доверять (0.9.0)** — [полный пост здесь](/blog/octofs-0-9-0-content-verified-line-ids). Каждая строка теперь адресуется как `N:hh` — позиция плюс хеш содержимого, — и каждый инструмент правки сверяет хеш, прежде чем записать хоть байт. Устаревшая цель правки громко падает со свежим содержимым в тексте ошибки, вместо того чтобы приземлиться не на ту строку. `str_replace` в том же релизе получил `replace_all` и CRLF-безопасное сопоставление. Если темой прошлой волны была верификация, то это верификация, применённая к самой опасной операции, которую выполняет агент.

Остальная часть забега:

- **Защита от устаревшей записи и история (0.6.0)** — та же честность в духе «файл мог измениться с тех пор, как вы его читали», но на уровне целого файла, плюс история правок и вычищенный терминальный шум из вывода shell.
- **Сессионные рабочие директории и принуждение подсказками (0.7.0)** — MCP-сервер держит workdir на каждую сессию, а подталкивания, уводящие агентов от сырого shell к точным инструментам, стали настраиваемыми: от мягких подсказок (умолчание с 0.8.1) до жёсткого отклонения злоупотреблений shell (0.9.0).
- **Поиск повзрослел (0.10.0)** — glob-сопоставление в стиле ripgrep, контентный поиск по нескольким путям через разделитель-пайп и упрочнённая валидация паттернов по всем фронтам.

```bash
cargo install octofs --version 0.10.0
# или:
npm install -g @muvon/octofs
```

---

## Octobrain 0.9.4 → 0.11.0 — память получает сессионный контекст и просит у веба markdown

[**github.com/muvon/octobrain**](https://github.com/muvon/octobrain) · 0.9.4 → **0.11.0** · 17 августа

Три релиза в слое памяти, каждый маленький, каждый — прямо для пользователя:

- **Сессионный контекст (0.10.0).** MCP-сервер теперь управляет контекстом разговора на каждую сессию, так что операции памяти знают, к какой рабочей сессии они принадлежат, вместо того чтобы встречать каждый вызов как незнакомца.
- **Быстрее под капотом (0.10.1).** Стратегия компакции базы знаний переработана — лучше производительность и эффективнее работа с памятью на долгоживущих базах знаний.
- **Content negotiation (0.11.0).** Когда инструмент знаний Octobrain скачивает URL, он теперь шлёт заголовок `Accept` с запросом `text/markdown`. Сайты, отдающие markdown-двойника своих страниц, вручают агенту чистый текст вместо DOM, который пришлось бы скрести. И вот точка совсем близко к дому: этот блог начал делать ровно это в этом месяце — запросите любой пост с `Accept: text/markdown` и получите пререндеренный markdown-исходник. Octobrain спрашивает; muvon.io отвечает. Если вы публикуете доки или блог, подумайте о том, чтобы присоединиться, — это одна middleware-функция.

Конфиг в 0.10.0 тоже переехал на версионированную систему миграций — об этом паттерне ниже, потому что родился он не здесь.

```bash
cargo install octobrain --version 0.11.0
# или:
npm install -g @muvon/octobrain
```

---

## Octolib 0.26.1 → 0.32.1 — четырнадцать релизов, пять новых провайдеров, один честный счётчик

[**github.com/muvon/octolib**](https://github.com/muvon/octolib) · 0.26.1 → **0.32.1** · 17 августа

У [LLM-слоя подо всем](/blog/octolib-the-engine-behind-our-ai-stack) выдался самый занятой месяц за всю историю — четырнадцать релизов за двадцать два дня. Три сюжетные линии:

**Ростер взорвался.** Пять новых провайдеров: xAI, Alibaba Model Studio (с vision и видео для моделей Qwen), Hetzner, OpenCode и Google AI Studio — интеграция с Google аккуратно разделилась на Vertex AI и AI Studio, с сохранением thought signatures Gemini между вызовами. Новые модели не отставали: GLM-5.3, inkling-small, поддержка reasoning у Kimi K3 на Moonshot — а reasoning-вывод Kimi теперь выживает, даже когда модель отдаётся через Ollama. Если агентный фреймворк — это ресторан, то в этом месяце меню удвоилось.

**Счётчик снова стал честнее.** Токены чтения из кеша теперь входят в расчёт стоимости, тарифы DeepSeek поправлены, ошибка биллинга prompt-токенов исправлена, а peak/off-peak цены DeepSeek теперь смоделированы — ваш батч в два часа ночи действительно дешевле, и теперь учёт это знает. Это тот же барабанный бой, что и в каждой волне: если Octolib сообщает число, мы хотим, чтобы это было число из счёта.

**Конфиг стал версионированной, мигрируемой сущностью (0.29.0).** Версионированная система миграций TOML — имена бэкапов по content-digest конфиг получил в 0.30.3, — и в ту же неделю Octocode 0.20.0 и Octobrain 0.10.0 выбросили собственную обработку конфига и приняли её. Это стек, работающий как задумано: паттерн приземляется один раз в общем слое — и каждый инструмент навсегда наследует автоматические апгрейды конфига.

Ещё в стопке: параллельные вызовы инструментов для OpenAI-провайдеров, условный sampling для OpenAI-совместимых эндпоинтов, мультимодальные изображения и видео на OpenAI и тюнинг keepalive, благодаря которому долгоживущие соединения перестали умирать за сетевыми балансировщиками нагрузки.

---

## Один ход на три репозитория: тулчейн на npm

Octocode, Octobrain и Octofs в эту волну добавили публикацию на npm в свои релизные workflow. Практический смысл: **для установки стека больше не нужен Rust-тулчейн.**

```bash
npm install -g @muvon/octocode @muvon/octobrain @muvon/octofs
```

Те же инструменты, новая парадная дверь. Если ваша команда живёт в Node и строчка про `cargo` в онбординг-доке была тем трением, которое не пускало семантический поиск по коду или память агента в ваш сетап, — этого трения больше нет. `cargo install` и бинарники из GitHub-релизов продолжают работать ровно как раньше.

---

## Octomind 0.39.0 → 0.44.2 — разбор на octomind.run

Агентный рантайм выпустил десять релизов в этом окне, и они заслуживают больше места, чем даёт обзорная волна, — поэтому они получают его [на octomind.run](https://octomind.run). Версия в один абзац: сессии получили заголовки и интерактивный выбор с readline-редактированием, сжатие контекста стало адаптивным, приземлилась поддержка Agent Plugins 1.0.0, а верификационная работа супервизора ушла ещё глубже: персистентный реестр свидетельств, провенанс верификации на ground truth и детекция устаревания планов. Если вы читали нить верификации прошлой волны и гадали, куда она ведёт, — [туда](https://octomind.run).

---

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

**[Vext](/blog/introducing-vext-voice-to-text-for-mac)** держится на 1.3.0 — [июльский стеклянный редизайн и диаризация на уровне слов](/blog/release-round-late-july-2026) обживаются у пользователей. **[Timex](/blog/introducing-timex-time-tracker-for-mac)** держится на 1.2.0, а **[TypeTab](/blog/introducing-typetab-autocomplete-for-mac)** — на 1.1.0. После месяца с сорока девятью релизами вокруг три тихих Mac-приложения ощущаются почти как отдых.

---

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

Стек, каким он стоит после месяца, когда он повернулся наружу:

- **[Octolib 0.32.1](https://github.com/muvon/octolib)** — каждый LLM-вызов, ещё пять провайдеров, каждый токен по честной цене
- **[OctoHub 0.7.3](https://github.com/muvon/octohub)** — одна парадная дверь и один лог для каждой модели, которую вызывают ваши агенты
- **[Octobrain 0.11.0](https://github.com/muvon/octobrain)** — персистентная память с сессионным контекстом, говорящая с вебом на markdown
- **[Octofs 0.10.0](https://github.com/muvon/octofs)** — безопасный доступ к файловой системе, теперь и на вашей удалённой машине
- **[Octocode 0.21.0](https://github.com/muvon/octocode)** — поиск по коду с живым графом кода, доков и веток
- **[Octomind 0.44.2](https://github.com/muvon/octomind)** — рантайм, проверяющий строже, чем когда-либо
- **[Octoweb 0.10.0](https://github.com/muvon/octoweb)** — браузер, где агент — полноправный житель
- **[Synx 0.1.2](https://github.com/muvon/synx)** — ваше исходное дерево, на обеих машинах, непрерывно
- **[Pulsora](https://github.com/muvon/pulsora)** — тот самый поток тиков, сохранённый и доступный для запросов

Одиночные бинарники, Apache-2.0, все из них — и три из них теперь на расстоянии одного `npm install`.

В прошлую волну стек научился проверять собственную работу. В эту — вышел из дома: ваша ветка, ваш сервер, ваш браузер, ваш реестр пакетов. Если есть место, где он всё ещё не появляется, а должен, — [откройте issue](https://github.com/muvon) — именно так эти волны и получают свои заголовки.

— Don
