Claude CodeZedChannel协作实时

Zed Channel 多人协作开发:搭配 Claude Code 实战

Zed 独有的 Channel 实时协作功能与 Claude Code 结合的三种模式、Notes 视图共享方案、并发坑、远程异步协作和团队工作流推荐。

· 阅读约 13 分钟

Zed 编辑器最被低估的功能不是它用 Rust 写得有多快,而是 Channel——一个把 IDE、聊天、共享屏幕、共享终端、共享白板捏在一起的工作空间。配合 Claude Code 之后,它能干的事远比 VS Code Live Share 多。这篇不讲 Zed 安装,只讲已经装好 Zed、Claude Code 都能用的人,怎么把两者揉进团队协作流程。


Zed Channel 是什么:和别家对比

很多人第一次听到 “Channel” 会想到 Slack 的频道。Zed 的 Channel 概念更接近一个持久的虚拟工作室:进去后所有人共享一个项目工作区,能看到彼此的光标、跟着滚动、对话、留笔记,离开后下次回来一切都在。

能力Zed ChannelVS Code Live ShareJetBrains Code With Me
实时协同光标
共享终端是(多个,跟随式)是(一个)
持久 Notes / 白板
永久频道(无需会话)否(每次新链接)
不需要 Host 在线是(异步加入)
内置语音/聊天是(语音)仅文字仅文字
开源

「不需要 Host 在线」和「永久频道」是关键差异——意味着你可以晚上启动一个 Claude Code 长任务,关电脑睡觉,同事第二天进 Channel 还能看到那个终端的输出。这彻底改变了「协作必须是同步」的假设。


协作模式 A:单人开 Claude Code,全员围观

适合Senior 带 Junior 或者 Code Review 现场演示。一个人在自己的 Zed 里运行 claude,Channel 内所有人都能在共享终端里看到完全相同的输出。

步骤:

  1. 频道发起人在 Zed 打开项目,按 Cmd/Ctrl+Shift+P → “channel: share project”
  2. 团队成员通过 Channel 链接进入
  3. 发起人在 Zed 底部终端面板按 + 新建 shared terminal(图标右上角有个共享标记)
  4. 发起人输入 claude
  5. 所有人实时看到 Claude 的回答和文件改动

何时用:

  • 新人入职第一周,让 Senior 演示「遇到不懂的代码怎么问 Claude」
  • 跨时区团队的 weekly demo
  • 解决线上事故时,事故指挥官在 Channel 里全程录像式调试

注意点:

  • 只有发起人能输入到共享终端(除非显式 toggle 编辑权限)。其他人只读
  • 共享终端的输出会被记录到 Channel 历史里,能在 Notes 视图里翻回看
  • Claude 改文件时,所有人编辑器都会看到 buffer 实时刷新,不需要手动 reload

协作模式 B:每人独立开 Claude Code 改不同模块

适合多人并行开发。Channel 里每个人在各自分支跑各自的 Claude Code,Channel 只用来同步进度、传文件、聊设计。

# 三个人,三个分支,三个 claude 进程
# 张三
git checkout -b feature/auth
claude
> 实现 OAuth 登录,参考 src/auth/spec.md

# 李四(同一个 Channel 但另一台机器)
git checkout -b feature/billing
claude
> 把订阅计费迁到 Stripe v3 API

# 王五
git checkout -b feature/dashboard
claude
> 给 admin dashboard 加用户分群统计

三个 Claude 进程互不干扰,因为 Claude Code 的状态只跟工作目录有关。Channel 在这里扮演的不是「共享 Claude」,而是「共享上下文」:

  • 张三遇到 User schema 不一致,在 Channel 文字频道 @李四 你那边 User 模型还在改吗
  • 李四把 Stripe Webhook 验证逻辑写完了,把代码片段贴到 Channel Notes
  • 王五要 dashboard 用 admin token,王五 @张三 直接共享一个终端让张三临时连进来生成 token

Claude Code 的会话各自跑,但外部交流 全在 Channel 里发生。


协作模式 C:结对编程 + Claude Code 当第三人

经典 pair programming 是 driver(敲键盘的)+ navigator(看方向的)。加入 Claude Code 后变成三角形:

角色负责
Driver在 Zed 里敲代码,能看到所有人光标
Navigator思考下一步,盯着 Driver 不写错
Claude处理样板代码、查文档、写测试、解释陌生 API

实际操作:

Navigator: "我们先把这个 ParseError 类型补齐。Claude,给所有 enum 变体加 Display impl"
Driver: 在 Zed 终端里:claude > 给 src/error.rs 的 ParseError 加 Display impl
Claude: [改完]
Driver: 切到 diff 视图,Navigator 看一下
Navigator: "InvalidUtf8 那个 message 不够清楚,改"
Driver: 直接在 Zed 里手改
Navigator: "好,接着让 Claude 写 prop test"
Driver: claude > 用 proptest 给 ParseError 的所有变体写属性测试

Claude 在这里相当于一个永远不抢主导权的实习生:你叫它做啥就做啥,做完你审。Navigator 不用担心 Driver 被 Claude 带偏,因为 Navigator 在 Channel 里实时看着每一步。


Channel 的 Notes 视图:把 Claude 的方案存下来

Zed Channel 有一个特殊的 Notes 文档(按 Channel 名右键 → Open Notes),是协作 Markdown 文档,所有人能编辑、永久保存。这是放 Claude Code 输出的好地方:

# Sprint 23 决策记录

## 2026-05-09  讨论:要不要把 ORM 从 Sequelize 换成 Prisma

由 Claude Code 调研(基于当前项目代码):

### 现状
- 项目使用 Sequelize 5.x,有 47 个 model
- 多处依赖 hooks 和 instance methods
- TypeScript 类型靠 sequelize-typescript 装饰器

### 迁移成本
- 47 个 model 需要重写 schema.prisma:约 2 天
- hooks 在 Prisma 里要用 middleware 替代:约 3 天
- raw query 占 12 处需要逐个改:约 1 天

### 推荐:不迁移
理由:当前痛点(类型不全)可以通过升级 sequelize-typescript 到最新版解决,
代价是 4 小时 vs 6 天。

---
@张三 觉得 OK
@李四 加一票
@王五 我同意结论但建议把 raw query 那 12 处用 typed query builder 包一下

这种长 prompt 调研结果直接贴到 Notes,永久保存、可搜索、可 @ 提醒人。比起塞在某个 Slack thread 或者 Notion 里好找十倍。


并发坑:Claude 读快照、人改文件

这是 Claude Code + 多人协作最容易踩的坑。Claude Code 在生成改动时是基于「当时读取的文件内容」做的推理。如果你在它读文件后、写回前有人改了同一个文件:

T=0  Claude 读取 src/queue.rs(版本 A)
T=2  李四在 Zed 共享会话里直接改了 src/queue.rs 的第 80 行
T=3  Claude 决定改第 30 行 + 第 80 行(基于版本 A)
T=5  Claude 写入文件 → 李四 T=2 的改动被覆盖

Claude 一般会检测文件 mtime 变化并拒绝写入,但在 Zed 共享会话里多个客户端写同一个文件时,文件系统层面只有一次最终写入,Claude 的检测可能失效。

防御手段:

  1. 明确划分人和 Claude 的工作范围:Claude 跑期间,告诉队友这几个文件别动
  2. 用 git 分支隔离:每个 Claude 任务自己开分支,写完合并时手动解冲突
  3. Claude 跑完立即 commit:让 git 来保护你
  4. 关闭 Zed 的自动保存:避免编辑器层的并发写
# .zed/settings.json
{
  "format_on_save": "off",
  "autosave": "off"
}

频道权限和 API Key 安全

Channel 共享的是工作区,不是 API key。但有几个地方容易泄露:

  1. Claude Code 启动时如果走 ANTHROPIC_API_KEY 环境变量,启动命令显示在共享终端里看不到 key
  2. 但是 如果共享终端的滚动历史里出现过 echo $ANTHROPIC_API_KEY 或者你不小心粘贴了,那就所有人都看到了
  3. claude config get 输出可能包含 key 的最后几位
  4. ~/.claude/ 目录被打开看的话能看到 keychain entry 引用

最佳实践:

推荐
API Key 存储每人本地 ~/.claude/credentials,绝不放仓库
Channel 内共享终端不要在里面运行涉及 secret 的命令
计费每人自己的 Anthropic 账号,团队报销
团队配置CLAUDE.md 入 git,把 key 排除在 .gitignore

如果一定要团队共享 key(比如演示账号),用 Anthropic Workspace 创建限额子 key,定期 rotate。


远程异步协作:长任务跨人接力

这是 Zed Channel 杀手锏。场景:

张三(北京时间晚上 11 点):
  在 Channel 共享终端里启动 Claude Code:
    "扫描整个 monorepo,找出所有未处理的 Promise rejection,
     给每个加 .catch 并 commit 到 fix/promise-rejection 分支"
  这个任务预计要 40 分钟
  张三关电脑睡觉

李四(北京时间次日早上 9 点,纽约时间晚上 9 点):
  打开 Zed,进入 Channel
  看到那个共享终端还活着,Claude 已经处理了 38 个文件
  滚动历史看到 Claude 在某个文件卡住了(缺少类型定义)
  在 Channel Notes 留言:@张三 这块跳过了,回头看下 src/legacy/cb.js
  接着自己启动新的 Claude 任务处理别的事

实现的前提:

  1. 张三的电脑可以不关,或者用 tmux/screen 保持终端会话
  2. Zed Channel 服务端记录共享终端的所有输出,即使 host 离线也能看历史
  3. Claude Code 一旦启动会一直跑,除非崩溃或退出

实际操作里建议张三启动时用 nohup claude -p '...' > /tmp/claude.log 2>&1 & 这种方式,把任务放后台,再用 tail -f /tmp/claude.log 在共享终端里实时显示。


推荐工作流:晨会 → 分工 → 各跑 Claude → 集体 Review

这是一套被多个团队验证过的小队(3-5 人)日工作流:

09:30 晨会(15 分钟)

  • 进入团队 Channel,开共享视频
  • Tech Lead 在 Channel Notes 写下今天三件大事
  • 大家在 Notes 里 @ 自己认领任务

09:45-12:00 各自跑 Claude Code

  • 每人自己分支
  • Claude Code 启动后 共享终端(避免互相干扰)
  • 卡住时在 Channel 文字频道 @ 求助
  • 想 review 设计时把 Claude 输出贴到 Notes

12:00 午饭前 mini-review

  • Tech Lead 共享自己的终端 + diffview,逐人过一下 PR
  • 整个团队 Channel 内同步看
  • 不通过的当场让作者继续跑 Claude 改

14:00-17:00 第二轮开发

  • 上午 review 通过的开始合并到 main
  • 没通过的进入修改循环
  • 复杂任务结对,模式 C 上场

17:00 收尾

  • 每人把今天 Claude Code 给的有价值的 prompt 存到团队的 prompt 库(专门的一个 Channel Notes)
  • 长任务挂在 Channel 跨夜跑

这套流程的核心思想:Channel 不是用来「共享屏幕看老板敲键盘」的,而是用来「让 AI 协作的成果对全队可见」的。每个人的 Claude 会话独立、效率最高,但产出的代码、决策、prompt 全部在 Channel 里沉淀,新人入职翻 Channel 历史就能上手。


一句话总结四种模式的选择

场景推荐模式
教学 / 演示 / 紧急救火A:单人开,全员围观
多人并行开发功能B:各开各的,Channel 同步上下文
复杂设计、新人结对C:结对 + Claude 当工具人
跨时区接力、长任务异步:共享终端 + Notes 留言

Zed Channel 不会让 Claude Code 更聪明,但能让一个 Claude Code 用户的产出被 N 个人看见、纠正、复用。这才是协作工具该干的事。


相关阅读

其他编辑器工作流:

相关编辑器安装教程: