Appearance
Claude Code Web 版
研究预览阶段
Claude Code on the web 让你直接在浏览器中发起 Claude Code 任务,非常适合:
- 回答问题:询问代码架构和功能实现
- Bug 修复和日常任务:无需频繁介入的明确任务
- 并行工作:同时处理多个 Bug 修复
- 没有本地克隆的仓库:处理未在本地检出的代码
- 后端变更:Claude 先写测试,再写通过测试的代码
Claude Code 也支持 iOS 和 Android 移动端,随时发起任务或监控进度。
谁可以使用
Claude Code on the web 对以下用户开放:
- Pro 用户
- Max 用户
- Team 用户
- 拥有 premium 席位或 Chat + Claude Code 席位的 Enterprise 用户
快速开始
- 访问 claude.ai/code
- 连接你的 GitHub 账号
- 在你的仓库中安装 Claude GitHub App
- 选择默认环境
- 提交编程任务
- 在 Diff 视图中查看变更,通过注释迭代,然后创建 Pull Request
工作原理
发起 Web 任务后的执行流程:
- 仓库克隆:你的仓库被克隆到 Anthropic 管理的虚拟机
- 环境准备:配置安全的云端环境,运行你配置的 setup 脚本
- 网络配置:根据设置配置网络访问(默认限制访问)
- 任务执行:Claude 分析代码、进行修改、运行测试、自我检查
- 完成:任务完成时通知你,可创建 PR
- 结果:变更推送到分支,准备好创建 PR
Diff 视图
Diff 视图让你在创建 PR 之前直接查看 Claude 的修改内容。
当 Claude 修改文件后,会出现 +12 -1 样式的统计指示器。点击它可以打开 Diff 查看器:左侧文件列表,右侧对应文件的变更内容。
在 Diff 视图中你可以:
- 逐文件查看变更
- 对特定变更行添加注释,请求修改
- 根据注释继续与 Claude 迭代
这让你可以在不创建草稿 PR 或切换到 GitHub 的情况下,通过多轮反馈完善代码。
Web 与终端之间切换
从终端发起 Web 任务
在命令行使用 --remote 标志启动 Web 会话:
bash
claude --remote "修复 src/auth/login.ts 中的认证 bug"这会在 claude.ai 上创建一个新的 Web 会话,任务在云端运行,你可以继续在本地工作。
并行运行多个任务:
bash
claude --remote "修复 auth.spec.ts 中不稳定的测试"
claude --remote "更新 API 文档"
claude --remote "将 logger 重构为结构化输出"每个 --remote 命令创建独立的 Web 会话并行运行。使用 /tasks 监控所有会话。
先本地规划,再远程执行:
bash
# 先在计划模式下规划方案
claude --permission-mode plan
# 满意后,启动远程会话执行
claude --remote "执行 docs/migration-plan.md 中的迁移计划"从 Web 迁移到终端
有几种方式把 Web 会话拉到终端继续:
- 使用
/teleport:在 Claude Code 中运行/teleport(或/tp),从交互选择器中选择 Web 会话 - 使用
--teleport:运行claude --teleport <session-id>直接恢复特定会话 - 从
/tasks:运行/tasks查看后台会话,按t进行 teleport - 从 Web 界面:点击"Open in CLI"复制命令
Teleport 前提条件:
| 要求 | 说明 |
|---|---|
| 干净的 Git 状态 | 工作目录无未提交变更(可选择先 stash) |
| 正确的仓库 | 必须在同一仓库的本地检出中运行 |
| 分支可用 | Web 会话的分支必须已推送到远程 |
| 相同账号 | 必须使用相同的 Claude.ai 账号 |
注意:会话迁移是单向的——可以把 Web 会话拉到终端,但不能把已有的终端会话推送到 Web。
--remote会为当前仓库创建一个新的 Web 会话。
共享会话
Enterprise/Teams 账号:可选 Private 或 Team 可见性,Team 模式对组织成员开放,默认启用 GitHub 仓库访问验证。
Max/Pro 账号:可选 Private 或 Public 可见性,Public 对所有登录用户可见。
分享前请检查会话是否含有敏感内容(代码、私有仓库凭证等)。
云端环境
预置工具
云端环境预装了常用工具。运行 check-tools 命令查看已安装内容。
预置语言和运行时:
| 语言/工具 | 版本 |
|---|---|
| Python | 3.x + pip, poetry |
| Node.js | 最新 LTS + npm, yarn, pnpm, bun |
| Ruby | 3.1.6 / 3.2.6 / 3.3.6(默认 3.3.6) |
| PHP | 8.4.14 |
| Java | OpenJDK + Maven + Gradle |
| Go | 最新稳定版 |
| Rust | cargo |
| C++ | GCC + Clang |
| PostgreSQL | 16 |
| Redis | 7.0 |
Setup 脚本
Setup 脚本是 Bash 脚本,在新会话启动时、Claude Code 启动前执行。用于安装依赖、配置工具,处理预置镜像中没有的内容。
脚本以 root 身份在 Ubuntu 24.04 上运行,可以使用 apt install 等命令。
示例:安装 gh CLI(预置环境中没有):
bash
#!/bin/bash
apt update && apt install -y gh安装命令需要网络访问。默认"Limited"网络访问已允许常见包注册表(npm、PyPI、RubyGems、crates.io 等)。
Setup 脚本 vs SessionStart Hooks 对比:
| Setup 脚本 | SessionStart Hooks | |
|---|---|---|
| 附属于 | 云端环境 | 仓库 |
| 配置位置 | 云端环境界面 | 仓库 .claude/settings.json |
| 运行时机 | 仅新会话,Claude Code 启动前 | 每次会话启动,包括恢复的会话 |
| 作用范围 | 仅云端环境 | 本地和云端 |
依赖管理
用 Setup 脚本安装包:
bash
#!/bin/bash
npm install
pip install -r requirements.txt也可以用 SessionStart Hooks(同时适用于本地和云端环境):
json
{
"hooks": {
"SessionStart": [
{
"matcher": "startup",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/scripts/install_pkgs.sh"
}
]
}
]
}
}scripts/install_pkgs.sh(仅在云端运行):
bash
#!/bin/bash
if [ "$CLAUDE_CODE_REMOTE" != "true" ]; then
exit 0
fi
npm install
pip install -r requirements.txt网络访问
访问级别
默认为"Limited"模式,仅允许访问白名单域名(包含常见的包注册表、版本控制平台、云服务等)。
可以配置更宽松的访问("Full")或完全禁用网络。
默认允许的域名类别
- Anthropic 服务(api.anthropic.com 等)
- 版本控制(github.com、gitlab.com、bitbucket.org 等)
- 容器注册表(registry-1.docker.io、gcr.io、ghcr.io 等)
- 云平台(Google Cloud、Azure、AWS 等)
- JavaScript 包管理器(npmjs.org、yarnpkg.com 等)
- Python 包管理器(pypi.org、pythonhosted.org 等)
- Ruby 包管理器(rubygems.org 等)
- Rust 包管理器(crates.io 等)
- Go 包管理器(proxy.golang.org 等)
- JVM 包管理器(maven.org、gradle.org 等)
- 其他语言包管理器(PHP Composer、.NET NuGet、Dart pub、Elixir Hex 等)
- Linux 发行版(Ubuntu apt、launchpad.net 等)
- 开发工具(Kubernetes、HashiCorp、Conda 等)
安全性
- 隔离虚拟机:每次会话在独立的 Anthropic 管理 VM 中运行
- 网络访问控制:默认限制访问,可禁用
- 凭证保护:敏感凭证(git 凭证、签名密钥)不在沙箱中,通过安全代理使用有限范围的凭证处理认证
- 安全分析:代码在隔离 VM 中分析和修改,然后再创建 PR
定价和限制
Web 版与其他 Claude 使用共享同一账号的速率限制。并行运行多个任务会相应消耗更多配额。
当前限制:
- 只支持托管在 GitHub 的代码,不支持 GitLab 等其他平台
- 会话迁移(teleport)需要使用相同账号认证
最佳实践
- 自动化环境配置:用 Setup 脚本安装依赖,用 SessionStart Hooks 处理本地和云端都需要的配置
- 记录要求:在
CLAUDE.md中清楚说明依赖和命令