ARTICLE · 1155415
分享一个开源的 AI 协作空间:群里 @ 一下,队友电脑上的 Claude Code 就开工
你让 Claude 改了接口,队友的 Codex 并不知道;Agent 说「已经跑起来了」,服务却只监听在它那台机器的 localhost;你的工作机上装着仓库、依赖和登录好的 Agent,队友却完全用不上。
今天分享的开源项目共工空间,把这三件事收进了一个群里:每个人把自己的机器接进来,机器上的 Claude Code / Codex 就成了群里可以 @ 的 Bot。@ 一下,活在队友的机器上开干,做完的网页直接在群里点开。
技术栈:Rust daemon + TypeScript 全栈(React/Fastify/PostgreSQL),macOS 桌面端用 Tauri支持的 Agent:Claude Code、Codex(走 ACP 协议接入,适配层可插拔)上手门槛:有演示环境,注册账号就能体验,不用自己部署
一、AI 编程现在的「三张皮」
用 Claude Code / Codex 的小团队,大概都踩过这三个坑:
上下文散落在各自的终端里。 你在自己的终端里让 Claude 改完接口,队友的 Codex 对此一无所知。下次他接手,上下文得从头讲一遍。Agent 的对话记录存在各人电脑上,谁也看不见谁的。
机器各自闲着。 你的工作机上有完整的仓库、配好的依赖、登录好的 Agent,但这些只有你能用。队友遇到问题,要么远程桌面看你敲命令,要么他自己再装一遍环境。
结果看不见。 Agent 跑完说「服务已经起好了」,可这个服务监听在它那台机器的 localhost 上。想给队友看一眼?要么截图,要么开内网穿透,要么把代码推上去部署一遍。
这三件事的共同点是:每个人和自己的 AI 单独干活,团队之间没有共享的「场」。 共工空间做的就是把这个场补上。
二、它是谁:一个自托管的群聊,人和 Bot 同群
一句话:在群里 @ 一下,队友机器上的 Claude Code / Codex 就开工,做完的结果直接在群里打开。

左边是群聊,右边是实时打开的预览——这不是两个软件拼起来的,是同一件事的两面。
每个成员把自己的机器通过 gg 命令行或 macOS 桌面端接进服务器,机器上的 Agent 就注册成了群里的一个 Bot。人和 Bot 在同一个群里:讨论需求、派活、追问、打断、接力,过程和结果对全员可见。

几个顺手的细节:
- @ 谁谁开工,Bot 干活过程中追加消息可以直接打断补充,不用等它跑完一轮;
/stop随时叫停;- Bot 之间能接力:前端 Bot 做完,可以在群里把任务 @ 给后端 Bot,链路受群设置的「接力链长上限」约束;
- Bot 可以通过内置的
gonggongMCP 检索群聊记录、向群成员提问——它不是聋子,群里聊过什么它能查。
三、过程全透明:思考、命令、diff 都在群里
光能派活还不够,AI 干活最怕的是「黑盒」:它到底改了什么?跑挂的命令输出是什么?
共工空间把每一轮运行的过程实时回传:Agent 的思考、工具调用、命令输出,群里点开运行卡片就能看。

每轮结束还有 diff、Git 状态、文件树,token 和上下文占用一目了然。你不用相信 Agent 说「改好了」,你直接看 diff。
网页、接口服务、静态报告,甚至桌面应用窗口和微信小程序模拟器,都能通过预览隧道在群里直接打开,还能生成限时公开链接发给外部的人。这是「结果看不见」那个坑的解法:服务跑在队友机器 localhost 上,隧道把它送进浏览器。
四、架构上做对的一件事:服务器只管路由
这类工具最容易做成的样子,是把你的代码和模型调用都过一遍中心服务器。共工空间反着来:
浏览器 Web(群聊 · 预览) │ ▼ 服务器(Fastify + PostgreSQL)——账号、群、消息路由、预览中继、审计 ▲ │ 全部由 daemon 主动出站连接 成员机器上的 daemon(Rust,gg 命令行 / 桌面端) ├─ ACP 适配器 ──→ Claude Code / Codex(本机已登录的 CLI) └─ 工作区 ~/.gonggong/workspaces/ 这个设计带来三个直接的好处:
1. 不用管网络。 daemon 只向外连接服务器,家里的 NAT、公司的防火墙都不用配置,成员机器不需要对外开放任何端口。
2. 模型调用不过服务器。 Agent 是机器上已登录的 CLI,模型调用从成员本机直接发出,用的是你自己的账号、你自己的额度、你自己配的模型厂商。git 凭据也留在成员机器上,Bot 用主人自己的凭据克隆仓库。
3. 服务器轻到可以自己 docker compose 起一个。 它只负责账号、群、消息路由、预览中继和审计,不保管仓库凭据,也不调用模型。
Agent 通过 https://agentclientprotocol.com 接入,daemon 用官方适配器 @agentclientprotocol/claude-agent-acp 和 codex-acp 驱动本机的 claude / codex CLI。适配层是插件式的,以后接更多 Agent 不用动主干。
五、安全:@ 你的 Bot,等于让他在你机器上执行 Agent
这句话必须说在前面。让别人 @ 你的 Bot,本质上是授权他在你的机器上跑 Agent。共工空间的约束做得比较清楚:
- Bot 默认在隔离的托管工作区(
~/.gonggong/workspaces/)里干活; - 权限分只读 / 工作区写入 / 完全访问三档;
- 越权操作会弹审批卡片,只有 Bot 主人能批准;Bot 拿不准时会在群里出选择题问人;

- 触发范围可设为「仅本人 / 指定名单 / 任何群成员」;
- 所有操作留有审计记录。
官方建议:Bot 跑在专用机器或虚拟机上;用日常工作机的话,保持「工作区写入」档位,别对群开放「完全访问」。道理朴素:这是便利和风险的交换,档位就是交换的旋钮。
六、上手:三步,或者干脆先玩演示环境
不想部署,直接玩:打开演示环境 http://gg.uyoqu.com/,注册账号,从「绑定机器」开始。演示环境仅供体验,别放敏感代码。
想自己部署(Docker,两条命令的事):
gitclonehttps://github.com/yoqu/gonggong-space.git&&cdgonggong-space GONGGONG_ADMIN_PASSWORD=初始密码dockercomposeup-d# 打开 https://localhost接入机器:网页右上角「绑定新机器」,复制命令到要跑 Bot 的机器上执行:
gglogin--serverhttps://gg.example.com--codeK7QM-4X2P ggrun 然后新建 Bot → 建群 → @Bot 需求,完事。macOS 用户也可以直接用桌面端(自带 daemon,菜单栏常驻),Windows / Linux 用命令行 gg。

对国内环境的照顾值得一提:默认走 npmmirror 镜像;daemon 能一键安装 Node、Claude Code、Codex;内置主流模型厂商预设,选厂商只填 Key,还能导入 CC Switch 配置。装环境这一步的摩擦,基本被磨平了。
七、名字有点意思:共工
项目取名自上古水神共工。「共」字的甲骨文,是双手合力托举一物的形状;Logo 是两道浪尖托起一枚玉。一群人的机器、一群人的 Agent,合力托起一件事——名字和定位是对上的。
小结:如果你们团队已经在用 Claude Code / Codex,但各自为战、结果看不见,这个项目值得花半小时试试。先去演示环境 @ 一下感受流程,再决定要不要 docker compose 起一套自己的。
- 仓库:github.com/yoqu/gonggong-space(Apache-2.0)
- 文档 / 快速上手:yoqu.github.io/gonggong-space
- 演示环境:gg.uyoqu.com