Claude Code完全控制备用Mac分步设置指南
将备用Mac设置成ClaudeCode可完全控制的隔离环境,通过SSH远程交互,实现永远在线并启用计算机使用功能。主要步骤包括擦除数据、创建独立账户、启用SSH、配置无密码sudo、保持机器清醒、安装ClaudeCode及可选环境。该方法可降低风险并支持手机远程控制。
如果你在 GitHub Pages 上阅读本文,这里是配套的存储库版本。
为什么要这样做?
核心思路是创建一个 Claude Code 可以独立控制的隔离环境,这样就能把一些不太适合在自己机器上运行的任务委派出去——比如某些类型的研究和开发工作。
特别是,当 Claude Code 以 --dangerously-skip-permissions 标志运行时,潜在风险不可忽视。在备用 Mac 上划出一个独立环境,把所有需要的资源都放进去,就能有效消除或降低这些风险。
额外的好处是,通过手机就能随时随地与 Claude Code 沟通。实际体验下来,很多时候更愿意直接跟 Claude Code 对话,而不是在移动应用上使用普通的 Claude——Claude Code 往往能处理更复杂的任务。
本指南假设你有一台主 Mac 和一台可以用于此设置的备用 Mac。不过,核心思路可以灵活套用到任何两台计算机的组合上。
为什么要这样设置?
先回答几个你可能存在的疑问。
为什么不在容器中运行它?
容器化运行当然是个好主意——甚至有人专门构建了完整的环境来方便地做到这一点。但实际使用中发现了一些限制。首先,它仍然运行在主机上,并没有完全隔离。例如,网络请求还是通过主机发送的。
其次,容器的功能有一定限制。比如,希望智能体能够运行 Unity 进行游戏开发,这在容器里就很难实现。对于其他仅在 Mac 上可用的应用也是如此,容器里无法访问。如果希望 Claude Code 通过计算机使用(点击、拖动等)来控制这些应用,这一点尤其关键。
为什么不使用 OpenClaw 之类的工具?
完整的最新功能显然更有吸引力。同时,通过 Claude 应用进行控制也非常方便。如果你恰好有 Claude 订阅,那就更划算了。
归根结底,在完全可控的机器上运行具有广泛权限的智能体,安全性更高——同时还能获得完整 Mac 环境而非容器带来的所有好处。具体方案的核心思路是:
- 使用旧款或备用 Mac,而非主机。
- 创建一个全新的本地账户,不包含任何个人数据,也不登录 Apple ID,确保智能体无法访问敏感内容。
- 通过本地网络从主 Mac 用 SSH 驱动,并通过手机进行控制。
你需要什么
- 一台备用 Mac(目标机器)。
- 日常使用的 Mac(源机器),并且两者连接到同一个 Wi-Fi 网络。
1. 在目标 Mac 上重新开始
先擦除(如果上面有个人数据)
你将授予智能体对该计算机的完全访问权限,这意味着它可以读取存储在上面的任何内容。如果你不希望它访问现有数据,请先擦除计算机:
- Apple Silicon 的 Mac:系统设置 → 通用 → 传输或还原 → 抹掉所有内容和设置。
- 较旧的 Intel Mac:重启进入恢复模式(启动时按住 Cmd-R),使用磁盘工具抹掉内置驱动器,然后重新安装 macOS。
之后可以选择更新到最新的 macOS(系统设置 → 通用 → 软件更新)。
创建一个新的独立账户
- 创建一个新的本地用户账户(系统设置 → 用户与群组)。
- 建议不要登录 Apple ID,在设置过程中直接跳过。
将账户设置为管理员(如果还不是)
该账户需要管理员权限,否则 sudo 将无法运行。
- 系统设置 → 用户与群组 → 将账户设置为“允许用户管理这台电脑”。
- 如果需要从另一个管理员账户修复:
sudo dseditgroup -o edit -a-t user admin
2. 在目标 Mac 上启用远程登录 (SSH)
在目标 Mac 上打开 SSH,这样源 Mac 才能连接上去。
如果该命令失败并提示“需要完全磁盘访问权限才能打开或关闭远程登录”,请先为终端应用授予完全磁盘访问权限:
- 系统设置 → 隐私与安全性 → 完全磁盘访问权限。
- 点击 + ,在文件选择器中进入“应用程序” → “实用工具” → “终端”并添加。
- 退出并重新打开终端,然后重新运行命令。
3. 目标账户无密码 sudo
这样一来,智能体(以及你的 SSH 命令)就可以执行管理任务,而无需每次输入密码。在目标机器上运行一次,这次它会要求输入登录密码。
这会创建一个小的规则文件,告诉 Mac 允许
- 第 1 行将规则写入 /etc/sudoers.d/。
- 第 2 行将其设为只读——否则 sudo 会忽略该文件。
- 第 3 行用于验证语法;sudoers 文件中的拼写错误可能导致 sudo 完全无法使用,因此它必须输出“parsed OK”。
之后,sudo 会在没有提示的情况下运行。用 sudo -n true 测试一下,如果静默成功,说明无密码 sudo 已生效。
4. 查找目标地址(主机名或 IP)
你可以通过主机名或 IP 地址访问目标机器。建议使用主机名:它保持不变,而 IP 可能会变化。
主机名(推荐)。在目标机器上运行:
添加 .local 后缀形成地址:。你也可以在“系统设置” → “通用” → “共享”中查看,它会被显示为“本地主机名”。
为目标指定一个唯一的名称。每台 Mac 都需要一个在网络上唯一的 .local 名称。如果两台计算机共享一个名称,该地址可能会指向错误的 Mac。确保目标的名称是唯一的——如果需要重命名:
IP 地址(不推荐)。在目标机器上运行:
请注意,IP 地址在重启后或经过一段时间后可能会发生变化。
在后续步骤中,将 。你也可以用 IP 地址代替
5. 从源 Mac 设置无密码 SSH
在源 Mac 上,创建 SSH 密钥(如果已有密钥,请跳过):
在目标机器上安装你的公钥。这会要求输入目标账户的登录密码一次:
测试一下——这应该直接打印出目标用户名,没有密码提示:
6. 保持目标机器清醒
默认情况下,macOS 会在空闲约 10 分钟后进入睡眠状态,即使已接通电源,网络也会断开。要让它永不休眠,请在目标机器上运行此命令(或从源 Mac 通过 SSH 运行):
输出中显示 sleep 0、SleepDisabled 1 和 sleep 0 即表示生效。
如果机器有时使用电池运行,请使用 -a 而非 -c,以适用于所有电源模式(代价是增加电池消耗)。
当屏幕保护程序启动时,屏幕仍可能锁定。阻止屏幕保护程序启动,这样它就不会自动锁定:
7. 通过 SSH 同步剪贴板
macOS 自带 pbcopy(写入剪贴板)和 pbpaste(读取剪贴板)。通过 SSH,它们可以在机器之间移动剪贴板内容——加密、点对点、无需 Apple ID 或第三方服务。
Clip.sh 将其封装为一个命令,包含两个子命令,并在 pbcopy/pbpaste(纯文本)的基础上增加了对图像的支持。将其作为脚本安装在源 Mac 的 PATH 上,并使用 IC_BOX 指向目标主机(“ic”代表“isolated claude”):
clip send—— 将本机剪贴板内容发送到目标机器(文本或图像)。对于图像,你可以用 Ctrl-V 直接粘贴到目标机器上的 Claude Code 会话中。clip get—— 将目标机器的剪贴板内容拉取到本机(文本或图像)。
8. 在目标 Mac 上安装 Claude Code
发送安装命令并运行它。从源 Mac,你可以直接将其推送到目标机器的剪贴板,或远程运行。以下命令安装特定版本,如果你愿意,也可以安装最新版本或稳定版本:
本机安装程序可能会警告 ~/.local/bin 不在 PATH 中。通过将其添加到 ~/.zshenv(不是 ~/.zshrc)来修复此问题——每个 zsh 都会读取 .zshenv,包括非交互式 zsh:
9. 建立一个对 Claude Code 友好的环境(可选)
此可选步骤通过 setup-claude-env.sh 应用一组默认配置——shell 别名、DX 插件、settings.json 调整、GitHub CLI 以及(选择加入)Playwright MCP 和 yt-dlp。每个项目都是可切换的,具体列表请参考 claude-env-components.md。
在目标机器上交互式显示每个项目(核心功能预先勾选,选择加入的未勾选),你可以选择任意组合。将脚本下载到目标机器并运行:
非交互式模式——如果脚本检测到非交互式环境,或者你提供了至少一个标志,则脚本会进入此模式。静默运行,默认只安装核心功能,或者使用标志选择你想要的(--yt-dlp、--playwright、--all、--core):
该脚本是幂等的,可以重复运行。
10. 登录 Claude 和 GitHub
两种登录都需要交互操作,因此需要 SSH 进入:
在目标机器上运行 claude——它会引导你进入 Anthropic 账户的登录流程。按照提示操作(你可以通过主 Mac 上的浏览器完成浏览器/设备代码流程)。
GitHub——可选,但强烈推荐,这样智能体就能使用代码仓库:
如果你尚未安装 GitHub CLI,请务必先完成安装。
建议使用单独的 GitHub 账户,而不是主账户,这样不会影响主账户的使用。
11. 通过 SSH 使用计算机使用功能(可选)
这将使目标机器上的交互式 Claude 会话能够看到(屏幕截图)并控制(鼠标/键盘)其自身的桌面(通过 SSH 驱动)。
这并不是开箱即用的——macOS 的权限模型与 SSH 之间存在冲突,因此需要下面的设置来解决。
为什么需要解决这个问题:macOS 会将屏幕捕获和输入控制与 GUI 登录会话关联,并受屏幕录制和辅助功能权限控制,因此 SSH 进程无法直接访问显示器。解决方法:通过 LaunchAgent 在固定套接字上的 GUI 会话中保持一个 tmux 服务器处于活动状态;在此创建的每个 Claude 会话都会连接到该服务器,并继承 GUI 会话,从而能够访问显示器。你只需要通过 SSH 连接即可。
可脚本化的设置
在目标机器上运行 setup-computer-use.sh:
这将安装 LaunchAgent(一个带有锚点会话 cc 的持久 tmux 服务器),并启用 ~/.claude.json 中的内置计算机使用工具。需要 tmux(brew install tmux)和 Claude Pro 或 Max 订阅。可重复运行;--uninstall 参数可卸载。
在 Mac 上使用它
在源 Mac 上安装 ic.sh(“ic”代表“isolated claude”):
每个 ic 命令都会在目标机器上生成一个独立的 Claude 会话(可以一次运行多个),并附加到会话中。ic rc 命令会启动一个远程控制服务器,并添加了几个子命令:
所有 ic 会话都使用 --dangerously-skip-permissions 运行(而 ic rc 使用 --permission-mode BypassPermissions)。
关于复制文本:会话在 tmux 中运行,而 Terminal.app 无法接收 Claude 发出的剪贴板转义序列 (OSC52),因此用鼠标选择文本片段无法可靠地复制到你的 Mac 剪贴板。快速解决方法:Cmd-A 然后 Cmd-C 复制整个可见屏幕。
奖励:让源 Mac 的 Claude 驱动目标机器上的 Claude
由于每个 ic 会话都位于目标机器 tmux 服务器上的固定套接字上,源 Mac 上的 Claude Code 会话可以直接通过 SSH 提示一个会话——这对于将工作委派给目标机器并检查结果(智能体到智能体)非常有用:
一次性授权(无法脚本化)
屏幕录制和辅助功能权限只能在 GUI 中授予,并且必须由操作员在机器上亲自操作(或通过屏幕共享)——macOS 会阻止对这些提示的模拟点击。第一次捕获时,你可能还需要允许“绕过窗口选择器”提示(每月重复一次)。
授权是针对 tmux 的,而非 Claude。macOS 将捕获/控制归因于链中负责的进程,这里是 tmux 服务器(Claude 作为其子进程运行)。因此:
- 在“屏幕录制”和“辅助功能”下授予 tmux 权限(位于 /usr/local/bin/tmux 或 Apple Silicon 上的 /opt/homebrew/bin/tmux)。屏幕录制权限用于截图,辅助功能权限用于鼠标/键盘控制。
- 授予权限后,重启 tmux 服务器——正在运行的进程会在启动时缓存其权限状态,因此授权在服务器重启前不会生效:
tmux -S /tmp/cc-tmux.sock kill-server(LaunchAgent 会在几秒内重新生成锚点)。重启后启动的 Claude 会话将获得新的授权。
要使条目首先出现在系统设置中,请触发一次计算机使用操作(运行 ic,然后要求 Claude“截取屏幕截图”)——macOS 会将 tmux 添加到列表中(显示为关闭状态),以便你将其打开。
完全磁盘访问权限可以阻止“从其他应用程序访问数据”的提示。在较新的 macOS 上,tmux 会针对每个触及数据的应用程序触发单独的“tmux 希望访问其他应用程序的数据”提示。为 tmux 授予完全磁盘访问权限(位于同一“隐私与安全性”面板中)可以完全抑制这些提示:使用 + 按钮并添加 tmux 二进制文件(Cmd-Shift-G 输入路径)。之后,如上所述重启 tmux 服务器。
12. 安装 翻跟斗 或任何其他应用程序(可选)
在目标机器上运行 翻跟斗 是个好主意,这样它的流量就会与本地 IP 分离。例如,可以使用 Proton 翻跟斗——它有免费选项,而且已经稳定运行多年——当然,其他选项也完全可以。
如果你完成了上一步,可以直接让目标机器上的 Claude 来完成安装:运行 ic 并输入“安装 Proton 翻跟斗”。它将会下载并安装该应用程序。需要手动完成的部分:
- 凭据。即使是免费套餐也需要登录。使用第 7 步中的
clip send安全地发送密码:复制到 Mac 上,运行clip send,然后粘贴到目标机器上的登录字段中。 - macOS 权限提示。第一次连接会弹出系统提示,允许 翻跟斗/网络配置(并可能要求输入 Mac 密码)——请在计算机上手动批准。
- 计算机使用 GUI。该应用程序仅提供 GUI 界面,因此驱动它依赖于第 11 步的设置。登录后,智能体可以自行连接和切换服务器。
这一流程不仅适用于 翻跟斗 应用程序,也适用于几乎任何其他应用程序。
13. 通过手机控制它
远程控制功能让你可以通过手机上的 Claude 应用程序来驱动 Claude Code。有两种使用方法:
- 在现有会话中运行
/remote-control(或简称/rc)并按照说明操作——然后你就可以从手机驱动同一会话,在两者之间来回切换。 - 使用
claude remote-control启动服务器,这还可以让你从手机启动全新的会话,而不仅仅是附加到已有会话。
如果你完成了第 11 步,ic rc 会为你启动该服务器,这样从手机生成的会话也能访问计算机使用功能。
14. 在 Chrome 中设置 Claude(可选)
第 11 步中的计算机使用功能故意不会控制浏览器——浏览器受到限制,Claude 可以看到屏幕上的内容,但无法点击或输入。Chrome 中的 Claude 扩展程序通过适当的浏览器控制填补了这一空白:导航、点击、填写表单、读取控制台日志和网络请求。与 Playwright MCP 不同,它会驱动你的常规 Chrome 配置文件,因此智能体可以使用你在目标机器上设置的任何登录状态。
它需要目标机器上有 Chrome 浏览器,以及相应的 Anthropic 订阅(Pro、Max、Team 或 Enterprise)。
你可以让目标机器上的 Claude 安装 Chrome 并打开该扩展程序的 Chrome Web Store 页面。需要手动完成的部分(在机器上、亲自操作或通过屏幕共享):
- 点击“添加到 Chrome”。或者,你可以通过进入 chrome://extensions 将扩展程序固定到工具栏。
- 在扩展程序中登录你的 Claude 账户。你可以使用第 7 步中的
clip send来发送登录信息。
然后,在目标机器上的 Claude Code 中启用它:在会话中运行 /chrome 并选择“默认启用”,以便在每个会话中使用浏览器工具,或者跳过该选项,在每个会话中使用 claude --chrome(源 Mac 中的 ic --chrome)。如果连接不起作用,请尝试重启一次 Chrome。
为了提高浏览器使用效率(基于可访问性树的元素引用而非坐标,无未请求的截图),第 9 步中的环境设置将“Claude for Chrome”指导部分添加到目标机器上的 ~/.claude/CLAUDE.md 中。如果你跳过了该步骤,请重新运行该脚本——它是幂等的。
如果你的源 Mac 的 Chrome 也将扩展程序登录到同一账户,则 Claude Code 可以连接到任一浏览器。当两者都连接时,它会提示你选择,但其本地计算机检测可能存在错误。为了避免这种情况,你可以暂时从源 Mac 的 Chrome 中卸载扩展程序——或者在目标机器运行时退出源 Mac 上的 Chrome。
请注意,通过第 13 步从手机生成的会话目前无法获取浏览器工具——解决方法是在终端中启动会话,并使用 /rc 附加。
15. 在目标 Mac 上启用屏幕共享(可选)
这使你可以使用 macOS 的内置屏幕共享功能,从源 Mac 实时查看目标机器的屏幕,并接管其鼠标和键盘操作。
必须在计算机的 GUI 中启用此功能——自 macOS 12.1 起,无法从命令行启用。
在目标机器上:系统设置 → 通用 → 共享 → 打开“屏幕共享”。如果“远程管理”已开启,屏幕共享开关可能会被隐藏——请先将其关闭。
然后从源 Mac 连接:
使用目标账户的登录密码登录,并勾选“在我的钥匙串中记住此密码”。
16. 使用 Tailscale 从任何地方访问它(可选)
.local 名称仅在局域网内解析,因此到目前为止,所有操作都仅限于本地网络(第 13 步中的手机控制除外,它通过 Anthropic 中继)。Tailscale 解决了这个问题:它将你的机器通过点对点、端到端加密的 WireGuard 隧道连接起来,因此 SSH、ic、clip 和屏幕共享可以在任何网络上工作,而无需暴露在公共互联网上。在家庭网络上,它会采用直接局域网路径,因此本地使用的速度与之前一样快。加入网络仅提供设备可访问性——SSH 和屏幕共享仍然需要你的密钥或密码。
在目标机器上安装(Homebrew 公式可通过 SSH 无头工作;在最后一个命令打印的 URL 上登录——使用社交登录的免费账户即可):
在源 Mac 上安装,然后打开 Tailscale 应用程序并使用同一账户登录——设备只能在一个账户的网络中看到彼此:
使用 MagicDNS(默认情况下开启),可以从任何地方通过裸主机名访问目标机器——相同的地址,减去 .local 后缀。在 ~/.zshrc 中切换 IC_BOX,保留原来的名称以供参考:
屏幕共享的使用方式相同:打开 vnc://。
建议在管理控制台中进行以下设置:设备审批(设置 → 设备管理),这样仅受攻击的 Tailscale 登录无法将设备添加到你的网络;禁用目标机器上的密钥过期(机器 → …),这样密钥在大约 180 天后过期时,目标机器不会自动从网络中移除。
要确认远程访问确实有效,请将源 Mac 连接到不同网络(例如手机热点)并运行 ic ls。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
京东数码影音暑假装备投影仪游戏掌机AI眼镜一站购齐
京东“数码放暑价”好物榜汇聚投影仪、游戏掌机、智能眼镜等多款全品类数码好物,提供国家补贴、以旧换新最低五折优惠,覆盖宅家观影、游戏对战、出行记录等暑期场景,全方位满足多场景趣玩需求。
年7月出差笔记本横评:五款轻薄本选购指南
二零二六年出差轻薄本选购指南,从便携、续航、性能等八维度评测五款机型。入门级推荐华硕无畏14SE性价比高,荣耀X14均衡;中端惠普战X均衡全面,适合商务;高端联想小新Pro16GT性能最强,适合重度应用;ThinkPadX1Carbon极致轻便,适合频繁出差。
日本人体冰箱5分钟快速降温售价约150万日元
日本推出“人体冰箱”DoHiemonBox,外形类似自动售货机,站立式结构,底部带滚轮。内部维持15℃环境,5℃冷风吹向头颈肩背,约5分钟快速降温,10分钟缓解不适。三种制冷模式,20分钟自动关闭,耗电仅为普通立式空调一半,主要面向高温作业人员及公共场所。
小米米家智能茶吧机Pro立式众筹价1099元
小米米家智能茶吧机Pro立式版众筹价1099元,集即热、煮茶、消毒于一体。配备2 8英寸触控屏及小爱同学语音控制,5 5升水箱双区双出水,15秒烧开、3秒即热。10升消毒存储空间支持UVC紫外线杀菌和PTC热风烘干,附赠茶壶与分享壶。
年7月设计本选购 五款高色准创作本深度解析
2026年设计专业笔记本选购指南推荐五款:入门华硕无畏16SE、中端惠普战X、高端YOGAAir14与ThinkPadT14p、旗舰联想小新Pro16GT。核心要点为屏幕色准、PantherLake平台AI算力及扩展性,覆盖5000至20000元以上预算。
- 热门数据榜
相关攻略
2026-07-20 21:22
2026-07-20 21:22
2026-07-20 21:22
2026-07-20 21:22
2026-07-20 21:20
2026-07-20 21:20
2026-07-20 21:19
2026-07-20 21:19
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

