Голосовые записи на macOS больше не расшифровываются белибердой. Иногда macOS записывала звук правильно, а в заголовок файла ставила формат микрофона («48 кГц, float» или «24 кГц» у AirPods) — и расшифровка слышала один шум. Так было испорчено около 6 % записей. Теперь заголовок проверяется и исправляется после записи, перед расшифровкой и перед прослушиванием; сам звук не трогается. Старые испорченные записи чинятся кнопкой «Расшифровать заново»
Расшифровка на macOS больше не обрывает последние слова: секунда тишины в конце копии записи теперь дописывается и к записям, которые macOS сохраняет в «расширенном» формате WAV — то есть ко всем
На macOS в окне выбора папки проекта появилась кнопка «Новая папка»: новый проект можно завести прямо там, не открывая Finder. Окно открывается рядом с текущим проектом — новая папка ляжет туда же, где остальные
Путь к другому проекту набирать проще: напишите в поле чата ~/ — над полем появятся папки из домашней папки. Начните имя, и список сузится (регистр не важен: «live» найдёт LiveProject). Стрелка вправо или Tab подставляет папку и сразу показывает, что внутри, ↑↓ выбирают, Esc прячет список
Приложение больше не «упирается в лимит», когда лимита нет. Если агент в обычном ответе упоминал сообщение Claude Code о лимите — например, описывая скриншот или ролик, — приложение принимало цитату за настоящий лимит и ставило «Продолжай» на завтрашнее утро. Теперь лимитом считается только само уведомление Claude Code: короткая служебная строка, которую CLI помечает как свою
В английском интерфейсе обратный отсчёт до сброса лимита писался русскими буквами: «Sending “Continue” in 3ч 12м». Теперь единицы времени на языке интерфейса — «3h 12m»
Контекст можно сжать вручную: долгое нажатие или правая кнопка по плашке «Контекст» в чате спрашивает «Сжать контекст сейчас?» и по «Да» отправляет агенту /compact. Если агент в этот момент работает, команда дождётся конца хода
Вложения больше не перескакивают между проектами: файл или картинка, брошенные в чат одного проекта, достаются только этому чату. Раньше их получали чаты всех открытых проектов сразу — и после отправки в нужном чате они продолжали висеть «в ожидании отправки» в других
Автопродолжение после лимита будит и субагентов: если лимит прервал запущенных агентом субагентов, к «Продолжай» добавляется просьба продолжить каждого через SendMessage — с его контекстом и с того же места, а не запускать задачу заново. В строке ожидания видно, сколько субагентов разбудится
Когда Claude Code сжимает контекст, в ленте появляется строка «сжимает контекст», а по окончании — сколько токенов было и сколько осталось. На большом окне сжатие идёт минутами, и раньше это выглядело как зависание
У ответа видно, сколько токенов ушло на запрос: ↑ прочитано и ↓ написано, вместе с субагентами. В подсказке — сколько из кэша и сколько это стоило бы по ценам API
Справа внизу чата, в одном ряду с быстрыми командами, — сколько контекста занято: кольцо и процент. После 80% кольцо жёлтое, после 90% — красное: дальше Claude Code начнёт сжимать сам
В git-панели по коммиту из истории можно щёлкнуть: откроется окно со списком файлов, которые он менял, и диффом выбранного. Стрелками (и клавишами ← →) переходите к соседним коммитам и смотрите, как проект менялся шаг за шагом
Переименованный файл виден в коммите со стрелкой от старого имени, а двоичный файл честно говорит, что показывать нечего
Сайт переделан под поисковики: история изменений, номер версии и последние изменения теперь лежат прямо в HTML, а не дорисовываются скриптом. Появились страницы «GUI для Claude Code», «Codex и Koda» и «Локальный агент на LM Studio», частые вопросы и разметка для поисковых систем
Значок непрочитанного на вкладке проекта пропадает сразу, как только вы перешли в проект, где открыт этот чат. Раньше он висел до клика по самому чату: при переключении проектов открытый чат не становился текущим — и облака уведомлений тоже продолжали считать текущим чат прежнего проекта
Windows: локальная модель больше не может выйти за папку проекта путём вида «/etc/hosts» или «C:\Windows\…» — раньше на Windows такие пути не узнавались как абсолютные. Заодно снова собирается версия под Windows: с 1.1.7 её роняли именно эти проверки
Приложение перестало грузить процессор, пока агент работает: кружки занятости (на вкладке проекта, у закреплённой задачи, под полем ввода, в терминале и сборке) заставляли перерисовывать всё окно 60 раз в секунду — теперь каждый крутится в собственном слое
Во время стриминга ответа лента больше не разбирает заново markdown всех видимых сообщений на каждый тик — разбирается только то, что действительно меняется
Оповещения от агента перестали перестраивать все открытые проекты и панели справа разом: экраны и панели живут одними экземплярами и обновляют себя сами, когда есть что менять
Замер закреплённой задачи считается один раз, а не при каждой перестройке ленты
Нажатие на закреплённую задачу теперь показывает её с первого раза. Раньше лента часто промахивалась мимо, и приходилось нажимать второй и третий раз
Причина была в ленивом списке: у сообщения, которое ещё не построено, нет ни настоящей высоты, ни места — длина ленты там лишь оценка по соседям, и прыжок по ней уезжал не туда. Теперь переход идёт шагами и каждый раз проверяет, видно ли задачу
Задача встаёт у верхнего края, а не у нижнего: под ней сразу видно, что агент на неё ответил
Прыжок к задаче больше не прячет свежие сообщения — окно ленты только расширяется, и вернуться к концу переписки можно прокруткой
Закреплённую задачу можно развернуть целиком: если она не уместилась в четыре строки, в шапке закрепа появилась стрелка. Задачу длиннее экрана не разворачиваем — закреп занял бы весь чат; к ней по-прежнему ведёт нажатие на полоску
Следующая задача приходит свёрнутой: разворот был про предыдущую
Задача, отправленная агенту, закрепляется над лентой: агент работает долго, а сказанное ему уезжает вверх за первым же ответом — теперь видно, о чём просили, не листая назад
В закрепе не больше четырёх строк, а нажатие на него прокручивает ленту к самой задаче; сам закреп при этом остаётся на месте
Убрать закреп можно крестиком, и он вернётся со следующей задачей. У каждого чата он свой
Переход к давнему сообщению — из закрепа или из избранного — теперь действительно доезжает: раньше до сообщения, далеко ушедшего вверх, прокрутка не добиралась
Команды локальной модели снова видят обычное окружение: приложение из дока наследует голый PATH, и «npm test» отвечал «команда не найдена», хотя в терминале всё работает
Долгая команда теперь именно гасится, а не бросается: раньше приложение переставало её ждать, а сама она доживала до конца дня и делала своё дело уже после того, как о ней забыли. Гасим вместе с дочерними процессами
«Стоп» во время вопроса о правке файла больше не подвешивает чат: раньше ход оставался ждать ответа, которого уже никто не даст, и чат выглядел занятым навсегда
Разрешение для локальной модели больше не пишет правила в настройки Claude Code: кнопка «Всегда» там выдавала бы облачному агенту вечный доступ к тому, что вы разрешили локальному
Мелочи: в вопросе о разрешении имя инструмента не двоится, а служебные метки локальных сборок вроде «<|begin_of_box|>» в чат больше не попадают
Локальная модель теперь работает с проектом по-настоящему: читает файлы, ищет по именам и по тексту, правит их и запускает команды. Ход превратился в обычный агентский круг — модель просит инструмент, приложение его выполняет и отдаёт ответ, и так до готового результата
Права спрашиваются тем же баннером, что и у облачных агентов: читать и искать можно молча, а на правку файла и запуск команды нужно ваше разрешение. Работают и «Разрешать всё», и пауза
Дальше папки проекта модель не выйдет: любой путь проверяется, и «прочитай ~/.ssh/id_rsa» не сработает даже случайно. Команда не уложилась в две минуты — обрываем и говорим об этом модели
Если модель не умеет вызывать функции, разговор не ломается: приложение переспрашивает её без инструментов и прямо пишет в чат, почему файлы ей не видны
Новый вид чата — локальная модель через LM Studio. Ни облака, ни аккаунта: модель работает на вашей машине, а приложение ходит к ней по HTTP. Ответ печатается в ленту по мере генерации, «Стоп» обрывает его, а сказанное остаётся
Шлюз настраивается один раз на всё приложение: адрес и модель в настройках, кнопка «Проверить» спрашивает LM Studio, что у него загружено, и подставляет это имя. Модель не выбрана — берём ту, что загружена сейчас
Честно про ограничение: локальная модель видит только переписку. Файлы проекта и команды ей недоступны — об этом написано и в настройках, и в окне нового чата
Шлюз не отвечает — сообщение не пропадает: остаётся в чате с причиной и кнопкой «Повторить отправку»
Сообщение больше не пропадает, если агент его не принял. Раньше при «агент не авторизован» набранный текст исчезал вместе с отказом: поле ввода уже очищено, а в чате пусто. Теперь сообщение сначала ложится в переписку, а потом уходит агенту
У неотправленного сообщения в ленте красный знак с причиной и кнопка «Повторить отправку» — вошли в агента и отправили то же самое, не набирая заново. Пометка переживает перезапуск приложения
Если вход протух посреди работы, метка ложится на то сообщение, ради которого агент и работал, — видно, что именно надо переотправить
Полоска уровня микрофона снова живая: громкость теперь считается по самой записи, а не берётся у системы — на macOS она отдавала тишину, сколько в микрофон ни говори. Заодно это честнее: видно ровно то, что легло в файл и уедет в расшифровку
В задачах у надиктованного видно ход расшифровки — проценты и кольцо вместо бесконечного кружка. Записи, которые ждут своей очереди, так и подписаны: расшифровка идёт по одной
Компаньон на плохой связи больше не теряет сообщения и не тормозит: реле придерживает их у себя и отдаёт, как только вторая сторона появилась — по порядку и пачкой. Шифрование прежнее, сквозное: у реле ключей нет, и придержанное лежит в памяти считаные минуты
Пауза у агента: кнопка рядом со «Стоп». Начатое действие агент доделывает, а перед следующим замирает — на диске не остаётся половины дела. Набранные сообщения ждут в очереди, «Продолжить» возвращает всё на место, и агент продолжает как ни в чём не бывало
Паузу переживает даже закрытие приложения: вернулись — чат всё ещё на паузе, очередь цела, ничего не уехало агенту само
В ленте чата сверху прикреплена дата: листаешь переписку и всегда видно, какой день перед глазами — «Сегодня», «Вчера» или число. На границе дней плашка уступает место предыдущей дате
Linux: обновление ставится само. Копия из .deb обновляется самим пакетом — приложение скачивает его, спрашивает пароль системным окном и ставит поверх текущей версии; ярлык, иконки и apt остаются в курсе новой версии
Linux: в панели GNOME у запущенного приложения появилась своя иконка вместо стандартной шестерёнки — окно наконец связано со своим ярлыком
У чата с Claude Code рядом с моделью выбирается усилие: low, medium, high, xhigh, max. Есть и значение по умолчанию для новых чатов в настройках
Диктовка больше не дописывает «Продолжение следует» и прочие титры, которые модель выдумывает, когда вы молчите
Если обновиться на месте нельзя, окно обновления прямо говорит почему и откуда запущено приложение, а не просто отправляет на сайт
Полоска уровня микрофона появилась и в задачах — и в общем поле, и в строке группы. Механизм теперь один на всё приложение: одинаковые деления, одинаковое «микрофон молчит» и одинаковая подпись со счётчиком
Если запись не удалась, в облачке названа причина, а не просто «не вышло записать» — и в чате, и в задачах
Во время диктовки видно уровень микрофона: деления шевелятся, пока он вас слышит. Раньше «идёт запись» со счётчиком выглядело одинаково и когда микрофон работает, и когда выбран не тот вход
Если микрофон молчит дольше трёх секунд, в строке записи об этом прямо написано — и в чате, и в задачах
Пустая расшифровка больше не превращается в пустой пузырь: приложение говорит, что речи не слышно, и не помечает запись расшифрованной — можно попробовать ещё раз
Если микрофон не записал вообще ничего, названа причина и что проверить в настройках звука, вместо молчаливого «ничего не произошло»
В разделе «Файлы» правая кнопка по файлу или папке открывает меню: скопировать имя, скопировать полный путь, показать в файловом менеджере. На macOS файл подсвечивается в Finder, на Windows — в проводнике, на Linux открывается папка с ним
Windows: исправлена расшифровка голоса. В архиве whisper.cpp рядом с рабочей программой лежит заглушка main.exe — она только печатает «программа устарела» и выходит с ошибкой, а приложение запускало именно её. Теперь выбирается whisper-cli.exe, а неправильный путь, записанный прежними версиями, чинится сам при запуске
Проверка после установки больше не принимает заглушку за рабочую программу: если бинарник не умеет расшифровывать, это видно сразу, а не когда заметка уже наговорена
Промпт из каталога перед отправкой спрашивает уточнение к задаче: промпт пишется впрок и о сегодняшнем продукте не знает — теперь можно вписать пару слов, и они встанут перед промптом. Если в тексте промпта есть {input}, написанное подставится ровно туда
Тот же вопрос задаётся и для промпта, который вернул агент, — у кнопки «Отправить агенту» под ответом
Каталог промптов — новая кнопка рядом с магазином скилов. Большой промпт, которым пользуетесь не один раз, сохраняется сюда один раз и живёт поверх всех проектов: поиск, правка, копирование, отправка агенту одной кнопкой
Промпт можно переделать под новую задачу руками агента: выбираете промпт, пишете что поменять — например «это не игра, а заметки» — и агент возвращает переписанный вариант
Под таким ответом появляются три кнопки, как под расшифровкой голосовой заметки: «В каталог», «Редактировать» и «Отправить агенту». Сохранённый промпт помечается — второе нажатие не заведёт копию
Промпт, которым агента просят переделывать промпты, настраивается в настройках рядом с промптом задач
Исправлено: после нескольких часов работы приложение переставало запускать агента и писало «команда агента не найдена», хотя агент на месте и в соседнем чате отвечает. Дело было в открытых файлах: приложение упиралось в предел, который macOS даёт программе из дока. Теперь предел поднимается при запуске, а две течи, которые к нему приводили, закрыты
Телефон-компаньон больше не оставляет за собой сокеты: при каждом переподключении к реле висел незакрытый — за день их набегали десятки
Базы проекта открываются один раз, а не заново на каждое событие задачи
Если запустить агента всё-таки не удалось, приложение пишет настоящую причину от системы, а «команда не найдена» остаётся только для случая, когда её и правда нет
Исправлено: в PDF-отчёте легенда графика сообщений показывала вместо имени проекта путь к его папке, если у проекта в этот период не было задач. Теперь имена берутся из списка открытых проектов, а незнакомый путь сокращается до последней папки
В истории задач теперь два графика: активность по задачам и рядом — сколько сообщений вы отправили агенту. Оба по часам за день и по дням за отрезок, в цветах проектов, слушаются тех же фильтров
Исправлено: выгрузка в PDF при выбранном отрезке дат брала только первый день — теперь в отчёт уходит весь отрезок. В шапке обе даты, в таблице к времени добавлен день, оба графика на месте, а имя файла содержит начало и конец
Без выбранных дат PDF собирается по тому, что видно на экране: от самой ранней записи до самой поздней
macOS: приложение подписано сертификатом разработчика вместо временной подписи. Раньше после каждого обновления система забывала выданные разрешения и снова спрашивала доступ к Загрузкам, Документам и Фото — теперь разрешение даётся один раз и переживает обновления. Эта версия спросит в последний раз
Лимиты Claude Code: время сброса теперь написано под каждой полосой, а не в подсказке при наведении — «сброс сегодня, 20:00», «сброс завтра, 22:00» или с датой, на языке интерфейса
Версия 1.0: бета закончилась. Дальше — обычные номера без нуля впереди
История задач: под фильтрами появилась гистограмма активности. За день — по часам, за отрезок — по дням, столбики раскрашены цветами проектов; фильтры по проектам и действиям влияют и на неё. Кнопки «Сегодня», «Вчера», «7 дней» переключают отрезок одним нажатием
PDF-отчёт за день начинается с той же гистограммы по часам — перед списком задач
Вкладки проектов переключаются с клавиатуры: ⌘1…⌘9 на macOS, Ctrl+1…9 на Windows и Linux
Сайт обновлён: свежие снимки экрана — вложения и PDF, голос и расшифровка, вопросы агента, телефон-компаньон, файлы, git и магазин скиллов — на русском и английском, плюс экраны телефона-компаньона. Описание возможностей переписано под текущую версию
Плашка вложения показывает имя файла без служебного штампа времени в начале
Панель вопросов агента: «(ещё 1)» вместо «(+1 вопрос(ы))»
Телефон-компаньон: в пузырях ленты больше нет пустых строк и сдвига первой строки
Windows: вложения снова работают как надо — имя файла бралось только по обратной косой, и файл со смешанными разделителями в пути копировался в несуществующую папку, а в плашке показывался путь целиком. Из-за этого с 0.35.0 не собиралась сборка для Windows; теперь она выходит вместе с остальными
Длинное имя файла в плашке вложения обрезается многоточием, а не вылезает за край сообщения
Длинные PDF больше не обрезаются на сотне страниц: страницы готовятся порциями, пока их листают, поэтому открывается документ любой толщины, а память уходит только на просмотренное. Счётчик в шапке показывает, сколько страниц уже готово, и плюс рядом — если это ещё не конец
Если очередная порция не подготовилась, страница не пропадает: в конце появляется кнопка «Повторить», а уже показанные страницы остаются на месте
PDF открывается прямо в приложении — и вложение из чата, и файл из раздела «Файлы»: страницы одна под другой, масштаб кнопками, счётчик страниц. Если показать не вышло, рядом кнопка отдать файл системной программе
SVG теперь картинка, а не разметка: эскиз в чате, во весь экран — нарисованным и с масштабом. Исходник никуда не делся — он по кнопке «Редактировать» в том же окне
Файл, отправленный в чат, открывается щелчком по плашке во весь экран — так же, как файл в разделе «Файлы»: текст с подсветкой, поиском по Cmd/Ctrl+F и правкой, в шапке путь от корня проекта. Бинарные и слишком большие файлы, как и там, не открываются — показывается уведомление
Исправлено: файл, перетащенный или прикреплённый в один чат, показывался как ожидающий отправки во всех чатах проекта. Теперь вложение ждёт только в том чате, где его добавили, и дожидается там, если переключиться в другой и вернуться
Картинку в чате можно рассмотреть: щелчок по эскизу открывает её во весь экран с масштабированием колёсиком и щипком и перетаскиванием. Закрыть — щелчком мимо, Esc или крестиком
Вложения теперь уходят любому агенту одинаково: файл копируется в папку проекта, а в сообщении — ссылка на него, которую агент читает сам. Так работает и Claude Code, и Codex, и Koda — блок base64 понимал только первый
Заодно журнал сессии агента больше не растёт на мегабайты с каждой картинкой — в нём остаётся строка с путём
Вложения раскладываются по папкам проекта, как записи голоса: картинки — в .vibecoder1147/image, остальные файлы — в .vibecoder1147/files. Из них лента и показывает эскизы и плашки, даже если исходник уже удалили
Любое вложение можно удалить крестиком прямо в сообщении — с подтверждением: файл уходит и из чата, и с диска. Осталось пустое сообщение без слов — уходит и оно, как голосовая запись. Удаление сообщения уносит и его файлы
В чате появились вложения: скрепка рядом с кнопкой задач прикрепляет файл или картинку к сообщению. Картинка уходит прямо в контекст модели — агент видит её сам, без чтения с диска; файл копируется в проект, и агент читает его по пути
Файл можно просто перетащить на окно чата: он ложится вложением над полем ввода, а в поле пишется, что с ним сделать. Вложения видны в отправленном сообщении — эскизом или плашкой с именем, и остаются в истории
Картинку можно отправить и без слов; небольшой текстовый файл вкладывается текстом сразу, большой или двоичный — путём для агента
Нажатие любого другого микрофона теперь считается «стопом» для идущей записи: она уходит по своему назначению — черновиком в свою группу или голосовым в свой чат — и сразу начинается новая. Раньше на этом месте появлялось «не вышло записать», а наговоренное пропадало
Надиктованный в группу черновик задачи теперь и показывается в этой группе — под её заголовком, а не общей кучей наверху списка. Свёрнутая группа с черновиком раскрывается сама: спрятать то, что человек только что наговорил и ждёт, нельзя
Микрофон появился и в группах задач — на столе в строке ввода каждой группы, в компаньоне в её заголовке. Надиктованное становится черновиком с пометкой группы и по «В задачи» уходит именно в неё; очередь расшифровки та же, можно диктовать подряд
Задачи можно диктовать: рядом с полем новой задачи — микрофон, и на столе, и в компаньоне. Наговорили — сразу появляется черновик с кружком, расшифровка идёт в очереди, а микрофон уже свободен для следующей задачи
Текст ложится в свой черновик, когда доедет: его видно, можно поправить и только потом нажать «В задачи». Само задачей ничего не становится — расшифровка ошибается в именах и цифрах
Кнопка «Добавить» в панели задач стала значком: слово съедало треть узкой панели
Задачи проекта появились в компаньоне: кнопка ☑︎ в шапке открывает полный список по группам — с галочками, правкой прямо в строке и добавлением новой задачи в любую группу
Из чата тот же список открывается шторкой снизу — кнопкой рядом с полем ввода, не выходя из переписки
Удаление задачи всегда спрашивает подтверждение. Все правки уходят на компьютер и попадают в ту же историю задач, что и правки за столом; список на телефоне обновляется сам, если задачи меняют на компьютере
В шапке компаньона появился кружочек обновления: экран открывается мгновенно из кэша, а пока с компьютера едет свежая версия — видно, что она в пути. Доехала — кружочек гаснет
Компаньон перестал тормозить на переходах: списки проектов, чатов и лента открываются мгновенно из кэша на телефоне, а свежие данные молча дорисовываются, когда доедут с компьютера. Круг загрузки остался только для самого первого открытия
К слову о пушах: Firebase в них не используется и не использовался — это чистый стандарт Web Push с нашими собственными ключами, уведомления шифруются сквозным ключом ещё на компьютере
В компаньоне появились пуш-уведомления: колокольчик вверху чата — и реплики агента приходят на телефон как обычные уведомления, с тем же текстом, что во всплывающих облаках на столе. Работает и когда приложение свёрнуто (на iPhone — только для установленного на домашний экран)
Списки чатов и проектов показывают счётчики непрочитанных ответов агента; что прочитано — телефон помнит сам. У проектов и чатов с работающим агентом — кружок загрузки, как на столе
Уведомления зашифрованы тем же сквозным ключом: реле и push-сервисы Google/Apple видят только шифрблок, расшифровывает его само приложение на телефоне
Починена привязка телефона: сканирование QR открывало пустую страницу. Виновата переменная ленты чата по имени history — она заслонила системный window.history, и страница падала ровно в момент разбора кода из адреса
Из осиротевшей привязки теперь есть выход: если компьютер недоступен или отозвал устройство без связи, нажмите на плашку сверху — компаньон отвяжется, сотрёт свои данные и вернётся к экрану привязки
Ошибки страницы больше не выглядят пустым экраном: причина пишется прямо на плашке — на телефоне консоли разработчика нет
Телефонов можно привязать несколько: в настройках — список устройств с подписями, у каждого видно, когда оно выходило на связь, любое можно переподписать или отозвать по отдельности
QR-код перестал быть постоянным: это одноразовое приглашение. Телефон привязался — код тут же меняется; ничейный код умирает сам через 5 минут, фотографировать его «на потом» бесполезно
Устройства подписываются сами при привязке — iPhone, iPad или моделью Android; подпись можно поменять на столе
«Отвязать» на компьютере теперь доезжает до телефона: компаньон получает сигнал, стирает привязку с очередью и возвращается к экрану привязки — а не показывает устаревшие папки
В компаньоне появился свой сканер QR — камера открывается прямо на экране привязки. Раньше выручала только системная камера или ручная вставка кода
На телефоне компаньон теперь требует установки на домашний экран — с инструкцией под iPhone и Android, как в Time to Sport: вкладку браузер может выгрузить вместе с очередью надиктованного, установленное приложение — нет
«Разрешать всё» снова доходит до агента. Флаг живёт в объекте чата, и объект этот должен быть один на всех — а сессия, заведённая мимо экрана (диктовка, сообщение с телефона), заводила себе вторую копию: переключатель ставился на одну, а агент спрашивал разрешения по другой
Теперь общий объект чата выдаёт одно место, и любая сессия — из экрана, с телефона или из голосовой заметки — получает именно его. Заодно перестал теряться черновик и идентификатор сессии, если чат открывали не с экрана
Вопросы агента с вариантами ответа под «разрешать всё» по-прежнему не проходят — там выбирает человек, и молча ответить за него нельзя
Телефон-компаньон больше не масштабируется щипком и двойным касанием — ведёт себя как приложение, а не как страница; прокрутка и выделение текста остались
Телефон-компаньон подстраивается под тему устройства: на светлом оформлении больше не остаётся тёмным
Под сообщениями в телефоне появились те же кнопки, что и в приложении: «Расшифровать заново» у записи, «В задачи», «Изменить» и «Отправить агенту» у расшифровки — правка текста прямо в ленте
В ленте видно время отправки и получения, а команды инструментов показываются так же, как на компьютере
В шапке чата подписан проект, а списки проектов и чатов, пока едут с компьютера, показывают кружок загрузки вместо «чатов пока нет»
Телефон-компаньон: откройте Настройки → Телефон-компаньон, отсканируйте QR камерой телефона — и на vibecoder.1147.org/app появятся ваши открытые проекты и чаты. Диктуйте и пишите в них прямо с телефона: голос ложится в чат записью и сразу расшифровывается на компьютере
Всё сквозно зашифровано ключом из QR-кода: сервер сайта — только реле, он видит шифртекст и ничего не хранит. История живёт на вашем компьютере, телефон каждый раз спрашивает её у него
Без связи страница-компаньон работает дальше: написанное и надиктованное ждёт в очереди на телефоне и уходит, как только компьютер снова на связи
Аккаунтов и паролей нет: доступ — это сам QR-код. «Отвязать» в настройках мгновенно отрезает телефон
Кнопка «Обновить сейчас» заработала на Linux и Windows — раньше приложение умело обновлять себя только на macOS, остальным приходилось качать установщик с сайта
На Ubuntu обновляется и установка из .deb в /opt: система спросит пароль своим диалогом, подмена пройдёт от root, а приложение перезапустится уже от вашего имени
Во всех случаях старая копия не сносится, пока новая не встала: сорвалось — прежняя версия остаётся на месте
Длинные записи больше не теряют куски текста при расшифровке. Whisper тащил текст предыдущего 30-секундного окна в следующее, и одна плохо расслышанная фраза утягивала соседние: на записях длиннее пары минут пропадала середина. Теперь окна независимы
Последние слова записи больше не обрываются, когда «Стоп» нажали сразу за речью: на время расшифровки к копии записи дописывается секунда тишины. Сама запись не меняется
У команд агента теперь видно время отправки — при раскрытии строки, рядом с кнопкой копирования. В свёрнутом виде ничего не прибавилось: в ленте таких строк десятки, и время встало бы частоколом
Агент умеет спрашивать с вариантами — и теперь эти варианты видно: над полем ввода появляется полоса «Агент спрашивает», а по кнопке «Ответить» открывается окно со всеми вопросами, вариантами и пояснениями к ним
Вопросов может быть несколько за раз, у каждого свой набор вариантов; где-то можно выбрать несколько ответов, а где-то — вписать свой
Ответ уходит агенту тем же вызовом, которым он спрашивал: агент продолжает начатое, а не начинает заново. В ленте остаётся строка, что именно выбрали
Не хотите выбирать — «Пропустить»: агент решит сам и скажет, что выбрал. Раньше такой вопрос выглядел как сырой json и упирался в «Разрешить/Нет»
Если агент задал вопросы прямо текстом в ответе, под сообщением появляется кнопка «Ответить» — варианты те же, ответ уходит сообщением
Забрали задачи из разбора — кнопка «Добавить» под ответом агента пропадает, вместо неё остаётся отметка «Задачи добавлены». Задачи уже созданы: одни ушли в работу, другие ждут в списке, и заводить их по второму разу незачем
Отметка живёт вместе с сообщением: после перезапуска кнопка не возвращается
Микрофон переехал из панели задач в строку ввода чата — рядом с кнопкой отправки. Нажали: идёт запись, кнопка стала «Стопом», рядом тикает счётчик, а писать в чат в это время нельзя
«Стоп» кладёт запись в тот же чат и сразу отправляет её в расшифровку — отдельную кнопку «Расшифровать» жать больше не нужно
Отдельный чат «Диктовка» больше не заводится: запись и её расшифровка остаются там, где нажали микрофон
Готовая расшифровка, как и раньше, предлагает три действия: разобрать на задачи, поправить текст или отправить агенту. Сама она агенту не уходит, пока не нажмёте «Отправить агенту»
У расшифровки появилась третья кнопка — «Отправить агенту»: текст уходит в чат как есть, обычной репликой. Надиктовал поручение — и сразу в работу, без разбора на задачи и без копирования руками
Рядом с «Преобразовать в задачи» появилась кнопка «Редактировать текст»: расшифровка открывается как есть, её правят и сохраняют — в чате остаётся исправленный текст, и уже из него делаются задачи
Раньше ошибку распознавания (имя, название, цифру) поправить было негде: задачи получались с тем же браком, что и расшифровка
Команды установки в окне ошибки теперь отдельными строками — под Ubuntu/Debian, Fedora и Arch, каждая с кнопкой «Копировать». Набирать их с экрана руками больше не нужно
«Не вышло расшифровать» больше не остаётся без объяснений: в окне видно код возврата whisper, саму команду запуска и хвост его журнала. Раньше причина могла оказаться пустой, а длинная — не влезала в облачко
Если whisper не запустился вовсе (нет прав на файл, чужая сборка), причина тоже показывается целиком
На Linux запись больше не жалуется на «доступ к микрофону», когда дело в другом: там звук пишут parecord и ffmpeg, и если их нет, приложение прямо так и говорит — с командой установки, которую можно скопировать
Причина отказа показывается окном, а не облачком: в облачко команда установки не помещалась и исчезала через шесть секунд
На Windows к сообщению добавляется подсказка про Параметры → Конфиденциальность → Микрофон: система разрешает доступ молча, а отказывает уже при старте записи
На macOS отказ теперь ведёт прямо в Системные настройки → Конфиденциальность и безопасность → Микрофон
Согласились поставить транскрибатор — сразу открываются настройки, прокрученные к его разделу. Раньше после согласия внешне ничего не происходило, и было непонятно, ставится ли что-нибудь: ход установки виден только там
Починили «разрешать всё»: в 0.32.0 флаг мог перестать действовать в уже открытом чате — переключатель ставился на одну копию чата, а спрашивал разрешения агент по другой. Теперь объект чата один на всех, как и было задумано
Разъезд случался после того, как список чатов перечитывался мимо экрана — например, когда первая голосовая заметка заводила чат «Диктовка». Заодно он мог подсунуть агенту устаревший идентификатор сессии
Установка транскрибатора и на Windows с Linux делается кнопкой: скачиваем готовую сборку whisper.cpp и модель, распаковываем и прописываем пути сами. Подсказка в настройках раньше говорила обратное — это была неправда
Сразу после установки программа запускается вхолостую: если сборка на этой системе не заводится (старая библиотека, битый архив), причина видна в настройках, а не всплывает потом, когда заметка уже наговорена
«Расшифровать», «Преобразовать в задачи» и «Добавить» под сообщениями стали обычными кнопками со значком и подписью — такими же, как «Продолжай» над полем ввода. Значками они терялись, хотя это главное действие над сообщением
Кнопки вынесены отдельной строкой под сообщение; мелким значком осталось только удаление записи — рядом со временем и копированием
Голосовые заметки: рядом с «Задачами текстом» появился микрофон. Нажали — идёт запись, с паузой и остановкой; по «Стоп» запись уезжает в отдельный чат «Диктовка», который заводится сам
Агент записи не видит: и сама запись, и её расшифровка живут только в истории чата — это заметки себе, а не разговор
Запись в ленте можно прослушать, удалить вместе с файлом и расшифровать. Расшифрованные помечены галочкой, ход расшифровки виден в процентах
Расшифровка идёт на вашем компьютере, без интернета: whisper.cpp с моделью large-v3-turbo. Ставится по кнопке в настройках или по первому нажатию микрофона — на macOS через brew, на Windows и Linux готовой сборкой с GitHub
Под расшифровкой — кнопка «Преобразовать в задачи»: агент разбирает текст на задачи и раскладывает их по группам, а уже существующие группы использует повторно, а не заводит похожие. Разобранное показывается списком с галочками, добавляются только отмеченные
Промпт разбора можно переписать под себя — он в настройках, рядом с установкой транскрибатора
Записи лежат в служебной папке проекта .vibecoder1147/audio и остаются на месте, пока их не удалят
Под своими сообщениями появилась кнопка «Копировать» — забирает текст задачи целиком, чтобы повторить её в другом чате или проекте
У копирования теперь есть подсказка при наведении, а «В цитатник» осталась только у ответов агента: на сайте цитата подписывается моделью, свой текст туда не к месту
Окно «Задачи текстом» больше не разворачивается во весь экран — это просторное диалоговое окно посередине, которое ужимается под маленькое окно приложения
Закрыли, не отправив, — текст остаётся черновиком и ждёт до следующего открытия. Вместе с ним запоминается и выбранная группа; после «В задачи» черновик очищается
Задачи текстом: под полем ввода появился значок листа — он открывает окно во весь экран, куда список задач можно надиктовать или вставить целиком. Строка — задача, пустые строки пропускаются, маркеры списка («-», «•», «1.») срезаются сами
В этом же окне выбирается группа, куда весь надиктованный список сложится разом
Кнопка новой группы переехала снизу под поле ввода и стала значком — рядом со значком задач текстом
Порядок задач теперь задаётся перетаскиванием: тянете задачу на другую — она встаёт перед ней. Агенту задачи уходят сверху вниз, так что приоритетную можно поднять на первое место — за один проход он успевает не всё
Перетаскивание на задачу внутри группы заодно переносит в эту группу
Полоска скачивания обновления показывает ход, а не сплошную заливку: раньше дорожка была того же цвета, что и заполненная часть, и линия всегда выглядела полной
Прогресс обновляется раз в сотню килобайт, а не на каждый кусок из сети: перерисовок окна во время скачивания стало в разы меньше
Календарь в истории задач больше не разворачивается во весь экран: это обычное окно посередине, со скруглёнными углами, как у остальных диалогов. В маленьком окне приложения оно ужимается по месту
Подписи в календаре теперь на языке приложения: «Выберите день или отрезок», «Сохранить», «Отмена»
У задач появилась история: рядом со сводкой по проектам — «Сводка по задачам», где по всем открытым проектам видно в хронологии, что создали и что сделали, с точным временем
Задача считается выполненной, когда её отправили агенту или поставили галочку; отправку и галочку показываем по-разному. Снятую галочку тоже записываем
Сверху фильтры: по проектам, по статусам (созданы, выполнены, сняты) и по дате — один день или отрезок из календаря
Выгрузка за день в PDF: время, проект, задача и действие таблицей, с подписью «История выполнения задач в VibeCoder.1147.org». Файл кладём в «Документы/VibeCoder» и сразу показываем в проводнике
В настройках — срок хранения истории: 30, 60, 90, 180 дней или всегда. Старое подчищается само при открытии проекта
История хранится в той же базе проекта, что и задачи
Поле новой задачи внутри группы больше не одна строка: длинный текст переносится и виден целиком, пока пишете. Enter по-прежнему добавляет задачу
В окне «Вышла новая версия» теперь виден список нововведений — тот же, что показывается после обновления. Понятно, ради чего скачивать, ещё до скачивания
Список берётся с сайта: в самом приложении лежит перечень изменений на момент его сборки, а про версию, которая вышла позже, там ничего нет
Обновление скачивается в фоне: окно закрывается сразу, ничего не блокируется, и всё это время можно работать как обычно
Прогресс переехал в подвал под строку версии — тонкая полоска с процентами. Когда всё скачано и проверено, на её месте появляется зелёная кнопка «Обновить», а по ней — окно «Обновить и перезапустить» или «Позже»
Проверка обновлений остаётся доступной и во время скачивания: нажали повторно — если новая версия уже скачана, сразу предложим её поставить, а если за это время на сайте появилась ещё свежее, скачаем её
Зелёная кнопка вверху показывает то же самое: проценты во время скачивания и «Обновить», когда готово — это важно, когда ни одного проекта не открыто и подвала на экране нет
Проверка обновлений в подвале стала значком вместо кнопки с подписью — она занимала половину строки. Наведите, и подсказка скажет, что это; пока идёт проверка, значок сменяется кружком ожидания
Когда новая версия найдена, значок зеленеет и ведёт сразу в окно обновления, а подсказка показывает её номер
Приложение обновляет себя само: в подвале рядом с версией появилась кнопка «Проверить обновления», а когда новая версия найдена — «Обновить»
Зелёная кнопка вверху и кнопка в подвале ведут в одно окно: «Вышла новая версия (номер)» и три ответа — «Закрыть», «Скачать с сайта» (как раньше) и «Обновить сейчас»
«Обновить сейчас» качает архив с сайта с показом прогресса, распаковывает и спрашивает про закрытие — если в этот момент работает агент, об этом сказано прямо. Согласились — приложение закрывается, новая версия встаёт на место старой, приложение открывается заново, скачанное убирается
Больше не надо выпускать приложение из карантина на macOS: карантин ставит тот, кто скачал файл, а раз файл качает само приложение, а не браузер, метки на нём не появляется (проверено на живой сборке)
Если подмена почему-то не удалась, старая версия возвращается на место — остаться совсем без приложения нельзя
На Windows и Linux всё как раньше: там свои установщики, и окно предлагает скачать их с сайта
Сводка по проектам теперь выезжает панелью справа — как магазин скилов и настройки: кнопка работает переключателем, открытая панель подсвечена, а «назад» её закрывает
Кнопка «Новый проект» встала первой в ряду, сводка переехала к остальным кнопкам панелей
Переход к проекту из сводки закрывает панель, а не уводит на отдельный экран
Задачи можно перетаскивать между группами: нажмите на задачу, подержите и тяните на заголовок нужной группы
Чтобы вынуть задачу из группы, есть строка «Без группы» — она появляется над списком, как только в проекте заводится хотя бы одна группа, и служит местом, куда задачу можно бросить
Пока задачу тянут, места, куда её можно положить, подсвечиваются, а сама задача остаётся на своём месте бледной — видно, откуда забрали
Обычный щелчок по задаче по-прежнему открывает правку, а галочка отмечает выполнение: перетаскивание начинается только с удержания
Всё, что приложение знает о проекте, переехало в базу: задачи с группами, команды сборки, имя и цвет проекта больше не лежат в json-файлах рядом
Баз две: chats.db для переписки и project.db для остального — чат пишется потоком, пока агент работает, а задачи правит человек, и записи друг другу не мешают
Старые файлы переносятся сами при первом открытии проекта и остаются рядом как резервные копии с суффиксом .migrated — ничего вручную делать не нужно
Попутно исправлено: задача, добавленная в первое мгновение после открытия проекта, могла молча пропасть — чтение с диска затирало её
У задач появились группы — списки, как в напоминаниях на телефоне. Внизу панели задач кнопка «Новая группа»: даёте имя, и у группы появляется своя строка ввода — пишете прямо в неё, и задача сразу создаётся внутри группы
Задача по умолчанию по-прежнему без группы, и пока групп нет, панель выглядит ровно как раньше
В окне выбора задач группы показаны развёрнутыми, а галочка у названия берёт или снимает все задачи внутри разом
Рядом с отправкой — галочка «По группам»: без неё список уходит сплошной нумерацией, как обычно, а с ней группа получает свой номер, а её задачи — подпункты: «1. Вёрстка», «1.1 починить кнопку», «1.2 …», «2. База», «2.1 …»
Группу можно переименовать (задачи переедут вместе с ней) или удалить — задачи при этом не пропадают, а просто выходят из группы
Появилась сводка по всем открытым проектам: кнопка со списком рядом с плюсиком вверху справа, а на ней — число задач, висящих суммарно по всем проектам
На странице по каждому проекту видны только открытые задачи, а рядом — когда там последний раз что-то происходило («3 мин назад», «12 дн назад») и чем закончился разговор: название чата и последняя реплика
Проекты идут от свежих к забытым, а те, где неделю ничего не было, помечены красным — сразу видно, чем занимаемся, а что лежит без дела
В окне выбора задач появилось поле «Приписка к списку»: текст из него уходит агенту после самих задач отдельным абзацем — например «/loop не останавливайся, пока весь список не будет готов»
Приписка помнится: закрыли окно, открыли снова — фраза на месте, набирать заново не нужно. Пустая приписка ничего не меняет, сообщение остаётся прежним списком
«Разрешать всё автоматически» стало свойством конкретного чата, а не всего приложения: включили в песочнице — в боевых проектах вопросы остались на месте
Переключатель переехал в настройки чата (долгое нажатие или правая кнопка по чату), а жёлтый замочек — из поля ввода к названию чата в списке слева: видно, где именно агенту разрешено всё
Флаг можно включить и выключить посреди работы: то, что уже висело в очереди на подтверждение, разрешается сразу, перезапуск агента не нужен
В настройках появился флаг «Разрешать всё автоматически»: агент правит файлы и запускает команды, ничего не спрашивая. Включение подтверждается отдельным окном — случайно задетый тумблер не снимет вопросы
Каждое разрешение, выданное автоматически, видно в ленте чата строкой «✅ Разрешено … (автоматически)», а рядом с полем ввода горит жёлтый открытый замок — по нему можно сразу вернуться в настройки
Флаг не пишет правила в настройки проекта: выключили — и вопросы вернулись в ту же секунду. Баннеры про заблокированный инструмент и права MCP при включённом флаге тоже чинятся сами
Починена вёрстка списка чатов: когда в другом чате проекта появлялось непрочитанное, кружок с цифрой растягивался на всю строку, а название чата сжималось до одного символа и вставало столбиком
Дополнение по Tab снова понимает экранированные пробелы: «два\ сло» дописывалось неверно и ничего не находило
Закрытие командной строки во время её запуска больше не оставляет процесс оболочки жить сиротой
Видно, что именно делает агент: вместо безликого «🔧 Edit» в ленте теперь «🔧 Edit: lib/main.dart», «🔧 Bash: flutter build macos», «🔧 WebFetch: https://…» — файл, команда, адрес, запрос поиска
Щелчок по строке раскрывает подробности: полная многострочная команда с пояснением, что было и что стало при правке файла, размер записанного, список задач — с кнопкой «копировать»
Пути показываются относительно проекта (lib/main.dart, а не весь путь от корня диска); файлы вне проекта — целиком, чтобы это было заметно
Незнакомые инструменты, включая MCP, тоже разбираются: в ленте суть, под раскрытием — все параметры вызова
Подробности сохраняются в истории чата и переживают перезапуск
Командная строка больше не зависает молча на программах, которым нужен настоящий терминал: claude, vim, htop, less и им подобные перехватываются до запуска
Вместо зависания — понятное объяснение и кнопка «Открыть в терминале»: программа откроется в системном терминале, в той же папке, и там всё работает, включая вход в агента (/login)
Неинтерактивные вызовы не трогаем: claude -p, claude auth status, git status и прочее выполняются как раньше
Права инструментов Claude — теперь живым диалогом: когда агенту нужен инструмент (поиск в вебе, команда, доступ к файлам вне проекта), в чате появляется запрос с кнопками «Разрешить», «Всегда» и «Нет» — прямо по ходу работы, без перезапуска сессии
«Всегда» записывает точное правило, которое предлагает сам Claude Code (например, WebFetch(domain:example.com) — только этот домен, а не весь веб), в .claude/settings.local.json проекта
Отказ не ломает работу: агент видит причину и ищет другой способ; несколько запросов подряд выстраиваются в очередь
Технически: приложение говорит с CLI по его протоколу управления (--permission-prompt-tool stdio) — угадывать отказы по тексту ответа больше не нужно, старый детект остался запасным вариантом
Кнопка «Разрешить» больше не падает с «Cannot add to an unmodifiable list»: ошибка вылезала при первом разрешении в проекте, где ещё нет файла .claude/settings.local.json (а также если файл повреждён)
Встроенные инструменты Claude — WebSearch, WebFetch, Read, Task и другие — теперь разрешаются правильным правилом, своим именем: раньше писалось Bash(websearch:*), то есть разрешалась команда оболочки с таким именем, а сам инструмент оставался запрещённым
Имя инструмента подставляется в настоящем написании (WebSearch, а не websearch) — правила разрешений различают регистр
Распознаётся и та формулировка, которой Claude Code сам просит доступ к инструменту
В командной строке заработал Tab: дополняет имена файлов и папок, а в начале строки — названия программ из PATH
Один вариант дописывается целиком (папка — с косой чертой, чтобы продолжать путь), несколько — до общего начала, а если продолжать нечем, варианты показываются списком
Понимает пути от текущей папки, от корня и от «~», имена с пробелами и в кавычках; на macOS «desk» найдёт «Desktop»
Быстрые команды в чате: рядом с «Продолжай» появились кнопки, которые вставляют свой текст в поле ввода — туда, где курсор; для Claude уже заготовлены /loop, /goal и ultrathink
Набор команд свой у каждого агента и меняется в настройках — раздел «Быстрые команды», по одной на строку
Черновики в чате: набранный, но не отправленный текст больше не пропадает — сохраняется при переключении чатов и проектов и переживает перезапуск приложения
Большая чистка производительности: приложение почти не ест CPU в простое — git-панель обновляется по событиям файловой системы, а не опросом девятью git-процессами каждые 5 секунд
Поток вывода агента, терминала и сборки больше не перерисовывает весь интерфейс на каждую строку — обновления доносятся пачками несколько раз в секунду
Переписка сохраняется на диск инкрементально: дописывается только хвост, а не вся история чата на каждую реплику
Лента чата не перепарсивает markdown всех видимых сообщений при каждом новом; спрятанные панели — скилы, настройки, неактивные проекты — больше не строятся впустую
Дерево файлов проекта читается в фоне и не подмораживает окно на больших репозиториях
Починена сборка под Windows: значок непрочитанных в панели задач не компилировался из-за переменной с именем small — windows.h занимает это имя под макрос
Числа непрочитанных появились внутри приложения: у чата в списке слева и у вкладки проекта — сразу видно, где ответил агент, не переключаясь по очереди
На Windows число непрочитанных теперь показывается значком поверх иконки в панели задач — как в доке на macOS
Счёт общий для всех мест: открыли чат или вернулись в окно — цифра гаснет и на вкладке, и на иконке
На macOS иконка в доке показывает число непрочитанных ответов агента — видно, что работа сделана, даже если окно свёрнуто
Считается только то, что вы правда не видели: ответ в открытом чате при активном окне сразу читается, в другом чате или при свёрнутом окне — копится. Открыли чат или вернулись в окно — цифра гаснет
Значок рисуется средствами системы и не требует ни подписи Apple, ни разрешения на уведомления
Командная строка прямо в проекте: круглая кнопка под лупой открывает чёрный терминал на половину чата, между чатом и правой панелью. Это ваша настоящая оболочка со всеми правами и окружением — cd, переменные и история сохраняются между командами
Обычный щелчок по кнопке прячет терминал, не прерывая работу: пока панель закрыта, команда продолжает выполняться, а на кнопке горит маркер — серый, если терминал просто жив, зелёный, если появился новый вывод
Правая кнопка или долгое нажатие закрывают терминал насовсем — с подтверждением, потому что процесс и вывод при этом пропадают
В терминале: история команд стрелками, Ctrl+C и кнопка «Стоп» гасят зависшую команду вместе с её потомками (оболочка остаётся), код возврата виден рядом с вводом, ввод во время работы команды уходит ей на вход
Схемы mermaid в markdown-файлах рисуются прямо в просмотре: блок-схемы (graph TD/LR с прямоугольниками, ромбами, кругами, подписями стрелок) и диаграммы последовательности с заметками. Рисуем сами, без браузера внутри и без отправки схемы на чужой сервер; что пока не умеем — показываем кодом
Настройки в панели больше не разваливаются на столбик: подписи «Тема», «Язык», «Агент по умолчанию» встали над кнопками, а сами кнопки — в строку
Доктор открывается в той же панели, а не на весь экран; «назад» возвращает к настройкам
Кнопка в магазине скиллов снова короткая — «Установить в проект», имя проекта переехало в подсказку
Агент больше не теряет программы: go, node, flutter, cargo и прочее находятся по имени. Раньше приложение, запущенное из Dock или ярлыка, передавало агенту куцый системный PATH (/usr/bin:/bin:/usr/sbin:/sbin), и он писал «command not found» — при живом разрешении Bash(go:*), потому что дело было не в правах
PATH собираем сами: спрашиваем вашу оболочку (профиль, nvm, pyenv, asdf) и добавляем обычные места установки — homebrew, /usr/local/go/bin, ~/go/bin, ~/.cargo/bin, ~/.pub-cache/bin и другие
Тот же PATH получили команды на вкладке «Сборка», git, установка агентов и проверки Доктора
В Докторе внизу появился список каталогов PATH с кнопкой «Копировать» — видно, попал ли нужный каталог, и есть что показать агенту
Выбор модели (opus, sonnet, fable, haiku) переехал в настройки чата — долгое нажатие или правая кнопка по вкладке чата; поле ввода стало чище
Там же видно, чем агент отвечает на самом деле; у занятого чата выбор заблокирован до конца ответа, а выбранная модель по-прежнему подписана под названием чата
Окно переименования стало «Настройки чата»: имя, модель, доступы инструментов и скиллы в одном месте
Фиолетовые кнопки везде с белым текстом: раньше подпись бралась чёрной — так выглядели «Разрешить» в предложениях доступа к инструментам и MCP, кнопки в баннерах входа и молчания агента
Заодно побелели подписи на выбранных переключателях (тема, язык, агент) и на выбранных тегах-фильтрах — они брали тот же цвет
Markdown-файлы открываются свёрстанными — заголовки, списки, ссылки и код; кнопка возвращает к исходнику и обратно, правки сохраняются как раньше
В просмотре файла на весь экран появился поиск по Cmd/Ctrl+F: подсветка совпадений и строк, счётчик найденного, переходы стрелками и Enter
Подсветка синтаксиса теперь знает Dart, Go, JavaScript/TypeScript, PHP, GDScript, Makefile и конфиги nginx (nginx узнаётся и по содержимому, если имя ни о чём не говорит)
Убраны случайные системные запросы доступа (Документы, Apple Music): фоновые проверки лимитов и входа запускали claude в рабочей папке приложения — теперь в нейтральной пустой
Теги в магазине скилов свёрнуты до четырёх рядов; большая стрелка плавно разворачивает полный список и подводит его к верху страницы
Кнопка «Отправить в каталог» не показывается у скилов, которые уже есть в каталоге
Сервер хранит только последнюю сборку каждой платформы, старые удаляются автоматически (вычищено 4 ГБ старых версий)
Настройки открываются такой же выезжающей панелью справа, как магазин скилов
Кнопки магазина и настроек в шапке работают как переключатели и подсвечиваются фиолетовым, когда панель открыта
В магазине установленные скиллы теперь первыми, до поиска и тегов; кнопки установки называются явно: «Установить глобально» и «Установить в проект» (текст — белый)
Первый собственный скилл VibeCoder — PWA: манифест, service worker, офлайн, установка, push и чек-лист Lighthouse; живёт в открытом репозитории vibecoder-skills, туда же будут попадать скиллы сообщества
В каталоге — блок веб-разработки (86 скилов всего): Vue 3 и Composition API, Vue+TS через тесты, Nuxt, Tailwind, Vitest, Playwright, Next.js, NestJS, GraphQL, WebSocket, дизайн API и официальные веб-скиллы Anthropic
Каталог магазина вырос до 71 скилла: 14 по Three.js и WebGL, 12 по Godot, браузерные 2D-движки (Phaser, PixiJS), геймдизайн, жанры, официальные скиллы Anthropic и универсальные для разработчика
Каталог открыт для других приложений — zloy.studio может использовать тот же магазин
Магазин скилов (значок ✨ в шапке): каталог готовых скилов для агента — геймдев, Blender, шейдеры, 3D, офисные документы — с описаниями и ссылками на исходники
Скилл ставится в один клик глобально или в проект, агент подхватывает его в новых сессиях; свои скиллы добавляются по ссылке на git
Установленные скиллы видны списком и удаляются одной кнопкой
Сборка macOS больше не падает с «hdiutil: create failed — Ресурс занят»: имя тома теперь с версией, оставшиеся тома отцепляются, а при сбое установщик пересобирается
Новая вкладка «Сборка» справа: свои команды проекта (flutter build, make deploy) запускаются кнопкой, вывод виден внизу и разворачивается на весь экран
Команды можно создавать, править и удалять; у каждой своё имя, выполняются они в папке проекта
Протухший вход («OAuth session expired») теперь распознаётся — приложение сразу предлагает авторизоваться
Лимиты показываются полосами, как у самого агента: сессия, неделя и лимит по модели — зелёная до 80%, жёлтая до 90%, дальше красная; время сброса в подсказке
Лимиты Claude Code переехали вниз слева — над строкой с версией: спидометр, проценты сессии и недели, кнопка обновления и полная картина в подсказке
Доступы инструментов можно настроить заранее, не дожидаясь отказа: «Доступы инструментов» в левом нижнем углу — галочки по 40 инструментам плюс поле для своего
Определение недоступного инструмента стало универсальным: имя достаётся из самой формулировки ошибки, поэтому ловятся не только npm, flutter, go и python, но и любые другие — terraform, protoc, ffmpeg и прочие
Список для разрешения пачкой расширен до 40 инструментов: python, pip, java, docker, kubectl, gcc, brew и другие
После установки новой версии приложение само показывает окно «Что нового» с изменениями — один раз на версию
Если агенту не хватает доступа к инструменту (go, npm, python, cargo и другим), в чате появляется кнопка «Разрешить» — правило запишется в настройки проекта, а кнопка «Ещё…» открывает список всех инструментов с галочками
Модель можно переключить прямо в идущем чате — кнопкой слева от поля ввода. Переписка сохраняется: чат продолжается с новой моделью, что удобно, когда лимит одной модели закончился
В подсказке кнопки видно и выбранную модель, и ту, которой агент отвечает на самом деле
Лимиты Claude Code видно прямо в шапке: процент самого «горячего» окна, цвет от зелёного к красному, в подсказке — сессия, неделя и время сброса. Обновляется при старте, раз в 10 минут и после каждого ответа агента; запрос лимитов не тратит токены
Модель Claude выбирается при создании чата — opus, sonnet, fable или haiku (и «как у агента»). Выбор запоминается у чата, есть настройка модели по умолчанию для новых чатов
Влитые ветки в git-панели делятся по коммитам (ветки одного слияния — одной строкой), рядом видно счётчик, а длинный список листается и занимает не больше пяти строк
Переписка чатов переехала из JSON в SQLite: быстрее на длинных чатах и надёжнее при внезапном закрытии; старые чаты подхватываются и мигрируют сами (с бэкапом)
Поиск по чату: лупа сверху справа или Cmd/Ctrl+F — лента фильтруется по мере набора, со счётчиком найденного
Enter при занятом агенте больше не теряет текст: сообщение планируется и уходит само, когда агент освободится (с кнопкой отмены); запланированное переживает даже внезапное закрытие приложения
Пугающее «Агент молчит, проверьте версию CLI» убрано: при паузе 90 секунд — спокойная заметка про медленную связь, и только после 5 минут тишины — баннер с кнопкой «Открыть Doctor»
Если агент упёрся в права MCP-инструментов, VibeCoder предлагает решить это одной кнопкой: с вашего одобрения допишет разрешение в .claude/settings.local.json проекта и перезапустит агента
Цитатник вайбкодера: смешное сообщение агента можно отправить на сайт — правый клик по сообщению → «В цитатник» (текст можно подрезать до фрагмента)
На сайте — страница цитат с голосованием «+/−» и кнопками «Поделиться» (Telegram, WhatsApp, Facebook, VK), топ на главной, у каждой цитаты своя страница
Задачи: галочка и крестик прижаты к верху задачи, между задачами разделители
Проверка обновлений: если на сайте вышла новая версия, в шапке появляется зелёная кнопка со ссылкой на страницу загрузки (проверка при старте и раз в 12 часов)