
字节笔记本
2026年10月24日 · 约 24 分钟读完
把 AI Agent 从本地搬到 VPS:最值的 10 倍开发升级
很多人用 AI Agent(Claude Code / Codex / Cursor)开发,都跑在本地 Mac 上。但你有没有发现,Mac 越来越扛不住了。
J J(@jturntdev)做了一件事:把所有 Agent 从本地 Mac 搬到 Linux VPS。 他称这是"最大的 10 倍开发升级之一"。113 赞、30 条回复,很多人跟着讨论。
这篇文章把他的方法扩展成完整的操作指南,为什么要搬、怎么选 VPS、怎么配置、怎么迁移工作流、怎么日常使用。每一步都有具体命令。

一、为什么要搬到 VPS
痛点:Mac 扛不住了
如果你同时开多个 worktree + 多个 Claude Code 会话 + 跑 API + 开发服务器,Mac 风扇狂转、内存爆满、电池狂掉。
| 场景 | 本地 Mac 的痛苦 |
|---|---|
| 3 个 worktree 同时跑 | 内存占用 16GB+,开始卡 |
| Codex + Claude Code 并行 | CPU 100%,风扇起飞 |
| 跑测试套件 + 开发服务器 | 电池半小时掉一半 |
| AI Agent 整夜跑 | 合盖就断,第二天从头来 |
| 编译大项目 | Mac 发热,其他操作卡顿 |
VPS 的五大优势
1. 性能,Mac 只当显示器
所有计算和 IO 都在 VPS 上跑。你的 Mac 只负责 SSH 连接 + 显示终端。Mac 不再发热、不卡、电池持久。
2. 成本,比买 Mac 便宜 10 倍
| 买新 Mac | 租 VPS | |
|---|---|---|
| 一次性成本 | £3000+(M4 Max 32GB) | $0 |
| 月费 | $0 | $40-80/月 |
| 升级 | 换机器(又是 £3000) | 一键升级配置 |
| 折旧 | 2-3 年过时 | 永远最新 |
12 核 AMD vCPU / 24GB RAM 的 VPS 约 $40-60/月,够跑多个 Agent 会话 + 构建 + API + tmux。比买 Mac 便宜太多。
3. 持久性,关了 Mac,Agent 继续跑
tmux + SSH = Mac 合盖/关机/断网,VPS 上的 Agent 继续跑。第二天打开 SSH,结果出来了。这是本地做不到的。
4. 干净的工作流,职责分离
Mac → SSH / 远程显示(只看结果)
VPS → Codex / Claude / 构建 / 测试 / API(所有计算)
tmux → 管理 Agent 会话(一个窗口管多个 Agent)
GitHub → 源代码仓库(source of truth)
生产环境 → 独立的受保护部署目标每层职责清晰,Mac 不碰代码,VPS 不碰生产,GitHub 是唯一真相源。
5. 弹性扩展
要跑更多 Agent?VPS 一键升级配置。要跑 GPU 任务?换 GPU VPS。不用换机器,不用等发货。

二、怎么选 VPS
配置推荐
| 级别 | 配置 | 价格(月费) | 适合 |
|---|---|---|---|
| 入门 | 4 vCPU / 8GB RAM | $10-20 | 单 Agent + 小项目 |
| 推荐 | 8-12 vCPU / 16-24GB RAM | $30-60 | 多 Agent 并行 + 中型项目 |
| 重型 | 16+ vCPU / 32GB+ RAM | $80-150 | 大项目 + 多个 worktree + CI |
| GPU | 8 vCPU + RTX A4000 | $100+ | 跑模型推理/训练 |
VPS 供应商对比
| 供应商 | 优势 | 劣势 | 价格 |
|---|---|---|---|
| Hetzner | 性价比最高,AMD EPYC | 欧洲延迟(200-300ms 到中国) | CPX31(8核/16G)≈ €22/月 |
| DigitalOcean | 全球节点,稳定 | 贵 | 8核/16G ≈ $96/月 |
| Vultr | 高频 CPU,东京节点 | 中等 | 8核/16G ≈ $96/月 |
| AWS Lightsail | 可靠 | 最贵 | 8核/16G ≈ $120/月 |
| Oracle Cloud Free | 免费(4核/24G ARM) | 难抢,性能不稳定 | $0 |
| 国内云 | 低延迟 | 需备案,合规复杂 | 看厂商 |
推荐,Hetzner CPX31 或 CPX41。性价比碾压。中国到欧洲延迟 200-300ms,但 SSH 终端不是实时交互,延迟可接受。
区域选择
如果你在中国:
- 延迟最低:东京/首尔(Vultr 东京、DigitalOcean 东京)
- 性价比最高:欧洲(Hetzner 德国/芬兰),延迟高但便宜
- 折中:新加坡
SSH 不在乎延迟(不像游戏),200-300ms 完全可用。
三、VPS 初始配置(从零开始)
第 1 步:创建 VPS
以 Hetzner 为例(其他类似):
- 注册 console.hetzner.cloud
- 创建 Server → 选 CPX31(8 AMD vCPU / 16 GB RAM)
- 选 Ubuntu 24.04
- 添加 SSH Key
- 创建
第 2 步:首次 SSH 连接
# 用你的 VPS IP 替换
ssh root@<你的VPS_IP>
# 更新系统
apt update && apt upgrade -y
# 安装基础工具
apt install -y git curl wget build-essential unzip tmux htop第 3 步:创建非 root 用户(安全)
# 创建用户
adduser dev
usermod -aG sudo dev
# 配置 SSH Key(把你的 Mac 公钥复制过去)
mkdir -p /home/dev/.ssh
cp ~/.ssh/authorized_keys /home/dev/.ssh/
chown -R dev:dev /home/dev/.ssh
chmod 700 /home/dev/.ssh
chmod 600 /home/dev/.ssh/authorized_keys
# 切换到 dev 用户
su - dev
# 测试 sudo
sudo whoami # 应该输出 root第 4 步:禁止 root SSH 登录(安全加固)
sudo nano /etc/ssh/sshd_config
# 修改这两行:
PermitRootLogin no
PasswordAuthentication no
# 重启 SSH
sudo systemctl restart sshd第 5 步:配置 SSH 别名(Mac 侧)
在 Mac 上编辑 ~/.ssh/config:
Host vps
HostName <你的VPS_IP>
User dev
IdentityFile ~/.ssh/id_rsa
ServerAliveInterval 60
ServerAliveCountMax 3现在一条命令连接:
ssh vps四、在 VPS 上安装开发环境
安装 Node.js
# 用 nvm 管理版本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22
node -v # v22.x安装 Go(如果用 Go)
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
source ~/.bashrc
go version安装 Python(如果用 Python)
sudo apt install -y python3 python3-pip python3-venv
python3 --version # 3.12+安装 Rust(如果用 Rust)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env
rustc --version安装 Docker(可选,用于沙箱)
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 重新登录生效五、安装 AI Agent 工具
Claude Code
# 安装 Node.js 版 Claude Code
npm install -g @anthropic-ai/claude-code
# 配置 API Key
export ANTHROPIC_API_KEY="sk-ant-xxx"
# 持久化
echo 'export ANTHROPIC_API_KEY="sk-ant-xxx"' >> ~/.bashrc
# 测试
claude --versionCodex CLI
# 安装 Codex
npm install -g @openai/codex
# 配置
export OPENAI_API_KEY="sk-xxx"
echo 'export OPENAI_API_KEY="sk-xxx"' >> ~/.bashrc
codex --version用 DeepSeek/Glm 替代(省钱)
# DeepSeek
export OPENAI_API_KEY="你的deepseek_key"
export OPENAI_BASE_URL="https://api.deepseek.com/v1"
echo 'export OPENAI_BASE_URL="https://api.deepseek.com/v1"' >> ~/.bashrc六、tmux 多会话管理(核心)
tmux 是整个工作流的心脏,一个终端窗口管理多个 Agent 会话,断开 SSH 会话不丢失。
tmux 基础配置
# 创建配置文件
cat > ~/.tmux.conf << 'EOF'
# 设置前缀键为 Ctrl+a(更顺手)
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# 开启鼠标
set -g mouse on
# 窗口编号从 1 开始
set -g base-index 1
setw -g pane-base-index 1
# 分屏快捷键
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# 256 色
set -g default-terminal "screen-256color"
# 历史记录
set -g history-limit 50000
# 状态栏
set -g status-style bg=default,fg=white
set -g status-left "#[fg=green]#S "
set -g status-right "#[fg=cyan]%Y-%m-%d %H:%M "
EOF
# 重载配置
tmux source ~/.tmux.conftmux 日常用法
# 创建新会话
tmux new -s project1
# 在会话里:
# Ctrl+a | → 左右分屏
# Ctrl+a - → 上下分屏
# Ctrl+a d → 脱离(会话继续跑)
# Ctrl+a c → 新窗口
# Ctrl+a 1/2/3 → 切窗口
# 列出所有会话
tmux ls
# 重新连上会话
tmux attach -t project1
# 关闭会话
tmux kill-session -t project1实际布局(多 Agent 并行)
tmux 会话: my-project
├── 窗口 1: claude-code(主 Agent 写代码)
├── 窗口 2: codex(跑测试/构建)
├── 窗口 3: git log(看提交历史)
└── 窗口 4: dev-server(跑开发服务器)SSH 断开 → tmux 会话继续跑。Mac 合盖 → tmux 会话继续跑。 第二天 ssh vps + tmux attach,一切都在。
七、迁移你的项目
方式一:Git Clone(推荐)
# 在 VPS 上
cd ~/
mkdir projects && cd projects
# 克隆你的项目
git clone git@github.com:yourname/your-project.git
cd your-project
# 安装依赖
npm install # 或 go mod download / pip install -r requirements.txt
# 跑
claude # 启动 Claude Code方式二:rsync 同步(迁移未推送的改动)
# 在 Mac 上执行
rsync -avz --exclude node_modules --exclude .git \
~/projects/my-project/ \
dev@<VPS_IP>:~/projects/my-project/方式三:Git worktree(多分支并行)
# 在 VPS 上
cd ~/projects/my-project
# 创建 worktree 做不同任务
git worktree add ../my-project-feature-x feature-x
git worktree add ../my-project-bugfix bugfix-123
# 每个 worktree 开一个 tmux 窗口
tmux new -s feature-x -d "cd ../my-project-feature-x && claude"
tmux new -s bugfix -d "cd ../my-project-bugfix && claude"八、日常使用工作流
早上:连接 + 检查
# 1. SSH 连接
ssh vps
# 2. 看 tmux 会话(昨晚跑的还在不在)
tmux ls
# 3. 连上昨天的会话
tmux attach -t my-project
# 4. 看 Agent 昨晚干了什么
# Claude Code 的对话历史在 ~/.claude/ 里白天:多 Agent 并行
# 窗口 1:Claude Code 写代码
tmux new-window -t my-project
claude
# 窗口 2:跑测试
tmux new-window -t my-project
npm test -- --watch
# 窗口 3:开发服务器
tmux new-window -t my-project
npm run dev晚上:提交 + 睡觉
# 提交代码
git add -A
git commit -m "feat: xxx"
git push
# 脱离 tmux(不关闭)
# 按 Ctrl+a 然后按 d
# 关 Mac 走人
# VPS 上的 tmux 继续跑九、可选增强
VS Code Remote SSH
不只终端,VS Code 也能远程连 VPS:
- 装 VS Code 的 "Remote - SSH" 扩展
Cmd+Shift+P→ "Remote-SSH: Connect to Host" → 选vps- VS Code 在 VPS 上运行,Mac 只显示界面
所有文件操作/终端/调试都在 VPS 上。 Mac 不做任何计算。
自动化(cron + Agent)
# 编辑 crontab
crontab -e
# 每天早上 6 点跑 Claude Code 做 CI 检查
0 6 * * * cd ~/projects/my-project && claude -p "检查 CI 失败的测试并修复" >> /tmp/ci-check.log 2>&1文件同步(mutagen)
如果需要 Mac 和 VPS 双向同步文件:
# Mac 上安装 mutagen
brew install mutagen-io/mutagen/mutagen
# 创建同步会话
mutagen sync create \
--name my-project \
~/projects/my-project \
dev@vps:~/projects/my-project \
--ignore node_modules --ignore .git --ignore dist十、成本对比总结
| 方案 | 月费 | 性能 | 持久性 |
|---|---|---|---|
| 新 Mac M4 Max | £3000 一次性 | 强 | ❌ 合盖断 |
| VPS Hetzner CPX31 | ~$25/月 | 8核/16G | ✅ 7×24 |
| VPS Hetzner CPX41 | ~$45/月 | 16核/32G | ✅ 7×24 |
| MacBook Air + VPS | $1200 + $45/月 | 轻量 Mac + 强力 VPS | ✅ |
最优组合,便宜的 Mac(Air 就够)+ VPS。 Mac 只负责浏览器/通信/显示,所有开发在 VPS 上。比买顶级 Mac 便宜且更强。
十一、安全清单
- 禁用 root SSH 登录
- 禁用密码认证(只用 SSH Key)
- 配置防火墙(ufw)
- 定期更新系统(
apt update && apt upgrade) - API Key 存在环境变量不硬编码
- 不在 VPS 上存敏感数据(用 .env + gitignore)
- 配置自动备份
# 配置防火墙
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP(可选)
sudo ufw allow 443/tcp # HTTPS(可选)
sudo ufw enable十二、总结:完整工作流
你的 Mac(Air 就够)
│ SSH / VS Code Remote
▼
Linux VPS(所有计算)
├── tmux 管理多个会话
│ ├── 窗口1: Claude Code
│ ├── 窗口2: Codex
│ ├── 窗口3: 测试
│ └── 窗口4: Dev Server
├── Git Worktree 并行多分支
└── cron 自动化
│
▼
GitHub(源代码)
│
▼
生产环境(独立部署)一句话,Mac 是显示器,VPS 是大脑,GitHub 是真相源,tmux 是永不掉线的纽带。
本文基于 J J(@jturntdev)的 X 推文扩展整理。原文 https://x.com/jturntdev/status/2071535229047537821 。113 赞、30 回复。
推荐配合:Loop Engineering 论文("睡觉时运行"依赖 VPS 持久性)、Chorus 远端 Agent(类似的远程派任务思路)、TCP 调优(VPS 网络加速)。



