Code Remote

编程智能体

在 iPhone 上跟踪电脑上的每个 Claude Code 会话,在那里回答它的权限请求和问题,并在它需要你时收到通知。

Agents 标签页和通知属于 Code Remote Pro,并且需要电脑上有较新的 coderemote:如果应用提示,请运行 coderemote update 并重新启动 coderemote up。

设置

每台电脑只需一次,前提是已安装 Claude Code:

$ coderemote setup claude

这会把 Code Remote 插件安装到 Claude Code 中(等同于在 Claude Code 内运行 /plugin install coderemote --marketplace CodeRemoteApp/coderemote)。之后你在用 coderemote up 共享的文件夹中启动的 Claude Code 会话,会显示在应用里。已在运行的会话需要重启后才会出现。要撤销:coderemote setup claude --remove。

当没有 coderemote 在运行,或会话所在的文件夹未被共享时,插件什么都不做:此时 Claude Code 的工作方式与没有它时完全一样。

Codex

Codex 0.139 或更高版本也可以:

$ coderemote setup codex

然后打开一次 Codex,输入 /hooks 并信任 Code Remote 的 hook:Codex 只会在你审阅过之后才运行插件的 hook。Codex 会话会在 Agents 标签页中显示,并标有 Codex。

有一点不同:Codex 只有在 hook 让开之后才会显示它自己的批准提示。因此,当你正在使用电脑(或已在应用中打开该机器)时,Codex 会照常在终端中询问,应用会显示"Answer on your computer";当你不在时,请求会连同通知一起在手机上等待最多十分钟,然后 Codex 才会在终端中询问。Codex 无法通过 hook 提供"始终允许"。

Agents 标签页

列出机器上的会话,分为 Needs You(等待回答)、Working、Idle 和 Ended;标签页会显示有多少个需要你处理。打开一个会话可以看到它做了什么:你的提示、Claude 的回复,以及它运行的每个工具。命令连同输出一起显示,文件编辑显示为被修改的行(点按可查看完整改动或文件),读取操作则会打开文件。

在应用终端中启动的会话有 Open in Terminal,可直接向其输入。你在电脑上启动的会话显示相同的时间线。

会话保存在 coderemote 的内存中:停止 coderemote up 会清空列表,已结束的会话一天后消失。

在手机上回答

当 Claude 请求运行某些内容的权限,或向你提问时,会话底部会出现一张卡片:

  • Allow 或 Deny。⋯ 菜单提供与电脑上的 Claude Code 相同的"始终允许"选项,还有 Deny with Message,可告诉 Claude 改为怎么做。
  • 对于问题,点按一个答案,或用 Other… 自己输入。

提示在电脑上也保持打开。谁先回答就以谁为准:在电脑上回答后,手机上的卡片(及其通知)就会消失。一小时内没有人在手机上回答的提示,将留给电脑处理。

启动并操控会话

在 Agents 标签页中点按 +,即可在电脑上启动一个编程智能体。选择 Agent(Claude Code,或设置好之后的 Codex)和 Folder:它会打开共享文件夹,你可以进入子文件夹、按名称筛选,然后点按 Use This Folder。接着:

  • 对于 Claude Code,可选择模型和请求权限的方式(Ask First、Accept Edits、Plan Only 或 Auto)。
  • 对于 Codex,可选择 Codex 自己提供的模型(Default 是 Codex 配置中的那个),以及是否允许它 Ask before running outside the sandbox。关闭后,Codex 会直接拒绝其沙盒不允许的操作,不再询问。

会话运行在应用的终端中,因此你可以从会话的消息框里向它输入:

  • 写好提示后发送;Claude 工作期间,你发送的内容会像在电脑前一样排队等待。Stop 会中断它(类似 Esc)。
  • + 可附加照片、视频、文件、相机拍摄的照片或复制的图片。它们会发送到电脑上的 ~/.coderemote/uploads/(在你的项目之外,一周后删除),Claude 会把图片当作图片来看;其他文件则获得它们的路径。
  • ⚡ 菜单中有 Next Permission Mode(Shift+Tab)、/compact、/clear、/model 和 Open in Terminal(Codex 没有可循环切换的权限模式,也没有 /clear)。在终端中,可通过 … 菜单里的 Chat 回来。
  • 已结束的会话提供 Resume Here,可在新的终端中继续对话。

你在电脑终端中启动的会话,可以在这里跟踪和回答,但不能输入,因为它不是应用的终端;结束后可以在这里恢复它。

通知

在机器的信息中为每台电脑单独开启(在机器列表中长按它,或在标签页菜单中选择 Machine Info):需要回答和完成了耗时较长的任务(耗时一分钟或更久),并带有测试按钮。

长按权限通知即可允许或拒绝,无需打开应用(需通过 Face ID);单个问题也可以用同样的方式回答。当你正在使用电脑(Mac 上)或已在应用中打开该机器时,不会发送任何通知。

工作原理

插件会针对 Claude Code 的每个事件(提示、工具调用、回复、权限请求)运行 coderemote hook。它把事件交给同一台电脑上共享该会话文件夹的 coderemote,并用一个永不离开本机的密钥进行认证。权限请求会在那里等待来自手机的回答,而 Claude Code 仍照常显示它自己的提示。

通知从你的电脑出发,经过一个会附加应用 Apple 推送密钥的中继;内容为 iPhone 加密,因此中继和 Apple 都无法读取,中继也不保存任何内容。请参阅隐私政策。