
2026. 7. 1. · 09:13
Claude Code SDK #33:Desktop Code Tab 全解——Local × Cloud × SSH,把 AI 编程会话搬进一张工作台
Desktop Code Tab 把 Claude Code 从一条终端对话扩展成可审、可验、可并行的开发工作台。本篇拆解 Local、Remote、SSH 三类环境、权限模式、diff/preview/CI 验证链路、并行 session、computer use 与 CLI 边界。
别把 Claude Desktop 的 Code tab 当成「CLI 换皮」。如果你还在终端里开一个会话、盯一个 diff、手动切浏览器验页面,Desktop 改的是工作流的形状:同一个任务里,聊天、diff、预览、终端、文件编辑、PR 状态和后台任务可以同时摊在一张工作台上。Anthropic 官方把 Desktop 的 Code tab 定义为软件开发入口,和 Chat、Cowork 并列;每个 Code 会话都有自己的聊天历史、项目文件夹和代码改动。1
今天拆 #33:Desktop Code Tab。它不是 SDK API,但它决定了 Claude Code 在真实项目里怎么跑、怎么审、怎么并行,以及什么时候该回到 CLI。
1. 先抓住一个核心:Desktop 是「会话工作台」
Code tab 的基本单元仍然是 session。一个 session 绑定自己的上下文、项目目录和代码改动;侧边栏可以同时列出多个 session,让你在多个任务之间切换。2
这和 CLI 的直觉不一样。CLI 更像一条正在跑的命令线;Desktop 更像 IDE 里的任务控制台。你不是只看 Claude 输出什么,而是在同一个界面里看它改了哪些文件、预览页面有没有问题、CI 是否挂了、后台任务是不是还在跑。
打开一个 session 前,先定四件事:
| 配置项 | 决定什么 | 适合先怎么选 |
|---|---|---|
| Environment | Claude 在本机、云端还是 SSH 机器上执行 | 本地改小任务用 Local;长任务用 Remote;代码和依赖在服务器上就用 SSH。2 |
| Project folder | Claude 能读写哪个项目 | 选到真正的仓库根目录,预览配置、worktree 和项目记忆才不容易跑偏。2 |
| Model | 当前 session 使用哪个模型 | 复杂迁移先用强模型,简单批改可以降档。模型可在会话中切换。2 |
| Permission mode | Claude 能自动做到哪一步 | 新项目先 Ask permissions 或 Plan mode;稳定项目再考虑 Auto accept edits。3 |
2. Local、Remote、SSH:选错环境,后面全拧巴
Desktop 里最容易被忽略的是 Environment。它不是「运行地点」这么简单,而是在定义文件、依赖、网络、权限和持久性的边界。
| 环境 | 官方定义 | 你该怎么用 |
|---|---|---|
| Local | 在你的机器上运行,直接访问本地文件。4 | 适合日常开发、前端预览、需要本机浏览器或设计稿的任务。注意 Desktop 不一定继承完整 shell 环境;本地 session 和 preview server 的环境变量应放进本地环境编辑器。5 |
| Remote | 在 Anthropic 云基础设施上运行,关掉 app 或电脑后仍会继续。6 | 适合大重构、长测试、迁移脚本。云端 session 可加多个仓库,适合 shared library + consumers 这种跨仓任务。7 |
| SSH | 通过 SSH 连接你管理的远端机器,在那台机器上运行 Claude。8 | 适合代码、GPU、专有依赖都在服务器上的项目。远端机器必须是 Linux 或 macOS;第一次连接时 Desktop 会自动在远端安装 Claude Code。8 |
一个实战判断:如果任务需要用你本机打开页面、看截图、拖 UI,那就 Local;如果任务要跑半小时测试,你又不想电脑一直开着,那就 Remote;如果项目只能在公司 devbox 或云 VM 上跑,那就 SSH。
3. Permission mode 是速度旋钮,也是事故边界
Desktop 的权限模式比「要不要确认」更细。它决定 Claude 在改文件、跑命令和进入高自治模式时要不要停下来问你。
Ask permissions:Claude 编辑文件或运行命令前都会问。新项目、生产仓库、第一次接入 Claude Code,先用它。3Auto accept edits:文件编辑和常见文件系统命令可自动接受,但其他终端命令仍会询问。适合你信任改动方向、但还想管住命令执行的场景。3Plan mode:Claude 可以先读文件、探索和运行命令,然后给出计划,不直接改源码。复杂任务先让它在这里把路径讲清楚。3Auto:用后台安全检查减少权限弹窗。官方说明它仍会验证动作是否贴合请求,但它不是「完全放开」。3Bypass permissions:等价于 CLI 里的--dangerously-skip-permissions,官方明确建议只在 sandbox、容器或 VM 中使用。3
我的建议很直接:不是所有任务都应该追求更少弹窗。你可以把权限模式按风险分层:
- 读代码、定位 bug:Plan mode。
- 小范围重构:Ask permissions。
- 重复性改文件:Auto accept edits。
- 临时实验仓、容器环境:再考虑 Bypass permissions。
这样做不酷,但能少很多「它怎么把这个文件也改了」的瞬间。
4. Diff、Preview、CI:Desktop 真正适合的是「边改边验」
Desktop 的优势不是多了一个聊天面板,而是把改动验证做成了可视工作流。
Claude 改文件后,diff view 会显示文件列表和逐行改动;你可以在 diff 行上直接评论,提交后 Claude 会读这些评论并继续修。9 这比在终端里复制一段 diff 再追问顺手得多,尤其适合 review UI 文案、边界条件和重构范围。
Preview pane 则是另一块关键能力。Claude 可以启动 dev server,打开嵌入式浏览器,检查 DOM、截图、点击元素、填写表单,并在发现问题后继续修。官方文档说 auto-verify 默认开启,Claude 会在编辑后自动验证变更。10
如果你的项目启动命令不是默认值,就显式写
.claude/launch.json:{
"version": "0.0.1",
"configurations": [
{
"name": "web",
"runtimeExecutable": "yarn",
"runtimeArgs": ["dev"],
"port": 3000,
"autoPort": true
}
]
}这份配置会告诉 Preview 怎么启动服务、监听哪个端口、端口冲突时是否自动换端口。官方也提醒:
env 可以放额外环境变量,但不要把 secrets 写进这里,因为这个文件会提交到仓库。11PR 之后还有一层验证:Desktop 会用 GitHub CLI 轮询 CI 状态;开启 Auto-fix 后,Claude 会尝试读取失败输出并修复;开启 Auto-merge 后,所有 checks 通过后可 squash merge。这个能力依赖本机安装并认证
gh。125. 并行 session:不是多开聊天,而是多开工作副本
Desktop 的 session 并行很适合 AI 开发者,但也最容易乱。
官方文档写得很明确:Git 仓库里的每个 session 会用 Git worktrees 拿到自己的隔离项目副本,所以一个 session 的改动不会影响另一个 session,直到你提交它们。worktree 默认存放在
/.claude/worktrees/,也可以在设置里改位置。13这意味着你可以这样分工:
- session A:修登录 bug,跑单测。
- session B:升级依赖,处理 breaking changes。
- session C:让 Claude 读同一个仓库,评估「这个模块能不能拆出来」。
不要把三件事塞进一个长 session。长上下文会让 Claude 越来越依赖摘要,分支也会越来越难回滚。Desktop 还提供 side chat:它能读取主线程到当前为止的上下文,但不会把问题写回主对话,适合问一句「这个 diff 有没有副作用」而不打断主任务。14
6. Computer use:能不用就先不用
Computer use 听起来很强:Claude 可以打开应用、控制屏幕,像人一样操作你的机器。官方把它定位成 macOS 和 Windows 上的 research preview,且需要 Pro 或 Max 计划;它默认关闭,macOS 还需要授权 Accessibility 和 Screen Recording。15
但它不是第一选择。官方的路由顺序也很清楚:有 connector 先用 connector;是 shell 命令就用 Bash;是浏览器任务且配置了 Claude in Chrome,就用浏览器工具;这些都不适用时,才轮到 computer use。16
原因很简单:computer use 触碰的是你的真实桌面,不是 sandboxed Bash。它有应用级授权和风险提示,但边界完全不同。我的用法是只给它做三类事:移动模拟器、没有 CLI 的桌面工具、必须点 GUI 的内部系统。能用 API、MCP、Bash 或浏览器自动化解决的,别让它看你的屏幕。
7. 什么时候回到 CLI?
Desktop 和 CLI 不是替代关系。官方说 Desktop 使用同一个底层引擎,图形界面之外,二者可以在同一台机器、同一个项目上同时运行;它们的 session history 分开,但会通过
CLAUDE.md 共享配置和项目记忆。17迁移路径也很具体:在终端会话中运行
/desktop,Claude 会保存当前 session 并在桌面 app 中打开,然后退出 CLI。这个命令支持 macOS 和 Windows,且要求使用 Claude subscription 登录;API key、Bedrock、Vertex 或 Foundry 认证不可用。17我的分界线是:
一句话:Desktop 管工作台,CLI 管流水线。前者适合人和 Claude 一起做工程判断,后者适合把 Claude Code 接进脚本、CI、批处理或可重复命令。
8. 给 AI 开发者的一套落地顺序
如果你准备把 Claude Desktop Code tab 纳入日常开发,别一上来就开满 Auto、Cloud、Computer use。按这个顺序来:
- 先跑 Local + Ask permissions:选一个非关键分支,让 Claude 修一个小 bug。重点不是速度,而是看它怎样读项目、怎样提出 diff。
- 给前端项目补
.claude/launch.json:把 dev server 命令、端口和autoPort写清楚。Preview 能稳定启动,Desktop 的价值才出来。 - 把大任务拆成多个 session:一个 session 一个目标,别把重构、测试、PR 文案和调研塞在一起。
- 长任务再切 Remote:迁移、全量测试、跨仓改动放云端跑,别把本机当挂机服务器。
- Computer use 最后开:只有当任务绕不开真实 GUI,再给它应用级权限。
- 需要可重复产物时回 CLI:报告生成、日志分析、批处理、CI 脚本,继续用
claude -p和结构化输出。
Desktop Code tab 的价值,不是让 Claude 多一个入口,而是让 AI 编程从「一条对话流」变成「可审、可验、可并行的工作台」。如果你的团队已经开始让 Claude 改真实项目,这个变化比多记几个快捷键重要得多。
참고 출처
- 1Claude Desktop Code tab reference
- 2Claude Desktop Code tab reference
- 3Choose a permission mode
- 4Environment configuration
- 5Local sessions
- 6Cloud sessions
- 7Run long-running tasks remotely
- 8SSH sessions
- 9Review changes with diff view
- 10Preview your app
- 11Configure preview servers
- 12Monitor pull request status
- 13Work in parallel with sessions
- 14Ask a side question without derailing the session
- 15Let Claude use your computer
- 16When computer use applies
- 17Coming from the CLI?
- 18CLI commands
- 19CLI flag equivalents
이 콘텐츠를 둘러싼 관점이나 맥락을 계속 보강해 보세요.