Skip to main content
Glama

你的 Claude Code 和 Codex CLI 配置分布在多台机器上——Windows、一台旧 Linux 笔记本、一台 Mac。bottari 让它们保持同步:它将你的技能、设置、会话历史和项目文件夹打包成加密捆绑包,存放在你自己的 Google Drive 上,每台机器都与之同步。只有加密数据才会离开你的电脑。

  • 并集合并,不删除任何内容。 任何一侧已有的内容始终保留。只有当同一文件在两台机器上都有修改时,才会询问你。

  • 版本历史。 每次同步都是一个世代;bottari restore 可以恢复任何较早的状态。

  • 端到端加密。 云端只保存一个明文文件(加密参数和一个包装密钥)。忘记密码就无法进入——没有后门。

  • 零依赖。 只需要 Node.js 20+,没有其他要求。

状态:0.1.0。 已在 Windows、Linux 和 macOS 上日常使用。早期版本——可能会有粗糙之处,在用它保存任何你无法丢失的内容之前,请阅读 SECURITY.md

安装

你需要 Node.js 20 或更高版本 和一个 Google 账户。用 node -v 检查 Node;如果缺失或版本过旧,请先安装(各操作系统说明见下文)。

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.mjsdist/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 MB 分块,追加自动合并

项目

你注册的文件夹

按名称共享,每台机器路径不同

凭据文件(.credentials.jsonauth.json 等)永远不会离开你的机器,并且在上传前会进行故障安全扫描,阻止任何看似凭据的内容。可重新生成的文件夹(node_modulesdist 等)和缓存会被排除。

Google 账户

构建中嵌入了一个作用域为 drive.file 的 OAuth 客户端——它只能看到此应用创建的文件,永远不会看到你 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 · 版权所有 (C) 2026 JUNG HWANGBO <dostevskii@gmail.com>

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

  • Connect Claude to Fathom meeting recordings, transcripts, and summaries

  • Edit your Overleaf LaTeX projects from Claude and ChatGPT; every change is a real Git commit.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dostevskii/bottari'

If you have feedback or need assistance with the MCP directory API, please join our Discord server