Skip to main content
Glama

Ваша настройка Claude Code и Codex CLI живёт на нескольких машинах — Windows, старый Linux-ноутбук, Mac. bottari держит их в синхроне: он упаковывает ваши навыки, настройки, историю сессий и папки проектов в зашифрованный бандл на вашем собственном Google Drive, и каждая машина синхронизируется с ним. Только зашифрованные данные покидают ваш компьютер.

  • Объединение (union merge), ничего не удаляется. То, что существует на одной стороне, всегда сохраняется. Вас спрашивают только тогда, когда один и тот же файл изменён на двух машинах.

  • История версий. Каждая синхронизация — это поколение; bottari restore возвращает любое более раннее состояние.

  • Сквозное шифрование. В облаке хранится один файл в открытом виде (параметры шифрования и обёрнутый ключ). Забыли пароль — и пути назад нет — никакой чёрной двери не существует.

  • Ноль зависимостей. Node.js 20+ и ничего больше.

Статус: 0.1.0. Ежедневно используется на Windows, Linux и macOS. Ранняя версия — ожидайте шероховатостей и прочитайте SECURITY.md, прежде чем доверять ей то, что нельзя потерять.

Установка

Вам нужен Node.js 20 или новее и учётная запись Google. Проверьте Node командой node -v; если он отсутствует или старее, установите его сначала (ниже для каждой ОС).

Windows

# 1) Node — skip if `node -v` already prints v20+
winget install OpenJS.NodeJS.LTS

# 2) get bottari (pick one)
git clone https://github.com/dostevskii/bottari.git
#   or: download the ZIP from the green "Code" button and unzip it
cd bottari
npm link          # makes `bottari` available everywhere (optional)

macOS

# 1) Node — skip if `node -v` already prints v20+
#    with Homebrew:
brew install node
#    or download the LTS .pkg from https://nodejs.org

# 2) get bottari
git clone https://github.com/dostevskii/bottari.git
cd bottari
npm link          # optional; or run `node bin/bottari.mjs` directly

Linux

# 1) Node 20+ — use your distro (examples)
#    Arch:   sudo pacman -S nodejs npm
#    Debian/Ubuntu: sudo apt install nodejs npm   (check: node -v ≥ v20)
#    Fedora: sudo dnf install nodejs
# 2) get bottari
git clone https://github.com/dostevskii/bottari.git
cd bottari
# A desktop keyring (gnome-keyring + libsecret) is recommended so the
# sign-in is stored securely; without one, bottari falls back to a 0600
# file and warns.

Related MCP server: Ultimate Google Docs & Drive MCP Server

Первый запуск

На машине, где больше всего данных (обычно на основной), выполните:

bottari init --remember-key
  • Он выполняет вход в Google в браузере и просит задать пароль.

  • Запомните этот пароль. Он блокирует весь бандл и не может быть восстановлен.

  • --remember-key сохраняет ключ в хранилище учётных данных вашей ОС, чтобы вас больше не спрашивали — и чтобы расширение Claude Desktop могло работать без него.

На каждой другой машине выполните ту же команду: bottari загружает бандл, объединяет его с этой машиной (сохраняя всё уникальное для каждой) и загружает результат.

После этого в повседневной работе достаточно просто:

bottari sync

Команды

bottari sync

синхронизация (--dry-run для предпросмотра)

bottari status

показать, что будет загружено или скачано, ничего не меняя

bottari restore --generation N

вернуть файлы к более ранней версии

bottari generations

список версий в облаке

bottari doctor

диагностика окружения и хранилища

bottari prune --keep N

освободить место от старых поколений

bottari projects add <path>

добавить папку проекта в синхронизацию

bottari tools capture / show

записать и сравнить установленные инструменты

bottari secrets set <name>

заполнить секрет, который был вынесен из конфигурации

bottari secrets sync --enable

переносить MCP-токены в бандле тоже (по умолчанию выключено — см. SECURITY.md)

bottari login / logout

вход / выход из Google Drive

Claude Desktop (MCP)

bottari поставляется с MCP-сервером, чтобы Claude мог управлять им из десктопного приложения.

  1. Соберите бандл: node scripts/build-mcpb.mjs → dist/bottari.mcpb

  2. Claude Desktop → Настройки → Расширения → перетащите bottari.mcpb внутрь.

После того как вы один раз выполнили bottari sync --remember-key в терминале (чтобы ключ был сохранён), просто попросите Claude: "проверь мой статус bottari" или "синхронизируй bottari". Конфликты возвращаются списком; вы выбираете, и следующая синхронизация применяет его.

Что синхронизируется

пример

как

ресурсы

skills, CLAUDE.md, AGENTS.md, hooks

как есть

настройки

settings.json, config.toml, MCP-серверы

только в машинно-нейтральной форме; пути становятся плейсхолдерами, секреты переносятся в хранилище учётных данных ОС

история сессий

диалоговые .jsonl

чанки по 8 МБ, добавления автоматически объединяются

проекты

папки, которые вы регистрируете

общие по имени, путь свой для каждой машины

Файлы учётных данных (.credentials.json, auth.json, …) никогда не покидают вашу машину, а сканирование с отказом по умолчанию блокирует любой контент, похожий на учётные данные, перед загрузкой. Папки, которые можно пересоздать (node_modules, dist, …), и кэши исключаются.

Учётная запись Google

В сборку встроен OAuth-клиент с областью drive.file — он видит только файлы, созданные этим приложением, и никогда не видит остальной ваш Drive. Любая учётная запись Google может войти. Поскольку приложение не прошло проверку Google (которая для drive.file не требуется), браузер один раз показывает уведомление «непроверенное приложение»; Дополнительно → продолжить продолжает работу.

Как и в любом установленном приложении, встроенный клиент не является секретом (RFC 8252 §8.5) — он идентифицирует bottari, а не вас. Если вы форкаете и распространяете, зарегистрируйте собственный клиент и задайте BOTTARI_CLIENT_ID / BOTTARI_CLIENT_SECRET.

Безопасность

Дизайн и модель угроз: SECURITY.md. Сама модель синхронизации определена в docs/SYNC-MODEL.md.

Лицензия

GPL-3.0-only · Copyright (C) 2026 JUNG HWANGBO <dostevskii@gmail.com>

Related MCP Connectors

Related MCP Servers