Claude Code SDK #33:Desktop Code Tab 全解——Local × Cloud × SSH,把 AI 编程会话搬进一张工作台

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 前,先定四件事:
配置项决定什么适合先怎么选
EnvironmentClaude 在本机、云端还是 SSH 机器上执行本地改小任务用 Local;长任务用 Remote;代码和依赖在服务器上就用 SSH。2
Project folderClaude 能读写哪个项目选到真正的仓库根目录,预览配置、worktree 和项目记忆才不容易跑偏。2
Model当前 session 使用哪个模型复杂迁移先用强模型,简单批改可以降档。模型可在会话中切换。2
Permission modeClaude 能自动做到哪一步新项目先 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,先用它。3
  • Auto accept edits:文件编辑和常见文件系统命令可自动接受,但其他终端命令仍会询问。适合你信任改动方向、但还想管住命令执行的场景。3
  • Plan mode:Claude 可以先读文件、探索和运行命令,然后给出计划,不直接改源码。复杂任务先让它在这里把路径讲清楚。3
  • Auto:用后台安全检查减少权限弹窗。官方说明它仍会验证动作是否贴合请求,但它不是「完全放开」。3
  • Bypass permissions:等价于 CLI 里的 --dangerously-skip-permissions,官方明确建议只在 sandbox、容器或 VM 中使用。3
我的建议很直接:不是所有任务都应该追求更少弹窗。你可以把权限模式按风险分层:
  1. 读代码、定位 bug:Plan mode。
  2. 小范围重构:Ask permissions。
  3. 重复性改文件:Auto accept edits。
  4. 临时实验仓、容器环境:再考虑 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 写进这里,因为这个文件会提交到仓库。11
PR 之后还有一层验证:Desktop 会用 GitHub CLI 轮询 CI 状态;开启 Auto-fix 后,Claude 会尝试读取失败输出并修复;开启 Auto-merge 后,所有 checks 通过后可 squash merge。这个能力依赖本机安装并认证 gh12

5. 并行 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
需要看 diff、预览页面、管理多个 session。17需要脚本化、自动化、管道输入输出。官方 CLI 参考里 claude -p "query" 用于一次性查询后退出,cat file | claude -p "query" 用于处理管道内容。18
需要交互式 review 和人工把关。需要 --print--output-format 这类非交互输出;Desktop 的 CLI flag 对照表明确写着这些不在 Desktop 提供。19
一句话:Desktop 管工作台,CLI 管流水线。前者适合人和 Claude 一起做工程判断,后者适合把 Claude Code 接进脚本、CI、批处理或可重复命令。

8. 给 AI 开发者的一套落地顺序

如果你准备把 Claude Desktop Code tab 纳入日常开发,别一上来就开满 Auto、Cloud、Computer use。按这个顺序来:
  1. 先跑 Local + Ask permissions:选一个非关键分支,让 Claude 修一个小 bug。重点不是速度,而是看它怎样读项目、怎样提出 diff。
  2. 给前端项目补 .claude/launch.json:把 dev server 命令、端口和 autoPort 写清楚。Preview 能稳定启动,Desktop 的价值才出来。
  3. 把大任务拆成多个 session:一个 session 一个目标,别把重构、测试、PR 文案和调研塞在一起。
  4. 长任务再切 Remote:迁移、全量测试、跨仓改动放云端跑,别把本机当挂机服务器。
  5. Computer use 最后开:只有当任务绕不开真实 GUI,再给它应用级权限。
  6. 需要可重复产物时回 CLI:报告生成、日志分析、批处理、CI 脚本,继续用 claude -p 和结构化输出。
Desktop Code tab 的价值,不是让 Claude 多一个入口,而是让 AI 编程从「一条对话流」变成「可审、可验、可并行的工作台」。如果你的团队已经开始让 Claude 改真实项目,这个变化比多记几个快捷键重要得多。

References

  1. 1
  2. 2
  3. 3
    Choose a permission mode

    docs.anthropic.com

  4. 4
    Environment configuration

    docs.anthropic.com

  5. 5
    Local sessions

    docs.anthropic.com

  6. 6
    Cloud sessions

    docs.anthropic.com

  7. 7
  8. 8
    SSH sessions

    docs.anthropic.com

  9. 9
  10. 10
    Preview your app

    docs.anthropic.com

  11. 11
    Configure preview servers

    docs.anthropic.com

  12. 12
    Monitor pull request status

    docs.anthropic.com

  13. 13
  14. 14
  15. 15
  16. 16
    When computer use applies

    docs.anthropic.com

  17. 17
    Coming from the CLI?

    docs.anthropic.com

  18. 18
    CLI commands

    docs.anthropic.com

  19. 19
    CLI flag equivalents

    docs.anthropic.com

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content

  • Sign in to comment.