Aioga
AI资讯 / 技巧观点
返回 AI资讯

设置备用 Mac 让 Claude Code 完全控制:分步指南

Hacker News 热门(buzzing.cc 中文翻译)Aioga 编辑团队2026-07-18T19:37:23.960Z热度 63

一篇分步指南介绍如何将备用 Mac 设置为可由 Claude Code 完全控制的常开机器,启用 computer use 功能。该方案通过 SSH 从主 Mac 连接,并可通...

技巧观点Hacker News 热门(buzzing.cc 中文翻译)

今日 AI 情报摘要

一篇分步指南介绍如何将备用 Mac 设置为可由 Claude Code 完全控制的常开机器,启用 computer use 功能。

该方案通过 SSH 从主 Mac 连接,并可通过手机上的 Claude 应用控制,从而在主机器上隔离风险。 指南建议在备用 Mac 上创建不含个人数据的新本地账户,并配置无密码 sudo 权限。

中文正文 · AI 翻译

这里有一个完整的逐步指南,教你如何将闲置的 Mac 变成一台 Claude Code 可以完全控制的全天候运行机器,并且可以启用计算机使用功能。你可以通过 Claude 应用从手机与它对话,或者通过 SSH 从你的主 Mac 与它连接。

如果你是在 GitHub Pages 上阅读本文,这里是仓库版本:https://github.com/ykdojo/claude-controls-mac。

我想创建一个 Claude Code 可以独立控制的独立环境,这样我就可以委派一些我不一定想在自己机器上运行的任务——某些类型的研究任务和开发任务。

Claude Code,尤其是在启用了 --dangerously-skip-permissions 标志时,在你的主机上运行具有固有风险。你可以通过在备用 Mac 上创建一个包含所需全部访问权限的独立环境来消除或降低这些风险。

它还有一个额外的好处,就是可以随时随地通过手机与 Claude Code 对话。我个人发现这非常有用,因为我经常更喜欢与 Claude Code 对话,而不是在移动应用上使用普通 Claude——Claude Code 通常更强大。

以下指南假设你有你的主 Mac 以及可以用于设置的备用 Mac,但你应该能够从中获得灵感,并将其应用到任意两台机器的组合中。

首先,让我们快速回答你可能有的一些问题。

我非常支持在容器中运行它——我甚至构建了一个方便运行的完整环境:https://github.com/ykdojo/safeclaw。不过,我发现它有一些限制。首先,它仍然在主机上运行,所以并不是完全隔离的。例如,它发送的网络请求仍然通过你的主机。

其次,容器的功能是有限的。例如,我希望我的代理能够运行 Unity 进行游戏开发,而在容器中没有简单的方法做到这一点。对于任何仅适用于 Mac 的应用程序也是同样的情况——你将无法访问它。尤其是如果你希望 Claude Code 通过计算机使用来控制这些应用程序——点击、拖动等等,这一点尤其相关。

我个人喜欢能够使用 Claude Code 的完整最新功能。我也喜欢能够通过 Claude 应用程序来控制它——我发现这非常方便。而且,如果你恰好有 Claude 订阅,还可以使用你的订阅额度,这是一个额外的好处。

归根结底,在一台没有资产风险的机器上运行具有广泛权限的代理更安全——但你也可以享受到使用完整 Mac 而不是容器的好处。这里的方法:

你将给予代理对这台机器的完全访问权限,因此它可以访问存储在其中的任何内容。如果有不希望其访问的现有数据,先清空机器:

可选择随后更新到最新 macOS(系统设置 -> 通用 -> 软件更新)。

账户需要管理员权限,否则 sudo 会拒绝运行。

在目标设备上开启 SSH,以便源 Mac 可以连接:

如果命令失败并显示“开启或关闭远程登录需要完全磁盘访问权限”,先给予你的终端应用完全磁盘访问权限:

这是为了让代理(以及你的 SSH 命令)能够运行管理员任务,而不必每次都提示输入密码。在目标上运行一次即可。它只会请求一次登录密码:

这会创建一个小的规则文件,告诉 Mac 可以在运行 sudo 时不提示密码:

之后,sudo 将无需提示即可运行——通过 sudo -n true 测试,如果免密码 sudo 生效,将默默成功。

你可以通过主机名或 IP 地址访问目标。我推荐使用主机名:它保持不变,而 IP 地址可能会改变。

主机名(推荐)。在目标设备上运行:

添加 .local 来形成地址:.local。你也可以在系统设置 -> 通用 -> 共享中查看,本地显示为 Local hostname。

给目标设备一个唯一名称。每台 Mac 需要在网络上拥有唯一的 .local 名称。如果两台设备名称相同,地址可能指向错误的 Mac。确保目标名称唯一——如有需要请重命名:

IP 地址(不推荐)。在目标设备上运行:

请注意,IP 地址在重启后或经过一段时间后可能会改变。

在本指南的其余部分,用目标账户名和上面提到的主机名替换,这样地址就是 @ .local。你也可以用 IP 代替 .local。

在源 Mac 上创建一个 SSH 密钥(如果你已经有了可以跳过):

在目标上安装你的公钥。这会要求输入一次目标账户的登录密码:

进行测试 —— 这应该会显示目标用户名而不提示输入密码:

默认情况下,macOS 在闲置约 10 分钟后会进入睡眠,即使插着电源,这会使其脱离网络。要让它永不睡眠,在目标上(或者通过源上的 SSH)运行此命令:

sleep 0、SleepDisabled 1 和 displaysleep 0 的输出显示成功。

如果机器有时用电池供电,使用 -a 替代 -c,以应用到所有电源来源(代价是电池消耗较大)。

屏幕保护程序启动时屏幕仍可能锁定。阻止屏幕保护程序启动,这样它就不会自动锁定:

macOS 自带 pbcopy(写入剪贴板)和 pbpaste(读取剪贴板)。通过 SSH 管道,它们可以在机器之间移动剪贴板内容 —— 加密、点对点,无需 Apple ID 或第三方服务。

clip.sh:/claude-controls-mac/clip.sh 将此命令封装为一个带两个子命令的命令,并在 pbcopy / pbpaste(仅限文本)基础上增加了图像支持。在源 Mac 上将其安装为 PATH 中的脚本,并用 IC_BOX 指向目标主机(“ic”代表“isolated claude”):

发送安装命令并运行。从源 Mac 你可以直接推送到目标的剪贴板,或者远程运行。以下命令安装特定版本,但你也可以选择安装最新或稳定版本:

本机安装程序可能会警告 ~/.local/bin 不在 PATH 中。在目标上通过将其添加到 ~/.zshenv (不是 ~/.zshrc)来修复 —— .zshenv 会被每个 zsh 读取,包括非交互式的:

此可选步骤通过 setup-claude-env.sh:/claude-controls-mac/setup-claude-env.sh 应用一组推荐的默认设置:包括 shell 别名、DX 插件、settings.json 调整、GitHub CLI,以及(可选择的)Playwright MCP 和 yt-dlp。每个项目都可以开启或关闭;完整列表见 claude-env-components.md:/claude-controls-mac/claude-env-components.html。

目标界面交互式——显示每个物品的清单(核心已预勾,未勾选的选择),方便你选择任意组合。将脚本下载到目标上并运行:

非交互式——如果脚本检测到非交互环境或你提供至少一个标志,就会进入此模式。没有提示;默认只安装 Core,或者用 flags ( --yt-dlp, --playwright, --all, --core ) 来选择你想要的:

这个脚本是幂零的(可以重播)。

两个登录都是交互式的,所以 SSH 在:

然后在目标上运行 Claude——它会直接进入你的 Anthropic 账户登录。按照提示操作(你可以在主Mac上的浏览器完成的浏览器/设备代码流程)。

GitHub——可选,但强烈推荐,这样代理能处理仓库:

如果你还没安装上一步的 GitHub CLI:#9-setup-up-opinionated-claude-code-friendly-environment-optional,务必先安装。

我个人建议用一个独立的 GitHub 账号,而不是主账号,这样就不会影响主账号。

这使得目标节点上的交互式 claude 会话能够看到(截图)并控制(鼠标/键盘)自己的桌面,通过 SSH 驱动。

这开箱即用是不行的——SSH和macOS的权限模型会阻碍,所以下面设置就是为了绕过这些问题而设。

为什么需要变通:macOS 将屏幕录制和输入设置在与 GUI 登录会话绑定的屏幕录制和无障碍权限后面,因此 SSH 进程无法访问该显示器。修复方法:LaunchAgent 在固定套接字的 GUI 会话中保持 tmux 服务器存活;每个在那里创建的 Claude 会话都会落在该服务器并继承 GUI 会话,因此可以访问显示界面。你通过SSH连接。

在目标上运行 setup-computer-use.sh:/claude-controls-mac/setup-computer-use.sh:

这会安装 LaunchAgent(带有锚点会话 cc 的持久 tmux 服务器),并启用 ~/.claude.json 中的内置计算机使用工具。需要 tmux(brew 安装 tmux)和 Claude Pro 或 Max 套餐。可重播;——卸载以移除。

在源 Mac 上安装 ic.sh:/claude-controls-mac/ic.sh ( ic = “isolated claude”):

每个 ic 都会在服务器上生成自己的 Claude 会话(可以同时运行多个)并附加。标志与 Claude 相同,并且增加了几个子命令:

所有 ic 会话都使用 --dangerously-skip-permissions(并且 ic rc 使用 --permission-mode bypassPermissions)。

复制文本:会话运行在 tmux 中,而 Terminal.app 无法接收 Claude 发出的剪贴板转义序列(OSC52),因此用鼠标选择文本片段不会可靠地复制到 Mac 剪贴板。快速解决方法:Cmd-A 然后 Cmd-C 可以复制整个可见屏幕。

因为每个 ic 会话都驻留在服务器的 tmux 服务器上的固定套接字中,你的源 Mac 上的 Claude Code 会话可以通过 SSH 直接提示它——这对于将工作委托给服务器并进行检查很有用,代理对代理:

屏幕录制和辅助功能只能在 GUI 中授予,必须由人亲自在机器上执行(现场或通过屏幕共享)——macOS 会阻止对这些提示进行模拟点击。在第一次捕获时,你还需要允许一个“绕过窗口选择器”的提示(大约每月重复一次)。

权限授予的是 tmux,而不是 Claude。macOS 将捕获/控制归因于链中负责的进程,这里是 tmux 服务器(Claude 作为其子进程运行)。所以:

为了让条目首次出现在系统设置中,触发一个电脑使用操作(ic,然后让 Claude “截屏”)——macOS 会将 tmux 添加到列表中(默认关闭),这样你就可以打开它。

我个人喜欢在服务器上运行 VPN,这样它的流量就会与我的本地 IP 分开。我使用 Proton VPN——它有免费选项,我已经使用很长时间了——当然,也有其他选项。

情报判断

Aioga 编辑摘要

Aioga 编辑摘要:一篇分步指南介绍如何将备用 Mac 设置为可由 Claude Code 完全控制的常开机器,启用 computer use 功能。 Aioga 将其归入「技巧观点」方向,重点关注它对真实使用和行业竞争的影响。

背景分析

背景分析:实践类内容的价值在于是否能被复现、是否有明确边界,以及它能否转化为稳定的开发或工作流方法。

Aioga 观点

Aioga 判断:这条动态更适合作为行业观察信号,当前信息足以建立线索,但不足以推导长期结论。

影响与后续

影响分析:对相关团队而言,短期应先核对来源、可用范围和实际成本,再判断是否值得接入或跟进。 后续观察:继续观察示例是否可复现、工具版本变化、社区反馈和实际成本。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: 摘要聚合 · 原始域名: ykdojo.github.io

来源: Hacker News 热门(buzzing.cc 中文翻译)

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-07-18T19:37:23.960Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

一篇分步指南介绍如何将备用 Mac 设置为可由 Claude Code 完全控制的常开机器,启用 computer use 功能。该方案通过 SSH 从主 Mac 连接,并可通...

Hacker News 热门(buzzing.cc 中文翻译)2026-07-18T19:37:23.960Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。