Skip to content

核心概念 ​

本页解释共工空间里反复出现的几个概念,以及它们之间的关系。读完再看其他页面会顺畅很多。

关系一览 ​

text
账号(王磊)
 ├─ 机器(wanglei-mbp)── 运行 daemon(gg run 或桌面端)
 │    └─ Bot「后端助手」── Agent:Claude Code / Codex
 │         └─ 每进一个群 → 一个工作区(群 × Bot)
 └─ 群「todo-app」── 绑定仓库 todo-app(基准分支 main)
      ├─ 成员:王磊、李娜、陈晨
      ├─ Bot:后端助手(王磊的)、前端助手(李娜的)
      └─ 消息 ──@Bot──→ 运行(run)──→ 过程 / diff / 审批 / 提问 / 预览
概念属于谁一句话
账号—登录 Web 的身份,角色为系统管理员或普通成员
机器某个账号装了 daemon 并绑定到该账号的一台机器
daemon某台机器机器上的常驻程序,接活并调用本机 Agent
Bot某个账号(归属人)群里可 @ 的 AI 成员,固定跑在归属人的某台机器上
群 / 私聊群成员人和 Bot 一起干活的地方;私聊只有你和你的 Bot
工作区某个 Bot 在某个群Bot 干活的目录,每个「群 × Bot」一个
运行(run)某个 Bot 在某个群@Bot 触发的一轮工作

账号与角色 ​

  • 系统管理员:可进入「管理后台」,新建账号、管理全部 Bot 与群、配置系统参数等。首次启动服务器时自动创建账号 admin。
  • 普通成员:登录后绑定自己的机器、创建自己的 Bot、建群。

默认不开放自助注册,账号由系统管理员创建;首次登录必须修改初始密码。详见 登录与账号、账号与角色(管理后台)。

在群内,成员分为群管理员(管理群设置、成员与 Bot)和普通成员。另外,每个 Bot 的归属人也称 Bot 主人,只有他能审批该 Bot 的越权操作。

机器与 daemon ​

机器是成员用来跑 Bot 的 Mac、PC 或服务器。在上面安装共工空间的 daemon,用 Web 上「绑定新机器」生成的一次性接入链接或绑定命令绑定后,这台机器就归属于你。

daemon 有两种形态,功能相同:

  • 命令行 gg:绑定后执行 gg run 保持运行,见 命令行 gg。
  • 桌面端(macOS,Tauri):自带 daemon,关掉窗口仍在菜单栏运行,见 桌面端。

daemon 会向服务器上报机器名、系统、CPU、内存以及本机可用的 Claude Code / Codex 版本。daemon 断开后,机器显示「离线」,发给它上面 Bot 的任务会排队等待。详见 绑定机器。

Bot ​

Bot 是群里可以 @ 的 AI 成员。它由以下几项决定:

属性说明
归属人Bot 属于谁。成员只能为自己创建;系统管理员可为任何人创建,此时需归属人在通知中确认后才能触发
执行机器归属人名下的一台机器,Bot 的所有工作都在这台机器上进行
AgentClaude Code 或 Codex,使用执行机器上已安装、已登录的 CLI
角色头像与性格形象:默认是共字君,另有 12 个性格角色
系统提示词告诉 Bot 它的职责,同时作为群内简介
触发范围谁能 @ 它干活:任何群成员 / 指定名单 / 仅本人
权限档位只读 / 工作区写入 / 完全访问
命令审批越权请求怎么处理:每次询问 / 白名单自动 / 全部自动,只有 Bot 主人能改
并发上限同时运行的轮次,超出的在本机排队

Bot 的状态有:在线空闲、运行中、离线、agent 缺失(机器上没有检测到所选 Agent),以及未完成绑定时的「待绑定」「待确认」。详见 创建 Bot、Bot 设置与权限。

群与私聊 ​

  • 群:成员和 Bot 一起干活的地方。可以绑定一个 git 仓库,也可以不绑定。
  • 私聊:只有你和你的 Bot,适合个人使用。

在群里 @Bot名 需求 才会触发 Bot;没有 @ 的消息不会触发,只作为上下文带给 Bot。详见 群与私聊、在群里指挥 Bot。

仓库、工作区与模式 ​

  • 仓库:群可以绑定一个 git 仓库地址和基准分支(默认 main)。每个 Bot 用归属人机器上自己的 git 凭据克隆,服务器不替成员保管仓库凭据。
  • 工作区:Bot 干活的目录,每个「群 × Bot」一个,互相隔离。分两种:
    • 托管工作区:daemon 自动创建和管理,位于机器上的 ~/.gonggong/workspaces/ 下;绑定仓库的群里就是该仓库的托管克隆。
    • 本机目录:Bot 主人用 /cd @Bot /绝对路径 让 Bot 直接在自己已有的目录里干活,/cd @Bot --reset 回到托管工作区。
    • 未绑定仓库的群和私聊,使用 Bot 的「默认工作区」(创建 Bot 时可选)。
  • 分区模式:群的同步模式。每个 Bot 在自己的工作区里独立改动,群头部的 Git 条显示各自的分支与同步状态。

详见 仓库与工作区。

运行(run) ​

每次 @Bot 触发一轮运行,群里出现一张运行卡片。运行的状态有:

状态含义
排队中本群该 Bot 的上一轮未结束、工作区还在准备,或 Bot 的并发已满
离线等待Bot 所在机器离线,等待上线(默认最多 30 分钟,群设置可调)
无权触发触发人不在这个 Bot 的触发范围内
运行中Agent 正在干活
等待审批 / 等待回答需要有人处理审批或回答提问
已完成 / 已中断 / 已作废终态;超时未执行的请求会作废

运行中可以追加消息打断并补充要求,也可以用 /stop 停止。Bot 可以通过内置的「交给其他 Bot」工具把任务接力给群里另一个 Bot,形成接力链;Bot 在回复里写 @ 只是提及,不会触发。详见 运行过程、指令参考。

审批与提问 ​

  • 权限审批:Bot 想做超出权限档位的操作(如执行命令)时,按 Bot 的命令审批设置处理;需要人拍板时弹出审批卡片,只有 Bot 主人能批准或拒绝(群管理员也不行);默认等待 30 分钟,超时未处理视为拒绝,等待时长可在群设置里调整。
  • 提问:Bot 拿不准时会向群成员出选择题或问答题,触发人或 Bot 主人可以回答。

详见 审批与提问。

预览 ​

Bot 可以把它启动的网页服务、静态页面、桌面应用画面或小程序发布为预览,群里出现预览卡片,成员在浏览器里直接打开;需要给外部看时可以生成有期限的公开链接。流量经 daemon 与服务器之间的隧道转发,机器上只有已发布的端口可被访问。详见 结果预览、公开分享。

上下文 ​

每个「群 × Bot」对应一个持续的 Agent 会话,Bot 会记得本群之前的对话。群头部的 Bot 条会显示每个 Bot 的上下文占用,快用满时可以:

  • 「压缩上下文」:把此前的对话总结后保留;
  • 「开新对话」:不再带上此前的对话(等同 /new)。

相关页面 ​

基于 Apache License 2.0 开源