TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

网页版 Claude Code:在云端跑任务

网页版 Claude Code 让任务在云端虚拟机里跑,关掉电脑也不中断。这篇讲怎么从终端发起云端任务、把会话拉回本地、分享和自动修 PR,以及它的限制。

这篇适合谁、读完能做到什么

如果你有一批相对独立的小任务,比如修几个 bug、补一批测试,或者想让 Claude 在你离开电脑后继续干活,云端会话适合你。读完你能从终端发起一个云端任务,同时跑几个任务,把云端会话拉回本地继续,也知道什么时候该用别的方式。[1]

云端会话是什么

云端会话是运行在云端基础设施上的 Claude Code 会话,而不是运行在你的电脑上。即使你合上笔记本,它也会继续保持运行。[1]

你可以从 claude.ai/code 的浏览器页面、Claude 手机应用的 Code 标签页、桌面应用、终端里的 claude --cloud,或者云端定时任务发起。[1] 套餐方面,Pro、Max、Ultra 和 Team 可以使用,Enterprise 用户需要有 premium 席位,或者 Chat + Claude Code 席位。[1]

每个云端会话都跑在一个云端环境里。环境决定网络访问、环境变量和启动脚本。新用户第一次使用时,入门流程会创建一个 Default 环境,网络访问默认是 Limited。[1]

准备:连接 GitHub

云端会话要克隆代码、推送分支,就需要能访问你的 GitHub 仓库。有两种方式:在仓库上安装 Claude GitHub App,或者在终端运行 /web-setup,把本地 gh 命令行工具的令牌发送到你的 Claude 账户。[1]

在 Anthropic 托管的环境里,GitHub 凭据加密存放在 Anthropic 的服务器上,不会进入会话的虚拟机。虚拟机里的 GitHub 操作要经过一个代理,由服务器端附上凭据。[1]

从终端发起云端任务

用 --cloud 参数,后面跟上任务描述:

claude --cloud "Fix the authentication bug in src/auth/login.ts"

这会在 claude.ai 上创建一个新的云端会话。注意,云端虚拟机克隆的是当前目录对应的 GitHub 远程仓库和你当前的分支,而不是你的本地工作区。如果本地有还没推送的提交,要先推送。[1]

任务在云端跑,你可以继续在本地干活。[1]

如果任务比较复杂,可以先在计划模式里和 Claude 对齐方案,再把执行交给云端:

claude --permission-mode plan

计划模式下,Claude 会读文件、运行命令来探索,并提出计划,但不会修改源代码。[1]

同时跑多个任务也很简单。每条 --cloud 命令都会创建一个独立运行的云端会话,例如:

claude --cloud "Fix the flaky test in auth.spec.ts"
claude --cloud "Update the API documentation"
claude --cloud "Refactor the logger to use structured output"

没有 GitHub 的仓库怎么办

如果你在一个没有 git 远程仓库的目录里运行 claude --cloud,或者在一个没有安装 Claude GitHub App 的 github.com 仓库里运行,Claude Code 会把本地仓库打成 bundle 直接上传到云端会话。就算你已经用 /web-setup 连过 GitHub,也是这样。[1]

完整克隆的 bundle 包含所有分支的提交历史,以及已跟踪文件里未提交的改动。[1] 在 macOS、Linux 和 WSL 上,.env、Terraform 的 *.tfvars、id_rsa、*.pem 这类凭据或密钥文件的未提交改动不会被上传。[1]

如果想让 Claude Code 即使能从远程克隆时也用 bundle 上传,设置 CCR_FORCE_BUNDLE=1:

CCR_FORCE_BUNDLE=1 claude --cloud "Run the test suite and fix any failures"

上传的仓库要满足几个条件:必须是至少有一次提交的 git 仓库,体积不超过 100 MB;未跟踪的文件不会被包含,想让云端看到的文件要先 git add。[1]

在终端里跟进和接回

云端会话运行时,你可以在任何已用 claude auth login 登录的机器上发送后续消息:

claude -p "your message" --cloud <session-id>

这条命令发送一条消息后就退出,不会等待回复。它适合用来跟进一个正在运行的任务。[1] 发送成功后,它会打印会话 ID 和查看链接。加上 --output-format json 时,成功返回 {ok, session_id, url},失败返回 {ok: false, session_id, error},输出格式如下:

Sent to cloud session.
Session ID: session_01HJKLMNOPQRSTUVWXYZ
View: https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ?from=cli&m=0

要把云端会话拉回终端,可以运行 claude --teleport 打开会话选择器,或者运行 claude --teleport <会话 ID> 直接恢复某个会话。[1] 拉回之前要满足几个条件:工作区没有未提交的改动,你在同一个仓库(不是 fork)的检出目录里,云端会话的分支已经推送到远程,并且你登录的是同一个 claude.ai 账户。[1]

拉回后,终端里是会话的一份独立副本。在终端里做的新工作留在本地,不会出现在云端会话里。如果还想用手机继续操控,就在本地会话里运行 /remote-control。[1] 另外,如果云端会话被压缩过,被总结掉的早期消息不会复制到终端,Claude 会从摘要继续。[1]

会话管理:权限、分享和归档

创建任务时,以及会话运行期间,都可以在模式下拉菜单里选择云端会话的权限模式。[1]

分享时要注意可见范围。Enterprise 和 Team 账户可以设为「Private」或「Team」;Max、Ultra 和 Pro 账户可以设为「Private」或「Public」,Public 会对所有登录 claude.ai 的用户可见。会话里可能有私有仓库的代码和凭据,所以分享前先检查一遍。[1]

归档会把会话从侧边栏列表里移走,之后还能取消归档。删除则会永久移除会话及其数据,无法撤销,删除前会要求确认。[1]

自动修 PR

自动修复(auto-fix)需要在仓库上安装 Claude GitHub App。PR 的 CI 检查失败或者有人留下评论时,Claude 会先调查;如果修复方案明确就直接推送,如果评论有歧义或涉及架构上的重要决定,则先问你。[1]

需要注意,GitHub 在基础分支前进、产生合并冲突时不会发出 webhook,所以自动修复不能自己处理冲突。遇到冲突,打开会话让 Claude 做 rebase 即可。[1]

如果你不想让 Claude 推荐插件,可以在设置里拒绝 SearchPlugins 和 SuggestPluginInstall 这两个工具:

{
  "permissions": {
    "deny": ["SearchPlugins", "SuggestPluginInstall"]
  }
}

限制和常见问题

  • 会话过一段时间就停了。 云端会话长时间不活动后会停止,虚拟机会被回收。重新打开时对话历史会恢复,但后台的 shell 命令和子 agent 不会恢复,需要让 Claude 重新执行。[1]
  • 并行任务会更快耗尽额度。 云端会话和你账户里其他的 Claude、Claude Code 用量共享速率限制,同时跑的任务越多,消耗越多。[1]
  • **提示 Unable to get organization UUID。** 说明你用的是 API key 或 Console 登录。运行 claude auth login 用 claude.ai 账户登录即可。[1]

下一步

想让云端环境装好工具、配置网络访问和启动脚本,可以参考 Anthropic 的 Claude Code 文档中的云端环境页面。[1]

来源

  1. 1
    Use Claude Code in the cloudAnthropic Claude Code docs

引用本页: 网页版 Claude Code:在云端跑任务. TellWorld, https://www.tellworld.net/zh/practice/practice-claude-code-on-the-web. 更新于 2026-11-14

相关动态