文章摘要
本文介绍如何将闲置Mac设置为Claude Code可完全控制的常开机器,支持通过手机Claude应用或主Mac的SSH远程操控,从而在独立环境中安全执行研究和开发任务。
文章总结
如何将闲置Mac设置为Claude Code的完全控制环境——完整指南
本文详细介绍了如何将闲置的Mac电脑改造成一个始终在线、可由Claude Code完全控制的机器,并启用计算机使用功能。这样,您可以通过手机上的Claude应用或主Mac通过SSH远程操控它。
为什么要这样做?
作者希望创建一个独立的环境,让Claude Code可以自主控制,从而将某些不想在主机器上运行的任务(如特定类型的研究和开发工作)委托出去。Claude Code在启用--dangerously-skip-permissions标志时存在固有风险,通过在闲置Mac上创建独立环境可以消除或减轻这些风险。此外,还能随时随地通过手机与Claude Code对话,作者发现Claude Code比普通Claude应用功能更强大。
为什么选择这种方案?
为什么不使用容器? 容器仍运行在主机器上,未完全隔离(如网络请求仍通过主机器),且存在功能限制,例如无法运行Unity等仅限Mac的应用,也无法让Claude Code通过计算机使用功能控制这些应用。
为什么不使用OpenClaw? 作者希望使用Claude Code的完整最新功能,并能通过Claude应用控制,同时利用已有的Claude订阅。最终,在“无损失”的机器上运行具有广泛权限的代理更安全,同时能享受完整Mac而非容器的优势。
所需条件
- 一台闲置Mac(目标机)
- 日常使用的Mac(源机),需在同一Wi-Fi网络下
主要步骤
1. 重置目标Mac
清除所有个人数据,创建全新的本地账户,不登录Apple ID,并赋予管理员权限。
2. 启用远程登录(SSH)
在目标机上开启SSH,以便源机连接。如遇权限问题,需为终端应用授予“完全磁盘访问权限”。
3. 设置免密码sudo
创建规则文件,使指定用户无需密码即可执行sudo命令,方便代理和SSH命令运行管理任务。
4. 查找目标机地址
推荐使用主机名(如MacBook-Pro.local)而非IP地址,因为主机名保持不变。确保目标机名称在网络中唯一。
5. 设置免密码SSH
在源机上生成SSH密钥,并将公钥安装到目标机,实现无密码登录。
6. 保持目标机唤醒
通过pmset命令设置电源管理,防止机器在接通电源时进入睡眠状态,并禁用屏幕保护程序。
7. 剪贴板同步
使用clip.sh脚本实现两台机器间的剪贴板同步(支持文本和图片),通过SSH加密传输,无需Apple ID或第三方服务。
8. 安装Claude Code
通过SSH在目标机上安装Claude Code,并将~/.local/bin添加到PATH环境变量。
9. 设置Claude Code友好环境(可选)
运行setup-claude-env.sh脚本,安装shell别名、DX插件、GitHub CLI等工具,可交互式选择或通过参数指定。
10. 登录Claude和GitHub
通过SSH登录目标机,运行claude命令完成Anthropic账户登录,使用gh auth login登录GitHub(建议使用独立账户)。
11. 通过SSH实现计算机使用(可选)
通过LaunchAgent在GUI会话中保持tmux服务器运行,使SSH驱动的Claude会话能访问屏幕截图和鼠标键盘控制。需要手动授予tmux屏幕录制和辅助功能权限,以及完全磁盘访问权限。
12. 安装VPN或其他应用(可选)
可让Claude Code安装VPN等应用,但需要手动处理凭据输入和系统权限提示。
13. 从手机控制
通过Claude应用的远程控制功能,使用/remote-control命令或claude remote-control服务器,从手机驱动目标机上的Claude Code会话。
14. 设置Chrome中的Claude(可选)
安装Claude in Chrome扩展,实现浏览器控制功能(导航、点击、填写表单等)。需要手动添加扩展并登录账户。
15. 启用屏幕共享(可选)
在目标机上开启屏幕共享,从源机通过VNC连接,实时查看和控制目标机桌面。
16. 使用Tailscale远程访问(可选)
安装Tailscale实现端到端加密的P2P连接,使SSH、剪贴板同步和屏幕共享在任何网络环境下都能工作,无需暴露到公共互联网。
评论总结
以下是对评论内容的总结,涵盖主要观点、论据及不同立场,并保留关键引用:
1. 技术实现与隔离方法
- 使用专用硬件隔离:部分用户认为用独立Mac(如Mac mini M4)运行Claude更安全,可完全控制本地账户。
- “I currently have Claude Desktop installed on a separate Mac mini M4... it has full control over the local account I gave it.”
- “Outside of the article's mentioned graphics development, there is no reason to isolate an agent using actual hardware.”(反对者认为虚拟机更高效)
- 虚拟机与容器方案:通过UTM或libvirt创建隔离环境,便于快速重置。
- “I threw together this script using libvirt to give claude its own graphical desktop env... If it makes a mess, I can dump and reinstall in seconds.”
- “Though it doesn't get by all the hurdles... it is alternatively possible to run Mac OS in a VM on your Mac using UTM.”
- 权限控制争议:多数用户反对赋予sudo权限,主张使用非特权账户。
- “Giving sudo permissions to an agent seems reckless. Claude gets his own unprivileged UNIX account.”
- “I don't bother with containers or VMs however.”(部分用户认为无需过度隔离)
2. 实用性与使用场景质疑
- 缺乏“杀手级应用”:多位用户质疑24/7运行AI代理的实际价值,认为缺乏明确需求。
- “I still don't understand what these freaks are doing running these agents 24/7 on machines... There is no killer app.”
- “I just cannot come up with a good AI-is-actually-24/7-helping-me-out use case.”
- 替代方案:部分用户通过SSH、WireGuard等远程控制,或使用Dispatch等工具实现跨设备协作。
- “Dispatch works great, and I have reversed the setup so Claude can ssh-spawn sessions on my homelab.”
- “i just use terminus + wireguard + tmux and works great, i can control claude/codex from my phone.”
3. 成本与定价顾虑
- 定价复杂且昂贵:用户批评Anthropic的定价模式难以理解,担心成本失控。
- “I looked up Anthropic pricing and its 100x more convoluted than cloud services management... figuring out how to prevent going bankrupt from AI usage!”
- “I think I'm gonna be a late adopter on this one until the industry figures out a less cumbersome pricing model.”
- 预算控制需求:有用户希望为AI代理设置有限资金(如2k-5k美元),并完全隔离身份。
- “What's a good way to give a limited amount of money to the LLM... keep it completely separate from my identity.”
4. 硬件选择与成本效益
- 旧设备再利用:M1/M2 MacBook或旧Mac mini因价格低廉成为热门选择。
- “I've been doing something similar with an old m2... MacBook m1/m2 also are cheap enough now vs an Mac mini.”
- “setting up your spare Mac”(讽刺性评论,暗示用户普遍有闲置设备)
- 云VM替代方案:部分用户认为无需本地硬件,云VM+CLI更简单。
- “Why not just use a VM in the cloud and just a CLI interface?”
5. 网络隔离与安全建议
- VLAN隔离:建议为AI代理创建独立VLAN,限制网络访问。
- “If I had one I would definitely try creating a separate VLAN for it to control... isolated from your files but still has access to your network.”
总结
评论呈现两极分化:技术爱好者积极尝试硬件隔离、虚拟机等方案,并分享具体工具(Dispatch、UTM、libvirt);而质疑者则聚焦于缺乏实际应用场景、定价混乱及安全风险。核心争议在于:AI代理的24/7运行是否必要? 支持者强调隔离与自动化潜力,反对者认为当前缺乏“杀手级应用”,且成本与复杂性过高。