Setting up a remote environment for agentic coding on a VPS
20 hours ago
- 作者的笔记本电脑是AI编程会话中的瓶颈,因为合上盖子会终止像Claude Code这样的正在运行的会话。
- 解决方案:将所有开发工作(代理、代码、数据库、编辑器GUI)迁移到VPS,通过Tailscale VPN可从任何设备访问。
- 关键优势:合上笔记本电脑而不中断工作,设备间即时切换,能承受断线,无需用咖啡因技巧让笔记本电脑保持唤醒状态。
- 设置使用三个核心组件:Tailscale用于私有网络,一台VPS(Ubuntu 26.04 LTS,2 vCPU,8 GB RAM),以及一个基于浏览器的编程GUI(T3 Code,但可替换)。
- Tailscale提供网状VPN;VPS只暴露一个公共端口(SSH应急入口),所有其他服务都绑定到localhost并在tailnet上发布。
- 服务器在单独卷上使用btrfs实现写时复制(cp --reflink)和压缩(zstd:3),节省磁盘空间并允许即时克隆像node_modules这样的大目录。
- 作者停止使用传统代码编辑器;相反,他们向代理描述任务,审查差异,并通过浏览器GUI批准更改。
- 自定义自动化包括:用于每日更新Claude Code、Codex和T3(带回滚)的systemd定时器,一键项目引导(newproject脚本),以及带有垃圾回收的每个工作树预览服务器。
- 两个代理不能共享工作目录;git worktrees隔离每个代理的工作区,通过一个脚本(worktree-up)设置环境和预览服务器。
- 服务器还运行定时任务(cron),如夜间依赖升级和更新日志生成,并通过MCP与Home Assistant集成用于家庭控制。
- 通过Oh Dear(端口扫描)进行监控,确保没有意外的公共端口暴露,特别是因为Docker可能绕过防火墙规则。