Bạn sẽ đồng bộ những gì?
Khi làm việc trên 2 máy, có 3 thứ cần "đi theo" bạn. Mỗi thứ đồng bộ bằng một con đường riêng — hiểu rõ chỗ này thì làm đâu trúng đó:
💻 Máy 1 (máy cũ)
~/.claude/memory🖥 Máy 2 (máy mới)
Chuẩn bị trước khi bắt đầu
Trên máy 2, bạn cần sẵn sàng các tài khoản và công cụ sau. Đăng nhập cùng tài khoản với máy 1 thì mọi thứ mới gặp nhau.
- ✅ Tài khoản Claude (Anthropic) — cùng email đang dùng ở máy 1.
- ✅ Tài khoản Obsidian có gói Obsidian Sync (~$4–5/tháng) — nếu chưa có, mua tại obsidian.md/sync.
- ✅ Homebrew + Node.js 18+ — nền để cài Claude Code (hướng dẫn ngay dưới).
- 🔶 NÂNG CAO Tài khoản GitHub + Google Drive (cùng email với máy 1).
Cài Homebrew & Node.js (nếu máy 2 chưa có)
# 1) Cài Homebrew (trình quản lý phần mềm cho Mac) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 2) Cài Node.js (kèm npm) brew install node # 3) Kiểm tra — cần Node v18 trở lên node -v npm -v
npm bên dưới chạy giống nhau trong PowerShell.Đưa Obsidian Vault về máy 2
Đây là phần quan trọng nhất với người làm note. Obsidian Sync sẽ tự kéo toàn bộ vault (note, wiki, tài liệu) từ máy 1 về máy 2 — không cần copy tay.
Cài Obsidian
Tải tại obsidian.md → cài như app bình thường. Mở lên, chọn "Sign in" và đăng nhập cùng tài khoản Obsidian với máy 1.
Bật Sync & kết nối vault từ xa
- Mở Settings (⚙️) → Sync.
- Bấm "Connect to a remote vault" (hoặc "Choose a vault to connect").
- Chọn đúng vault bạn đã sync ở máy 1 (ví dụ
Brain to Letandao). - Bật công tắc "Sync is on".
Chờ tải về xong
Góc dưới phải có biểu tượng sync quay. Vault lớn có thể mất vài phút. Khi báo "Fully synced" là xong — toàn bộ note đã nằm trên máy 2.
.git, node_modules, .secrets, .claude, và file > 5MB. Giữ Sync nhẹ, nhanh và an toàn.Cài & đăng nhập Claude Code
Claude Code là "trợ lý lập trình + trợ lý vận hành" chạy ngay trong Terminal. Cài một lệnh, đăng nhập một lần là dùng được.
Cài Claude Code
# Cách 1 — cài qua npm (khuyên dùng) npm install -g @anthropic-ai/claude-code # Kiểm tra cài thành công claude --version
Cách 2 (không cần Node): chạy curl -fsSL https://claude.ai/install.sh | bash để cài bản native.
Đăng nhập
Vào thư mục làm việc bất kỳ rồi gõ claude. Lần đầu nó sẽ hỏi đăng nhập:
cd ~/Documents
claude
# Trong Claude, gõ:
/login
Trình duyệt mở ra → đăng nhập cùng tài khoản Claude với máy 1 → quay lại Terminal là xong. Đăng nhập lưu theo máy, làm một lần duy nhất.
~/.claude/: memory (bộ nhớ dài hạn), projects (lịch sử phiên), settings (cấu hình). Phần NÂNG CAO bên dưới sẽ hướng dẫn đồng bộ memory để "bộ não AI" theo bạn sang máy 2.Kiểm tra: đã đồng bộ chưa?
Đến đây, với mức cơ bản bạn đã làm việc được 2 máy. Thử nhanh:
- ✅ Mở Obsidian máy 2 → thấy đủ note như máy 1.
- ✅ Sửa 1 note trên máy 1 → vài giây sau máy 2 cập nhật theo.
- ✅ Mở Terminal, gõ
claude→ trò chuyện được, không đòi đăng nhập lại.
Két sắt Git — lịch sử & tua ngược
Obsidian Sync giữ bản mới nhất, nhưng nếu lỡ xoá nhầm hay muốn xem "tháng trước file này thế nào" thì cần Git — một két sắt ghi lại mọi thay đổi, tự sao lưu lên GitHub mỗi tối.
Tạo SSH key trên máy 2 & gắn vào GitHub
SSH key giúp máy 2 đẩy/kéo code lên GitHub mà không cần gõ mật khẩu.
# Tạo key mới (đặt tên riêng để gọn gàng) ssh-keygen -t ed25519 -C "may2-cas" -f ~/.ssh/github-cas # In khoá công khai ra để copy cat ~/.ssh/github-cas.pub
Copy dòng vừa in → vào GitHub → Settings → SSH and GPG keys → New SSH key → dán vào → Save.
Khai báo key cho GitHub
# Tạo/sửa file ~/.ssh/config cat >> ~/.ssh/config <<'EOF' Host github.com HostName github.com User git IdentityFile ~/.ssh/github-cas EOF # Kiểm tra kết nối ssh -T git@github.com
Clone két sắt về máy 2
Két sắt chính là thư mục vault của bạn (đã được git init ở máy 1). Clone nó về:
cd ~/Documents git clone git@github.com:<tài-khoản>/<tên-repo>.git "Brain to Letandao"
git@github.com:ceoletandao/cas-brain.git, clone vào đúng tên Brain to Letandao để mọi đường dẫn khớp với máy 1.git init + git remote add origin … trong chính thư mục đó. Đừng tạo 2 thư mục khác nhau.
Tự động sao lưu mỗi tối (tuỳ chọn)
Đặt máy tự commit + push lúc 22:00 mỗi ngày để luôn có bản lưu. Trên Mac dùng launchd; nhờ Claude Code dựng giúp file ~/Library/LaunchAgents/com.you.autocommit.plist trỏ tới một script git nhỏ — chỉ mất 2 phút.
Đồng bộ "bộ não AI" qua Google Drive
Bộ nhớ dài hạn của Claude nằm ở ~/.claude/memory. Để nó theo bạn sang máy 2, ta đặt thư mục thật trên Google Drive rồi tạo symlink (liên kết tắt) trỏ tới — cả 2 máy cùng dùng một bộ nhớ.
Cài Google Drive cho máy 2
Tải Google Drive for Desktop → đăng nhập cùng email với máy 1. Với thư mục bộ nhớ, đặt chế độ "Available offline" (không stream) để Claude đọc/ghi tức thì.
Trỏ ~/.claude/memory về Drive
Giả sử bộ nhớ thật để ở My Drive/claude-cas/memory. Trên máy 2:
# Sao lưu thư mục memory cũ (nếu có) cho chắc mv ~/.claude/memory ~/.claude/memory.bak 2>/dev/null # Tạo symlink trỏ tới bộ nhớ trên Drive ln -s "$HOME/Library/CloudStorage/GoogleDrive-<email>/My Drive/claude-cas/memory" ~/.claude/memory # Kiểm tra ls -la ~/.claude/memory
settings.local.json và lịch sử projects/ mang tính từng-máy. Đồng bộ chúng dễ gây xung đột. Chỉ đưa memory (và phần agents/skills dùng chung) lên Drive.Mang Secrets sang máy 2 — đúng cách
Secrets là API key, token, mật khẩu (thường trong .secrets/, .env). Đây là phần dễ sai nhất và nguy hiểm nhất.
- KHÔNG paste key/token vào khung chat với bất kỳ AI nào (kể cả Claude).
- KHÔNG để secrets lên cloud dùng chung (Obsidian Sync, Drive chung, Notes). Phải
.gitignore+ loại khỏi Sync. - Chuyển secrets giữa 2 máy bằng tay: AirDrop, USB, hoặc password manager (1Password/Bitwarden).
Cách chuyển an toàn
- AirDrop (2 máy Mac): gửi thẳng thư mục
.secrets/sang máy 2, đặt vào đúng vị trí. - Sau khi đặt xong, khoá quyền lại:
chmod 600 .secrets/* - Nếu cần dán giá trị key vào file mà không hiện ra màn hình, dùng lệnh ẩn input:
read -s -p "Dán credential rồi Enter: " S \ && sed -i '' "s|^FIELD=.*|FIELD=$S|" .secrets/file.env \ && unset S && echo "✅ Đã lưu"
.secrets/ và khởi động lại dịch vụ đang dùng.Quy trình làm việc 2 máy hằng ngày
Có 2 máy rồi, giữ một thói quen nhỏ này là không bao giờ xung đột hay mất việc:
🌅 Khi bắt đầu (máy nào cũng vậy)
- Mở Obsidian → chờ báo "Fully synced".
- PRO Vào thư mục dự án chạy
git pullđể lấy bản mới nhất. - Mở Drive → chờ icon bộ nhớ sync xong rồi mới mở Claude.
🌙 Khi kết thúc
- Lưu hết note → để Obsidian sync xong mới đóng máy.
- PRO
git add -A && git commit -m "..." && git push(hoặc để auto-commit 22:00 lo). - Để Drive sync nốt bộ nhớ AI.
Checklist đổi máy (bấm để tick)
- ✓Obsidian đã cài + đăng nhập tài khoản
- ✓Obsidian Sync bật, vault báo "Fully synced"
- ✓Selective sync đã loại trừ
.git / .secrets / .claude / node_modules - ✓Node.js 18+ đã cài (
node -vchạy được) - ✓Claude Code đã cài +
/loginthành công - ✓PRO SSH key đã gắn vào GitHub,
ssh -T git@github.comOK - ✓PRO Đã
git clonekét sắt về đúng tên thư mục - ✓PRO Google Drive đã cài,
~/.claude/memorysymlink về Drive - ✓SEC Secrets đã chuyển tay an toàn +
chmod 600 - ✓Đã test: sửa note máy 1 → máy 2 cập nhật;
claudechạy không đòi login
Lỗi thường gặp
Obsidian báo xung đột (conflict) một file
Gõ claude báo "command not found"
npm config get prefix để biết đường dẫn, rồi thêm .../bin vào PATH trong ~/.zshrc. Hoặc cài lại bằng bản native: curl -fsSL https://claude.ai/install.sh | bash.npm báo lỗi quyền (EACCES) khi cài global
sudo. Đặt lại thư mục global về home: npm config set prefix ~/.npm-global rồi thêm ~/.npm-global/bin vào PATH. Với wrangler/cache, có thể set npm_config_cache="$PWD/.npmcache" ngay trước lệnh.GitHub báo "Permission denied (publickey)"
~/.ssh/config chưa trỏ đúng IdentityFile. Chạy lại ssh -T git@github.com để xem báo lỗi, kiểm tra đã dán đúng file .pub vào GitHub chưa.Claude không nhớ gì như ở máy 1
~/.claude/memory chưa được nối. Kiểm tra symlink (ls -la ~/.claude/memory phải trỏ tới Drive) và Drive đã sync xong thư mục đó chưa.