Локальное рабочее пространство для проектов, клиентов, серверов, заметок, файлов и истории работы.
Информация о длительной работе почти всегда оказывается разбросана по разным местам: файлы лежат в каталогах, решения — в заметках, ссылки — во вкладках браузера, задачи — в отдельном менеджере, пароли — ещё где-нибудь, а часть контекста остаётся только в памяти.
Верстак собирает всё это в одном локальном рабочем пространстве. Основная единица организации называется Дело: им может быть программный проект, клиент, серверная площадка, ремонтируемое устройство, учебный курс, статья, исследование или любая другая работа, к которой приходится возвращаться.
Данные хранятся в локальном вольте и остаются под контролем пользователя. Файлы и заметки не запираются в облачном сервисе или проприетарной базе и остаются обычными файлами, доступными даже без Верстака. Для локальной работы не нужны регистрация, учётная запись или подключение к интернету.
Основные возможности
организация работы по Делам;
обычные файлы и каталоги внутри вольта;
Markdown-заметки и связи между ними;
обзор недавней работы и материалов, требующих внимания;
задачи внутри отдельных Дел и на уровне всего вольта;
журнал выполненной работы и история активности;
общая корзина с возможностью восстановления;
защищённое хранение данных доступа;
шаблоны повторяющихся рабочих структур;
отправка страниц, ссылок, текста и файлов из браузера;
расширяемая система плагинов;
необязательная синхронизация через собственный сервер.
Верстак состоит не только из настольного приложения. В проект также входят SDK для разработки плагинов, набор официальных плагинов, расширение для браузера, сервер синхронизации и отдельная документация по архитектуре.
Состояние проекта
Статус: активная разработка, альфа; текущие публичные релизы доступны на GitHub. Форматы хранения и программные интерфейсы пока могут изменяться. Платформы: Linux и Windows; выпускаются DEB, AppImage и Windows ZIP. Технологии: Go, Wails 2, Svelte 4, TypeScript/JavaScript. Лицензия: AGPL-3.0-or-later. Последний стабильный релиз:.
Исправлена потеря последней несохранённой правки при быстром закрытии заметки или текстового файла, до срабатывания таймера черновика.
Редактор завершает запись черновика перед освобождением своего API. Если предыдущая запись ещё идёт, последнее изменение сохраняется после неё.
При быстром переоткрытии приложение дожидается записи и восстанавливает последнюю версию черновика. Сам файл при этом не сохраняется автоматически: действие «Сохранить» продолжает работать отдельно.
Восстановленный черновик открывается в режиме редактирования, даже если заметку открыли для чтения. Это также относится к действию «Восстановить черновик» при внешнем изменении файла.
English
Preserve the latest unsaved edit when leaving a note or text file before the draft timer runs.
Finish queued draft writes before releasing the editor API, and wait for cleanup before reopening the plugin.
Restore the latest draft without implicitly saving the underlying file.
Open recovered drafts for editing, including recovery after an external file change, instead of letting preview mode save them automatically.
Official plugins / Официальные плагины: v0.2.7.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.3.2...v0.3.3
В Обзоре Дела появляются до трёх последних изменённых заметок с названием, путём и временем изменения.
Нажатие на карточку открывает именно эту заметку. Карточка ключевого ресурса открывает указанный файл; общий счётчик заметок по-прежнему открывает список.
Если файл успели переместить или удалить, приложение оставляет список заметок и объясняет, почему открыть файл не удалось.
Действия карточек с конкретной целью подписаны «Открыть». У кнопки ресурса есть доступное имя с названием файла.
Исправлен пустой экран AppImage на Linux с отличающейся системной версией WebKit. Пакет использует собственные процессы WebKit, injected bundle и модули GIO.
Содержимое окна секрета определяет его высоту; поля и кнопки остаются внутри окна и на версиях WebKit из установщика.
English
Resume recently modified notes directly from the Deal Overview, with their actual titles and timestamps.
Open the exact note or key resource while keeping the Notes total linked to the list.
Keep the list available with a useful error when a file no longer exists.
Use clear, contextual action labels for resource cards.
Fix blank AppImage windows caused by mixing bundled WebKit with system helper processes; use the packaged runtime components.
Official plugins / Официальные плагины: v0.2.6.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.3.1...v0.3.2
> AppImage на Linux: в этом выпуске подтверждён пустой экран при несовпадении системного и встроенного WebKit. Исправлено в v0.3.2; используйте новый выпуск.
> Linux AppImage: a bundled/system WebKit mismatch can leave a blank window in this release. Fixed in v0.3.2; please use the newer release.
Verstak v0.3.1 — Секреты в заметках
Если забыт мастер-пароль
Действие «Забыли мастер-пароль?» сохраняет всё старое зашифрованное хранилище в архиве, затем позволяет создать новое с другим паролем.
Для старого архива по-прежнему нужен старый пароль. Архивирование не расшифровывает старые записи и не изменяет их содержимое.
При ошибке архивирования исходное хранилище остаётся на месте. Пропавший файл проверки рядом со старыми записями больше не приводит к созданию нового ключа поверх них.
Секрет рядом с заметкой
Кнопка с ключом в редакторе показывает секреты текущего Дела и общие секреты. Выделенный текст — например, «логин/пароль» — становится подписью ссылки.
Ссылка открывает окно поверх заметки. Логин и значение доступны для выделения и копирования; «Изменить» открывает поля в этом же окне.
Мастер-пароль вводится один раз до завершения приложения или переоткрытия/смены хранилища. Для разблокировки можно нажать Enter.
Изменение сохраняет ID секрета и привязку к Делу. Ошибка сохранения оставляет введённый новый пароль в форме для повторной попытки.
В Markdown, настройки и журнал приложения значения секретов автоматически не записываются. Заметка хранит ссылку.
Окно следует светлой или тёмной теме и возвращает фокус на ссылку после закрытия.
Новый секрет можно сразу привязать к Делу после первой разблокировки. Вложенные Дела доступны в выборе, обычные папки не предлагаются как Дела.
English
Safely archive an inaccessible encrypted store and create a fresh one without overwriting old records or missing metadata.
Insert links to current-Deal and shared secrets, using selected text as their labels.
Open a credential dialog above the current note; copy or edit login/value fields without leaving the note.
Unlock once per application/vault session, including Enter submission. Preserve record identity, Deal scope and form input on write errors.
Keep secret values out of Markdown, app settings and application logs; follow both appearance themes.
Official plugins / Официальные плагины: v0.2.5.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.3.0...v0.3.1
Нейтральные светлая и тёмная темы с акцентом индиго. Основные кнопки используют белый текст.
Переключатель темы в шапке; в «Настройки → Основное» доступны светлая, тёмная и системная темы. Выбор сохраняется между запусками.
Обновлены боковая панель, шапка, вкладки Дела и Обзор. Создание Дела стало заметным действием, настройки находятся внизу навигации, состав инструментов доступен рядом с вкладками.
Боковая панель сворачивается; в узком окне открывается поверх рабочей области. Диалоги и клавиатурный фокус учитывают это поведение.
Официальные плагины и Markdown-редактор используют общую тему, включая формы, предпросмотр и подсветку кода.
Создание Дела
Исправлена передача расположения при клике на создание: значение события мыши больше не становится ID папки.
Ошибки backend корректно доходят до формы. Конфликт имени сохраняет введённые данные; успешное создание открывает Дело и раскрывает родительскую папку.
Старые рецепты очищаются от выведенного из употребления инструмента Activity с сохранением пользовательских полей и прочих инструментов.
English
Introduce the Studio shell with neutral light/dark palettes, indigo actions and readable white button labels.
Save appearance preferences, follow the system appearance, or switch directly from the header.
Refresh navigation, Deal tabs and Overview; expose Deal tools next to the tabs and keep narrow windows usable with a navigation drawer.
Make official plugin surfaces and the Markdown editor follow the host theme.
Fix Deal creation from real mouse clicks, propagate backend errors, preserve form input on conflicts, open created Deals and migrate retired Activity entries in stored templates.
Official plugins / Официальные плагины: v0.2.3.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.2.11...v0.3.0
При первоначальной синхронизации клиент сначала анализирует удалённую историю файлов. Уже завершённые цепочки создания, перемещения и удаления файла не воспроизводятся поверх самостоятельных локальных файлов. Неоднозначные случаи по-прежнему считаются конфликтами и не перезаписываются автоматически.
Первичная загрузка поддерживает создание организационных папок рабочих областей с сохранением серверных UUID. Совпадения путей с другими локальными сущностями остаются защищёнными от перезаписи.
Повторное подключение устройства к тому же серверу и хранилищу больше не обнуляет позицию успешно завершённой синхронизации и не сбрасывает её первоначальное согласование.
Сообщение об ошибке авторизации теперь предлагает проверить логин, пароль или привязку устройства, вместо того чтобы ошибочно утверждать, что устройство отозвано.
Добавлены регрессионные тесты для исторических перемещений, сохранения локальной очереди, повторной авторизации и создания папок.
Внимание: если в хранилище есть несинхронизированные изменения, сохраните его резервную копию целиком, включая скрытый каталог .verstak, перед повторной попыткой синхронизации. Конфликты, которые невозможно согласовать без риска потери данных, по-прежнему останавливают процесс.
Synchronization fixes
During initial sync, examine the server file-operation history and skip fully obsolete create/move/delete lifetimes instead of replaying them against unrelated existing local files. Ambiguous conflicts still fail safely.
Support UUID-preserving organizational folder creation during remote synchronization without replacing existing unrelated local folders.
Keep a completed sync cursor and bootstrap status when pairing again with the same server and remote vault.
Clarify authorization failures, distinguishing them from definite device revocation.
Add regression coverage for history replay, pending operations, reconnects, and folders.
Back up the complete vault, including .verstak, before retrying synchronization with outstanding local changes.
Official plugins / Официальные плагины: v0.2.2.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.2.10...v0.2.11
Панели редактора стали компактными: иконки с подсказками вместо надписей, без лишнего переноса кнопок на узких экранах.
Теперь можно прикреплять изображения и файлы кнопкой, перетаскиванием или вставкой из буфера обмена. Вложения хранятся рядом с заметкой и отображаются в режиме чтения.
Существующие ссылки можно изменять по Ctrl+K.
Добавлены горячие клавиши: Ctrl+S — сохранить, F2 — переименовать заметку, Ctrl+E — чтение/редактирование, Ctrl+Shift+E — режим рядом, а также сочетания для форматирования текста и списков.
Переименование сохраняет старые названия как псевдонимы, чтобы ссылки на заметку продолжали работать.
Парные скобки и кавычки, контекстная панель форматирования выделения, справка по горячим клавишам.
Notes editor
Compact icon toolbars with accessible tooltips and responsive scrolling.
Add local image/file attachments by picker, drag-and-drop or clipboard; images appear in preview.
Edit existing links with Ctrl+K; keyboard shortcuts for saving, renaming, view modes and Markdown formatting.
Rename preserves old titles as aliases, keeping existing wiki links functional.
Automatic bracket/quote pairing, selection formatting toolbar and shortcut reference.
Official plugins / Официальные плагины: v0.2.1.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.2.9...v0.2.10
Windows: плагины снова показывают свои подписи на выбранном языке. Если путь к плагинам проходил через ссылку или короткое имя Windows (например, RUNNER~1), каталоги переводов отвергались, и вместо текста были видны служебные ключи. То же случалось на Linux, если каталог установки был символической ссылкой.
Windows и macOS: переименование, которое меняет только регистр букв (client → Client, заметка.md → Заметка.md), больше не отклоняется как «уже существует».
Новое
Настройки → Основное → Обновления: можно проверить, есть ли новая версия Верстака. Проверка при запуске выключена по умолчанию — приложение не обращается в сеть без вашего согласия. Ничего не скачивается: найденная версия открывается ссылкой на страницу выпуска, а в строке состояния появляется значок.
Fixed
Windows: plugins show their own text again. A plugin directory reached through a link or a Windows short name (such as RUNNER~1) made every translation catalog look like it escaped the plugin, so raw keys were shown. The same happened on Linux when the install directory was a symlink.
Windows and macOS: a rename that only changes letter case (client → Client) is no longer refused as already existing.
New
Settings → General → Updates: check whether a newer Verstak exists. The startup check is off by default, so the application does not reach the network unless you allow it. Nothing is downloaded; a newer release links to its page and shows a badge in the status bar.
Official plugins / Официальные плагины: v0.2.0.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.2.8...v0.2.9
Плагин, написанный под другую версию API плагинов, теперь не запускается, а получает в Менеджере плагинов понятный статус «несовместим» с указанием обеих версий. Раньше такой плагин загружался и ломался позже на вызове, которого уже нет. Плагины, зависящие от него, показывают «нет зависимости».
Статусы «несовместим» и «нет зависимости» переведены; прежде в русском интерфейсе они показывались служебными английскими словами.
Для разработчиков плагинов
SDK описывает все разделы API, которые приложение даёт плагинам: добавлены keys, notifications, secrets и files.openURL. Проверка в CI не даст приложению и SDK снова разойтись.
Внутреннее: крупнейший файл приложения разделён по областям. Поведение не меняется.
Plugins
A plugin written for another plugin API version no longer starts; the Plugin Manager marks it incompatible and names both versions. It used to load and then fail on a call that no longer existed. Plugins that depend on it report a missing dependency.
The incompatible and missing-dependency states are now translated instead of showing internal identifiers.
For plugin authors
The SDK now declares every API namespace the application hands to plugins, including keys, notifications, secrets and files.openURL. A CI check keeps the application and the SDK from drifting apart again.
Internal: the application's largest source file is split by concern. Behaviour is unchanged.
Official plugins / Официальные плагины: v0.2.0.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.2.7...v0.2.8
Интерфейс приложения переведён на Svelte 5 и Vite 8. Внешне ничего не должно измениться; обновление закрывает известные уязвимости в инструментах сборки интерфейса.
В комплекте официальные плагины v0.2.0 — их настройки синхронизации и импорта обновлены так же.
Maintenance
The application interface moves to Svelte 5 and Vite 8. Nothing should look different; the upgrade closes known vulnerabilities in the interface build tooling.
Bundles official plugins v0.2.0, whose sync and import screens received the same upgrade.
Official plugins / Официальные плагины: v0.2.0.
Full Changelog: https://github.com/mirivlad/verstak/compare/v0.2.6...v0.2.7