← Назад в блог

Arc закрывают. Я забрал из него боковую панель и унёс в Chrome

22 декабря 2026 года Arc перестанет запускаться. Не «останется без обновлений», а именно перестанет работать: The Browser Company объявила об этом 22 октября и отправила всех в Dia, свой ИИ-браузер.

Мне в Arc был нужен не ИИ. Мне была нужна боковая панель: Spaces, в каждом свои папки и закреплённые вкладки, и каждая закладка открывается в своей вкладке, а не плодит десятую копию Jira. За несколько лет там накопилось 10 Spaces и 834 закреплённые вкладки. Закладки Chrome за это же время не изменились никак.

За вечер я собрал расширение, которое возвращает эту панель в Chrome. Код открыт: github.com/kirsantov/spacessidebar. Ниже — что оказалось простым, что нет, и где расширение упирается в стенку браузера.

Панель: это уже есть в Chrome

Отдельного окна или хака с content script не понадобилось. В Chrome есть Side Panel API: расширение объявляет в манифесте side_panel.default_path, и обычная HTML-страница живёт сбоку от любой вкладки. Так открываются боковые панели кошельков и переводчиков.

Внутри — страница без сборки и фреймворков: один JS-файл с состоянием, дерево папок, drag-and-drop. Состояние лежит в chrome.storage.local, наружу не уходит ничего.

Закладка, которая помнит свою вкладку

Главное отличие закреплённой вкладки Arc от закладки — она не открывает новую вкладку каждый раз. Клик открыл страницу, следующий клик вернул в ту же вкладку.

Делается это таблицей «закладка → id вкладки». Клик по закладке: если её вкладка жива, переключаемся на неё; если нет, ищем в окне вкладку с тем же адресом; не нашли — открываем новую и запоминаем. Таблица хранится в chrome.storage.session и умирает вместе с сессией браузера, потому что id вкладок после перезапуска другие.

Это и есть первое честное ограничение: после перезапуска закладка узнаёт свою вкладку только по точному совпадению адреса. Arc владел вкладками сам и мог держать их сколько угодно. Расширение вкладками не владеет, оно только смотрит на них через chrome.tabs.

Spaces поверх чужой полосы вкладок

Вторая стенка: полосу вкладок Chrome расширение спрятать не может. В Arc переключение Space меняло весь набор вкладок. Здесь панель переключается, а наверху всё те же сорок вкладок.

Обходной путь нашёлся в группах вкладок. В режиме «вкладки по Spaces» у каждого Space своя группа, названная и покрашенная как он. Переключился — группа этого Space развернулась, остальные свернулись. Кликнул по вкладке из чужой группы — панель сама перешла в её Space. Перетащил вкладку в другую группу руками — расширение считает, что она переехала. Это не Arc, но полоса вкладок перестаёт быть свалкой.

Режим выключен по умолчанию: расширение, которое без спроса перекладывает вкладки по группам, я бы сам удалил.

Импорт: формат простой, доступ к файлу — нет

Arc хранит панель в одном файле, StorableSidebar.json, в ~/Library/Application Support/Arc. Формат своеобразный, но читаемый:

  • sidebar.containers — массив, нужный контейнер тот, в котором есть spaces и items;
  • spaces и items — плоские массивы, где строки-идентификаторы чередуются с объектами;
  • у Space в newContainerIDs лежит пара «маркер pinned, затем id контейнера» — это корень его закреплённых вкладок;
  • дальше обычное дерево через childrenIds: у вкладки в data.tab есть savedURL и savedTitle, у папки — data.list.

Мой файл — 4,6 МБ и 2136 элементов. Разбор занимает меньше сотни строк.

Сложность в другом. Расширение из магазина не может прочитать файл по пути: песочница. Вариант с native messaging host означал бы «установите ещё программу», и ради одного импорта это перебор. Поэтому остался один ручной шаг: файл надо перетащить на панель. Пустая панель сама показывает путь и команду open -R, которая подсвечивает файл в Finder. Пользователи Arc в основном разработчики, одна команда в терминале их не остановит.

Что пошло не так

Две вещи, обе мои.

Первая версия импорта у меня не сработала, и расширение об этом промолчало. Парсер был ни при чём: на том же файле вне браузера он отрабатывал. Я до этого проверял логику на заглушке Chrome API, а не в Chrome. После этого импорт проверяется в настоящем браузере на настоящем файле, любая ошибка показывается на экране, а если формат не распознан, расширение отдаёт диагностику — только структуру файла, без ссылок и названий.

Вторая — иконки. Иконки Spaces в Arc — это имена вроде star или construction, и первая версия заменила их на эмодзи. Я эмодзи не выношу. Теперь там набор штриховых SVG, а имена Arc мапятся на него.

Чего нет

  • Синхронизации между устройствами. Есть экспорт и импорт JSON.
  • Незакреплённых вкладок из Today и тем Arc: я их не переносил намеренно.
  • Split View: такие вкладки приезжают обычными закладками.

Итог

Arc показал, что браузером можно пользоваться иначе. Но панель с закладками — не та вещь, ради которой нужен отдельный браузер. Она помещается в расширение примерно на тысячу строк без единой зависимости.

Если вы тоже переезжаете до 22 декабря — скопируйте StorableSidebar.json сейчас, пока Arc запускается: проверить импорт проще, когда оригинал ещё открыт рядом.

Эта статья создана в гибридном формате человек + ИИ. Я задаю направление и тезисы, ИИ помогает с текстом, я редактирую и проверяю. Ответственность за содержание — моя.

← Назад в блог