工作原理
需求在团队服务器,代码在每个人的电脑上
SuDuo 由两部分组成:团队自己部署的服务器,和每个人电脑上的客户端。服务器保存大家共享的需求与讨论;代码、Codex 和会话都在各自的电脑上。两端之间来回的,是需求和讨论,以及你决定发出去的内容。
两端各放什么
左边是团队,右边是你的电脑。客户端通过 HTTP(S) 连接团队服务器;Codex 直接连接你配置的模型服务。
团队服务器
你们自己部署 · Linux + Docker
- 项目、需求和评论
- 附件和确认版
- 讨论房间、消息和房间文件
- 账号和活动记录
- 共享 Agent 发回房间的回答
- 从团队服务器到你的电脑: 开工时:需求卡和 SuDuo 工具
- 从你的电脑到团队服务器: 经你确认:评论、确认版
- 从你的电脑到团队服务器: 共享时:Agent 的回答与执行过程
每个人的电脑
SuDuo 客户端 · macOS / Windows
- 浏览器里的 SuDuo 界面
- 本机服务,只监听 127.0.0.1
- Codex CLI,用你自己的登录或 API Key
- 代码仓库、会话和结论笔记
Codex 直接请求
你配置的模型服务OpenAI 或兼容服务
中间交接了什么
两端之间有两条路:从需求开工,和把你的 Codex 共享进讨论房间。
从需求开工
- 在需求上点「开始会话」。第一次要为这个项目选一个本机代码目录,之后这个项目的会话都在这里运行。
- 本机服务在这个目录里拉起 Codex 会话,开场只带一张简短的需求卡:编号、标题、状态、描述和材料清单;有的话,再加上上次会话的结论和之后的变化。
- 会话里挂着一组 SuDuo 工具。Codex 需要更多信息时,自己去查评论、附件和确认版,或者把确认版的文件拉到项目目录下的
.suduo/里。 - 发评论、发布确认版会停下来,等你在界面上确认后才发出;发出后不能撤回。
在讨论房间里共享 Agent
- 你按房间把自己的 Codex 共享进去,可以选共享多久,随时可以关闭。
- 房间里的人 @ 它提问。它在你的电脑上、在这个项目的代码目录里,用 Codex 的只读沙箱运行:不改文件,可以联网查资料,也不会逐条找你审批;你在 Codex 里配置的 MCP 服务和连接器在这里一律关掉。
- 它的回答连同执行过程(看了哪些文件、运行了哪些命令和输出)发回房间的话题里,团队里的人都能看到,其中可能有代码。
- 只读不等于只看项目目录:你的账户能读的文件,它都能读到。只在信任的房间里共享,用完就关;你私下的会话不会混进来。
数据放在哪里
团队服务器上的内容,服务器上所有注册了账号的人都能看到;你电脑上的内容留在这台电脑上,除非你自己发出去。例外有两个:Codex 发给模型服务的上下文(见表格最后一行和下面的说明);以及你把 Agent 共享进房间后,它发回房间的回答和执行过程,房间里的人借它读到的文件也会出现在里面。
| 内容 | 放在哪里 | 说明 |
|---|---|---|
| 项目、需求和评论 | 团队服务器 | 存在服务器的 PostgreSQL 数据库里。 |
| 附件和确认版的文件 | 团队服务器 | 存在服务器的文件卷里,和数据库一起备份。 |
| 讨论房间的消息和文件 | 团队服务器 | 包括图片和视频。 |
| 共享 Agent 的回答与执行过程 | 团队服务器 | 只在你把 Agent 共享进房间时产生,可能包含代码片段和命令输出。 |
| 账号和活动记录 | 团队服务器 | 谁在什么时候改了什么。 |
| 代码仓库 | 你的电脑 | Codex 在你为项目选的目录里读写;SuDuo 不复制、不上传。 |
| Codex 会话、审批和改动记录 | 你的电脑 | 存在 SuDuo 的本机数据目录和 Codex 自己的目录里。 |
| 需求结论笔记和拉取的材料 | 你的电脑 | 在项目目录的 .suduo/ 下,整个目录不进 git。想让团队看到,让 Codex 把笔记转成评论。 |
| Codex 配置和模型凭据 | 你的电脑 | 在 ~/.codex 里,和你自己终端里的 Codex CLI 共用。在 SuDuo 里填写的模型服务也存在这里,SuDuo 不另留副本。 |
| 项目对应的本机目录 | 你的电脑 | 每个人自己选。 |
| 每一轮对话需要的上下文 | 模型服务 | 由 Codex 直接发出:你的提问、需求卡,以及它读到的代码片段和命令输出等。 |
发给模型服务的内容
Codex 在你的电脑上运行,模型却不在。每一轮对话,Codex 都要把它需要的上下文发给你配置的模型服务:你的提问、需求卡,以及它读到的代码片段和命令输出等。所以「代码留在本机」说的是代码仓库和会话存放在你的电脑上,并不是说模型看不到代码。
这些请求由 Codex 直接发出,不经过团队服务器,也不经过 SuDuo 的任何服务——SuDuo 没有中心服务。模型服务可以是 OpenAI,也可以是你们自己部署的或其他兼容的服务;它怎样保存和使用这些数据,取决于你和服务商之间的约定。
和「把代码交给云端 AI 平台」有什么不同
另一类做法是把代码仓库连到托管的 AI 编码平台,由平台在它自己的云端环境里读代码、跑命令。两种做法各有取舍,主要区别在下面几处。
| 对比项 | SuDuo | 云端 AI 编码平台(常见做法) |
|---|---|---|
| 代码在哪里 | 在每个人的电脑上,在自己选的目录里 | 拉到平台的云端环境里 |
| AI 在哪里干活 | 本机的 Codex CLI,在你的电脑上读文件、跑命令 | 平台的服务器上 |
| 模型请求 | Codex 直接发给你配置的模型服务 | 由平台发出,模型通常由平台决定 |
| 账号和团队数据 | 在你们自己部署的服务器上,没有 SuDuo 的中心账号 | 在平台的账号体系和服务器上 |
| 谁来运维 | 你们自己:部署、升级、备份,一个脚本包办大部分 | 平台负责,不用部署 |
常见疑问
代码会传到团队服务器上吗?
不会自动上传。Codex 在你的电脑上、在你选的目录里运行。服务器只收到你自己发上去的内容:需求、评论、消息、附件,以及你确认发布的确认版(可以包含项目目录里的文件)。例外是共享 Agent:它的回答和执行过程会发到房间里,其中可能引用代码。
SuDuo 的作者或团队服务器能看到我的模型凭据或请求吗?
不能。Codex 的配置保存在它自己的 ~/.codex 里,并直接请求你的模型服务。在 SuDuo 设置里配置模型服务时,本机的 SuDuo 只是把地址和 API Key 交给 Codex,自己不留副本;个人会话的记录只存在你的电脑上。SuDuo 不会把任何东西发给作者,也不会把凭据发给团队服务器。
共享进房间的 Agent 会改我的代码吗?
不会。它在 Codex 的只读沙箱里运行,不修改文件,没有发评论、发布确认版这类写工具,你配置的 MCP 服务和连接器也会关掉。(它要查看较大的房间文件、附件或确认版时,由本机的 SuDuo 把文件存进项目下的 .suduo/ 目录,这个目录不进 git。)它可以联网查资料,也能读到你的账户能读的任何文件,所以只在信任的房间里共享。
团队服务器上的内容谁能看到?
在这台服务器上注册了账号的所有人。目前没有管理员和邀请机制,能访问到服务器的人都能注册,所以只在内网或 VPN 内开放,或者放在带访问控制的反向代理后面。
一定要用 OpenAI 吗?
不用。在 SuDuo 的「设置 → 模型服务」里填入兼容服务的地址和 API Key,Codex 就会改用它。这会改写 ~/.codex 里的配置:你自己在终端里用的 Codex CLI 也会跟着改,原来的 ChatGPT 登录可能被替换。也可以不填这一项,继续用 Codex 的 ChatGPT 登录。