Local Workspace
Работа с токенами прямо в папке репозитория на диске: профиль, Bridge, активация, слежение за изменениями, конфликты с черновиком редактора и возврат к Git.
Local Workspace делает источником токенов папку репозитория на вашем компьютере. Плагин читает и записывает файлы прямо на диск через SXL Bridge, а коммиты и push вы делаете привычным Git-клиентом или из IDE. Это режим для тех, кто правит токены и в Figma, и в коде на одной машине: изменения из редактора кода появляются в плагине сразу, без Pull.

Tokens при активном Local Workspace: в футере имя профиля с иконкой диска и состояние Watching.
Что нужно
- SXL Bridge, запущенный на этом компьютере. Установка описана на странице Утилита Bridge.
- Клон репозитория с токенами на диске. Подойдёт и git worktree. Папка должна быть корнем репозитория: путь до неё указывается целиком.
- Плагин в Design Mode: в Dev Mode Local Workspace недоступен, там редактор кода работает только через Git.
Создать профиль
Профиль описывает одну папку репозитория и относительные пути к токенам и данным внутри неё. Профилей может быть несколько, например по одному на каждый worktree.
- Нажмите шестерёнку Sync settings в футере и откройте вкладку Local Workspace.
- Нажмите New profile.

Вкладка Local Workspace без профилей: список пуст, ниже настройки Bridge.
- Заполните форму и нажмите Create profile.

Заполненный профиль: имя, полный путь к корню репозитория и папка токенов относительно него.
| Поле | Что вписать |
|---|---|
| Name | Имя профиля, оно будет в футере |
| Exact Git root | Полный путь к корню репозитория, например /Users/anna/Git/design-tokens |
| Tokens path | Папка с токенами относительно корня, например tokens |
| Data path | Папка с данными Database относительно корня. Необязательно |
Папки токенов и данных не должны вкладываться друг в друга.
Рядом с каждым полем пути есть кнопка с иконкой папки: она открывает системный диалог выбора папки через SXL Bridge (нужен Bridge версии 1.10.0 или новее). Кнопка у Exact Git root подставляет полный путь, кнопки у Tokens path и Data path — путь относительно корня; выбранные папки токенов и данных должны находиться внутри корня репозитория. Если Bridge не умеет открывать диалог, кнопок не будет — пути всегда можно вписать вручную.

Созданный профиль в списке: путь, папки токенов и данных, кнопка Activate. Ниже порт Bridge и необязательный токен.
Проверить Bridge
Внизу вкладки нажмите Test connection →. При успехе появится надпись Connected to SXL Bridge с номером версии.

Проверка прошла: плагин видит Bridge на порту 37830.
Если Bridge не отвечает, проверьте, что он запущен, и что порт в разделе Bridge совпадает с портом Bridge. Поле Bridge Auth Token заполняйте только если Bridge запущен с переменной BRIDGE_AUTH_TOKEN. Настройки Bridge сохраняются сами, кнопки Save здесь нет.
Активировать профиль
Нажмите Activate у профиля. Плагин прочитает файлы из папки, покажет их в дереве и начнёт следить за изменениями на диске. У активного профиля появляется бейдж Active, а в футере имя профиля и состояние.

Активный профиль: бейдж Active, настройки Bridge заблокированы на время работы.
Состояния в футере и на вкладке:
| Состояние | Что значит |
|---|---|
| Watching disk | Плагин следит за папкой, всё в порядке |
| Refreshing from disk | На диске что-то изменилось, плагин перечитывает файлы |
| Conflict — editor draft kept | Файл изменился на диске, пока в редакторе есть несохранённый черновик. Нужно ваше решение |
| Reload required | Сессия Bridge потеряна, например Bridge перезапустили. Нажмите Reload |
| Opening workspace | Профиль открывается |
Активный профиль можно править на месте: нажмите карандаш, измените имя или папки и нажмите Save and reopen — плагин переоткроет рабочую область из новых папок и продолжит следить за диском. Сохранение не пройдёт, пока в редакторе есть несохранённый черновик: сначала сохраните или отмените его. Чтобы удалить активный профиль или изменить настройки Bridge, по-прежнему сначала нажмите Use Plugin Local.
Как это работает в ежедневной работе
- Сохранение файла в редакторе плагина сразу записывает его на диск. Кнопки Pull и Push в этом режиме не нужны: коммит и push делайте из Git-клиента.
- Изменение файла на диске, например из IDE или после
git pull, плагин подхватывает сам: состояние на секунду становится Refreshing from disk, дерево обновляется. - Экспорт переменных и стилей работает как обычно и записывает служебный файл Diff-ID прямо в папку.
- Переключение ветки в Git-клиенте плагин тоже заметит и перечитает файлы.
Workspace tools
Секция Workspace tools в окне Local Workspace видна, когда рабочая область активна; в Dev Mode её нет.
- Index library components, кнопка Index: в файле-библиотеке записывает в рабочую область имена и ключи её компонентов, чтобы композиции других файлов находили их по имени. См. Composition.
- Clean up Diff-ID, кнопка Clean up: убирает из Diff-ID записи о сгенерированных компонентах, которых больше нет в Figma, заменённых новой копией и тех, у кого нет JSON-композиции. То же действие есть в окне Export, см. Экспорт переменных и стилей. Когда Diff-ID больше 28 MiB, строка получает красную рамку, показывает размер и текст «Diff-ID is X MiB, above 28.0 MiB. Clean it up before it grows past what the Bridge and the plugin can store.» Это единственное место, где плагин предупреждает о размере Diff-ID.
Конфликт с черновиком
Если файл изменился на диске, а в редакторе плагина открыт этот же файл с несохранёнными правками, плагин не станет ничего перезаписывать и покажет баннер Local Workspace conflict со списком изменённых путей. Варианты:
- Discard Draft & Use Disk — отбросить черновик и загрузить версию с диска.
- Keep Editor — в текущей версии недоступно; скопируйте нужное из редактора, затем возьмите версию с диска.
Пока конфликт не разрешён, автоматическое обновление приостановлено, а переключение источника заблокировано.
Вернуться к Git или Plugin Local
Нажмите на чип профиля в футере. В меню есть Use Plugin Local и Use Git · имя подключения. Перед переключением на Git плагин проверяет подключение: если репозиторий недоступен из-за сети, переключение всё равно произойдёт, а если подключение настроено неверно, Local Workspace останется активным и плагин покажет причину. Тот же список профилей доступен из меню, когда активен Plugin Local или Git.

Меню источника при активном Local Workspace.
Переключение заблокировано, пока в редакторе есть несохранённый черновик: сохраните или отмените изменения.
Если что-то не работает
| Что видите | Что делать |
|---|---|
| Could not reach Local Workspace Bridge on this computer | Bridge не запущен или слушает другой порт. Запустите его и нажмите Re-test connection |
| Git root must be an exact absolute path | Укажите полный путь от корня диска, без ~ и без относительных частей |
| Unmanaged token path или Invalid JSON in … при активации | В папке токенов есть файл с ошибкой JSON или файл вне описанной структуры. Исправьте его в редакторе кода и активируйте профиль снова |
| Reload required в футере | Нажмите Reload в баннере или переактивируйте профиль |
| Local Workspace is currently read-only при сохранении | Сессия записи с Bridge не активна. Переактивируйте профиль |
| Профиль не активируется в Dev Mode | Local Workspace работает только в Design Mode |
См. также
Слишком большой Diff-ID
Bridge отдаёт плагину файлы рабочей области целиком, и у одного файла есть предел (64 MiB в Bridge 1.10.1 и новее). Если diff-id.<fileKey>.json вырос выше предела, рабочая область не открывается, а в списке профилей появляется сообщение «Diff-ID file … is above the Bridge limit» с кнопкой Compact Diff-ID. Это не Clean up Diff-ID из секции Workspace tools, а отдельное действие для файла, который ещё не открылся. Кнопка читает файл частями через Bridge 1.10.2 и новее, переписывает его тем же сериализатором, что и обычное сохранение, в компактную схему трекинга композиций (см. «Композиции»), проверяет результат обратным чтением и записывает поверх с проверкой ревизии, после чего профиль открывается заново. Переменные, стили, коллекции и компоненты в файле не меняются. На Bridge старее 1.10.2 сообщение попросит обновить Bridge: такой Bridge не умеет отдавать большой файл частями.