共工空间 Vibe 项目
自托管 AI 协作平台,把团队成员的电脑接进群聊,Bot 过程、diff、审批全群可见,跑好的网页直接在群里点开。
项目简介
共工空间(gonggong-space)是一个面向小团队的自托管 AI 协作平台。它解决一个非常具体的痛点:团队里人人都在用 Claude Code 和 Codex,但 Agent 全被关在各自的终端里——你让 Agent 改了接口队友不知道,你机器上配好的环境队友用不上,Agent 起的服务只在本机 localhost 别人打不开。共工空间把每台成员电脑接进同一个群聊,机器上的 Agent 就成了群里可以 @ 的 Bot:@ 谁谁的机器开工,过程、改动和结果对全员可见,做好的网页直接在群里打开。项目目前为 v0.3.0,Apache-2.0 协议开源。
核心功能
- 群聊即指挥台:@ 谁谁开工,追加消息可打断补充,/stop 随时叫停,Bot 还能把手上的任务接力给群里另一个 Bot。
- 过程与改动全群透明:思考过程、工具调用、命令输出实时回传;diff、Git 状态、文件树随手查看,每轮 token 与上下文占用一目了然。
- 结果一键预览:网页、接口服务、静态报告、小程序模拟器都能在群里直接打开操作,还能生成限时公开链接,不再困在某台机器的 localhost。
- 三档权限与审批:只读 / 工作区写入 / 完全访问三档权限,越权操作只有 Bot 主人能批准;Bot 拿不准时会在群里出选择题问人。
- 国内开箱即用:默认 npmmirror 镜像,daemon 可一键安装 Node、Claude Code、Codex,内置主流模型厂商预设,选厂商只填 Key,可导入 CC Switch 配置。
- 飞书集成:支持在飞书体系下配置映射 Agent,飞书群聊一样可以派活协作,后台配置在网页端完成。
技术实现
共工空间的架构分为四层。服务端(apps/server)基于 Node.js 22+、Fastify 和 PostgreSQL 17,只负责账号、群、消息路由、预览中继和审计——不保管仓库凭据,也不调用模型,模型调用从成员机器本机直接发出。客户端(apps/web)是 React + Vite 的 Web 群聊界面,桌面端(apps/desktop)用 Tauri 构建,自带常驻菜单栏的 daemon。daemon 与 gg 命令行(crates/gonggong)用 Rust 编写,只主动向外建立出站连接,因此家里的 NAT、公司的防火墙都不用管,无需折腾内网穿透。Agent 接入层通过 ACP(Agent Client Protocol)标准化接入 Claude Code 和 Codex,适配层是插件式设计,便于扩展更多 Agent;内置 gonggong MCP 让 Bot 可以检索群聊记录、查看群成员与运行记录、向群成员提问。每个「群 × Bot」一个独立工作区(~/.gonggong/workspaces/),群绑定 git 仓库后 Bot 用主人自己的 git 凭据克隆,不同机器上的 Bot 共用工作区时冲突自动三方合并。桌面应用与小程序的实时画面由 crates/gg-cast 推流,线上契约统一定义在 packages/protocol(zod)。安全上支持 HTTPS 加密传输(daemon 接受自签证书)、三档权限位与完整审计记录。
快速上手
- 起服务:
git clone https://github.com/yoqu/gonggong-space.git && cd gonggong-space,然后GONGGONG_ADMIN_PASSWORD=初始密码 docker compose up -d,打开 https://localhost;不想部署可直接用演示环境 http://gg.uyoqu.com 注册体验。 - 接入机器:从 Releases 下载 gg 命令行或 macOS 桌面端,在网页右上角「绑定新机器」复制命令,在要跑 Bot 的机器上执行
gg login --server --code,再运行gg run。 - 新建 Bot 并建群:在群里创建 Bot、绑定它所在机器的工作区与仓库,把队友拉进群。
- @ 派活:在群里 @Bot 描述需求即可开工,过程和 diff 实时可见;越权操作会弹审批卡片,Bot 主人点一下放行;做完的网页群里点开直接看。
适用人群
- 多人协作、各自电脑上都跑 Claude Code / Codex 的开发小团队,希望上下文与改动全群对齐。
- 需要让产品经理、测试等非开发角色直接 @ Bot 提需求、看结果的团队。
- 手头有闲置电脑、想把它变成群里随叫随到的 Agent 工作站的开发者。
- 数据敏感、要求模型调用不经第三方服务器、希望自托管部署的团队。
评论与建议
登录 后参与评论或提建议