- Cài 3 AI CLI cùng VPS: Claude Code (Anthropic), Codex CLI (OpenAI), Gemini CLI (Google).
- Tmux chia 3 pane, mỗi pane chạy 1 CLI để so sánh kết quả side-by-side.
- Tách credential bằng env file riêng, không conflict API key.
- VPS 4GB đủ chạy cả 3, mỗi CLI chiếm ~200MB Node.js process.
- Dùng song song để chọn output tốt nhất, hoặc chia task theo strength của từng model.
Năm 2026, dev có quá nhiều lựa chọn AI coding assistant: Claude Code (Anthropic), Codex CLI (OpenAI), Gemini CLI (Google). Mỗi cái có strength riêng: Claude thiên về long context và refactor, Codex thiên về algorithm, Gemini thiên về vision + multimodal. Cài cả 3 trên cùng VPS, dùng song song qua tmux là cách pro vibe coder VN tăng năng suất.
VPS làm headless dev environment có lợi thế lớn: code khi không có laptop, share session với team, không lo máy local hết pin lúc giữa task. Self-host trên Cloud VPS 4GB là vừa đủ chạy 3 CLI cùng lúc + tmux session 24/7.
Bài này hướng dẫn cài đủ 3 CLI, setup tmux layout, tách credentials, dùng song song để so sánh output. Test trên Cloud VPS TND 4GB Ubuntu 24.04.
1. Yêu cầu VPS và OS
- VPS RAM 4GB+ (mỗi CLI ăn 150-300MB Node).
- Ubuntu 22.04/24.04 hoặc Debian 12 (nhiều npm package nhất).
- Node.js 20+ và Python 3.11+.
- Tmux 3.x.
- API key 3 nhà: ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY.
2. Cài Node.js và npm globally
# NodeSource Ubuntu
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt install -y nodejs
node -v # v20.x
npm -v3. Cài Claude Code CLI
npm install -g @anthropic-ai/claude-code
# Verify
claude --version
# Cấu hình API key
mkdir -p ~/.claude
echo 'export ANTHROPIC_API_KEY=sk-ant-xxx' >> ~/.bashrc
source ~/.bashrc
# Test
cd ~/test-project
claude4. Cài OpenAI Codex CLI
npm install -g @openai/codex
# Verify
codex --version
# Cấu hình API key
echo 'export OPENAI_API_KEY=sk-xxx' >> ~/.bashrc
source ~/.bashrc
# Test
codex "Write a fibonacci function in Python"5. Cài Gemini CLI
npm install -g @google/gemini-cli
# Verify
gemini --version
# Cấu hình
mkdir -p ~/.gemini
echo 'export GEMINI_API_KEY=AIza-xxx' >> ~/.bashrc
source ~/.bashrc
# Test
gemini chat "Explain async/await in JavaScript"6. Cài tmux và setup layout 3 pane
sudo apt install -y tmux
# Tạo script start session
cat > ~/ai-cli.sh <<'SH'
#!/bin/bash
SESSION="ai-cli"
tmux new-session -d -s $SESSION -n main
# Pane 1: Claude (left, top)
tmux send-keys -t $SESSION:main "cd ~/projects/myapp && claude" C-m
# Split horizontal -> pane 2: Codex
tmux split-window -t $SESSION:main -h
tmux send-keys -t $SESSION:main "cd ~/projects/myapp && codex" C-m
# Split vertical pane 2 -> pane 3: Gemini
tmux split-window -t $SESSION:main -v
tmux send-keys -t $SESSION:main "cd ~/projects/myapp && gemini chat" C-m
# Select layout tiled
tmux select-layout -t $SESSION:main tiled
tmux attach -t $SESSION
SH
chmod +x ~/ai-cli.sh
~/ai-cli.shSau khi chạy, tmux mở session với 3 pane song song. Mỗi pane là 1 AI CLI sẵn sàng nhận prompt.
7. Tách credential per project
Nếu chạy nhiều project khác account, đừng dump key vào ~/.bashrc. Dùng direnv per folder:
sudo apt install -y direnv
echo 'eval "$(direnv hook bash)"' >> ~/.bashrc
# /var/projects/client-a/.envrc
export ANTHROPIC_API_KEY=sk-ant-client-a
export OPENAI_API_KEY=sk-client-a
export GEMINI_API_KEY=AIza-client-a
# /var/projects/personal/.envrc
export ANTHROPIC_API_KEY=sk-ant-personal
export OPENAI_API_KEY=sk-personal
export GEMINI_API_KEY=AIza-personal
# Authorize
cd /var/projects/client-a
direnv allowKhi cd vào folder, direnv tự load env riêng. CLI tự pick key đúng theo project.
8. So sánh strength từng CLI
| Tiêu chí | Claude Code | Codex CLI | Gemini CLI |
|---|---|---|---|
| Long context | 1M token (Opus 4.7) | 200K token | 1M token (Pro) |
| Code quality | Rất cao | Cao | Tốt |
| Refactor lớn | Mạnh nhất | OK | Trung bình |
| Algorithm | Tốt | Mạnh nhất | Tốt |
| Vision/multimodal | Có (screenshot) | Hạn chế | Mạnh nhất |
| Tool use / MCP | Full MCP support | Có function calling | Có |
| Pricing $/M token | ~3-15 USD | ~2-10 USD | ~0.5-7 USD |
| Speed (tokens/s) | 50-80 | 60-100 | 80-150 |
9. Workflow: phân task theo model strength
- Claude: refactor module lớn, viết spec dài, đọc 50+ file để hiểu codebase, code review.
- Codex: giải thuật toán, optimize SQL query, viết function thuần.
- Gemini: phân tích screenshot UI bug, generate code từ design mockup, OCR từ ảnh.
Workflow thực tế: dùng Gemini phân tích screenshot Figma -> Claude viết code component -> Codex optimize function logic.
10. Persistent session 24/7 với tmux
# Tạo systemd service tmux always-on
cat > /etc/systemd/system/tmux-ai.service <<'UNIT'
[Unit]
Description=Tmux AI CLI session
After=network.target
[Service]
Type=forking
User=dev
WorkingDirectory=/home/dev
ExecStart=/usr/bin/tmux new-session -d -s ai-cli /home/dev/ai-cli.sh
ExecStop=/usr/bin/tmux kill-session -t ai-cli
Restart=on-failure
[Install]
WantedBy=multi-user.target
UNIT
sudo systemctl daemon-reload
sudo systemctl enable --now tmux-ai
# Attach khi ssh vào
ssh dev@vps
tmux attach -t ai-cli11. Tối ưu RAM khi chạy 3 CLI
- Đóng CLI không dùng - mỗi cái ăn 200-300MB Node memory.
- Set NODE_OPTIONS=--max-old-space-size=256 để giới hạn.
- Bật swap 2GB cứu cánh khi peak (dù chậm hơn RAM).
- Disable telemetry: ANONYMIZED_TELEMETRY=false giảm 20MB.
12. Backup config và history
# Daily backup
tar -czf /tmp/ai-cli-backup-$(date +%F).tar.gz
~/.claude ~/.codex ~/.gemini ~/.bashrc ~/.envrc
# Upload S3
rclone copy /tmp/ai-cli-backup-*.tar.gz r2:my-bucket/ai-cli/
# Sync code project song song
rsync -avz ~/projects/ remote-backup:/backup/ai-projects/VPS 4GB chạy 3 AI CLI song song - dev anywhere không cần laptop
Cloud VPS TND sẵn AlmaLinux 9, Ubuntu 22/24, Debian 12/13. SSD CEPH, snapshot 1-click, backup hằng ngày, network 200Mbps trong nước. Tmux 24/7 không lo mất session khi mất mạng.
Xem 8 cấu hình Cloud VPS →FAQ
3 CLI có conflict với nhau không?
Không. Mỗi CLI là Node process độc lập, lưu config trong thư mục riêng (~/.claude, ~/.codex, ~/.gemini). Chỉ cần tách API key bằng env var khác tên.
VPS 2GB chạy được 3 CLI không?
Khó. Mỗi CLI Node ăn 200-300MB. 3 CLI cùng lúc = 600-900MB + OS + tmux. Còn dưới 1GB cho code + build. Nên upgrade lên 4GB.
Dùng tmux session từ điện thoại được không?
Được. SSH vào VPS bằng Termius (iOS/Android), attach tmux session. Bàn phím nhỏ thì gửi prompt ngắn, đọc output trên screen.
Có cách nào không phải đăng nhập lại API key sau khi VPS restart không?
Đặt API key trong /etc/environment hoặc systemd service Environment. Khi VPS boot, env var có sẵn cho mọi user, không cần source ~/.bashrc.
CLI nào tốt nhất cho dev VN 2026?
Phụ thuộc task: Claude cho refactor lớn, Codex cho algorithm, Gemini cho phân tích design/screenshot. Dùng song song mới tận dụng được hết. Đừng chọn 1 cái cố định.
Có thể chạy CLI trong Docker container không?
Được. Tạo Dockerfile FROM node:20, cài 3 CLI, mount workdir. Lợi: isolated environment. Hại: thêm overhead 50-100MB per container.
- Cấu hình MCP server cho Codex CLI: kết nối Postgres, GitHub, Slack từ VPS
- Headless Codex CLI trên VPS: chạy GPT-5 task qua đêm cho dev solo
- OpenAI Codex CLI vs Claude Code: dev VN chọn cái nào năm 2026
- Codex CLI Free vs Plus vs Pro vs Business 2026: chọn tier nào cho dev VN
- GPT-5 Codex vs GPT-5 Standard cho coding task: khi nào dùng cái nào
- Headless OpenAI Codex CLI trên VPS: workflow chạy task qua đêm cho dev solo



