跳到主要内容
· 阅读需 8 分钟

从 Agent computer 到团队交付:QM 与 CubePlex 的两条路径

xfgong
CubePlex
从 Agent computer 到团队交付:QM 与 CubePlex 的两条路径

QM(Quartermaster)是 YC 开源的自托管多人 Agent harness,它把人、Slack 频道、群组和项目放进 Scope,并把 Scope 用作 Agent 工作环境与权限边界。CubePlex 是面向团队的开源 Agent Workspace:它先定义长期存在的 Workspace Agent,再由 Web、Slack、Discord、Microsoft Teams、飞书/Lark、钉钉与企业微信等入口决定本次运行的会话、身份和执行边界。

这种差别会影响团队每天如何使用 Agent。前一种方式适合把大量独立 Agent computer 纳入公司的权限和运行体系;后一种方式适合让同一个团队 Agent 在不同入口持续工作,又不让私聊、授权和执行环境彼此串用。

QM 与 CubePlex 如何组织 Agent 状态的对比图

QM 的 Scope 是工作环境与权限边界

QM 当前定义了个人、频道、团队、组织和群组五类 Scope。Slack 私聊会进入个人 Scope;频道使用频道 Scope;Slack 的多人私信会进入群组 Scope。项目在实现上也是一个群组 Scope,并可关联一个 Slack 主页频道:频道成员随之成为项目成员,频道也成为计划任务和汇报的默认投递位置。

Scope 不只是界面上的分类。QM 用它决定谁能进入环境、哪些文件层可见、凭据如何授权,以及命令发往哪个持久 sandbox。一个频道 Scope 可以让频道成员围绕共同上下文工作;个人 Scope 默认不把另一位成员的文件或凭据带进来。组织、当前 Scope 与个人 Scope 可以共同参与一次解析,但它们的读写边界不同。

这套模型适合把 Agent 当作一组可配置的工作电脑来运营。团队可以为不同 Scope 准备独立的环境、文件与访问关系,并把 Slack 的人员和频道结构直接纳入 Agent 的边界定义。相应地,频道、项目或群组如果需要不同的工具组合和运行环境,配置也要随 Scope 分别维护。

CubePlex 的 Workspace 定义长期的 Agent

CubePlex 中,Workspace 是团队协作单元,也是 Agent 配置复用的边界。一个 Workspace 的 AgentConfig 保存该 Workspace 的 Persona;Skill 通过 Workspace 绑定提供;MCP 连接器状态也附着在 Workspace。成员从 Web 或 IM 入口发起工作时,面对的是同一套角色设定和基础工具,而不是因为进入了另一个 Slack 频道就换了一份 Agent 配置。

这对团队的价值很直接。研究助手、发布助手或研发助手可以有稳定的职责、指令和技能;团队不必为每个使用它的频道重新建立一套 Persona、Skills 和 MCP 连接器。Workspace 记忆还可以保存项目事实、流程和决策,让下一次工作从已有的团队上下文继续,而不是从一个新的频道 Scope 重新开始。

这并不意味着所有状态都在 Workspace 内共享。CubePlex 的 memory 有个人、Workspace 和组织三层:个人记忆只属于某位成员在当前 Workspace 内的偏好和修正;Workspace 记忆保存团队可复用的事实与流程;组织记忆用于组织范围的知识。MCP 连接器可以在 Workspace 内启用,但凭据授权可落在组织、Workspace 或用户范围。因此,同一个 GitHub MCP 可以被团队使用,同时保留每位成员自己的 OAuth 身份。

聊天入口决定运行边界

本文以 Slack 为例,是因为 QM 的 Scope 会直接使用 Slack 的私聊、频道和多人私信信息。CubePlex 的 IM bridge 同时支持 Slack、Discord、Microsoft Teams、飞书/Lark、钉钉与企业微信;这些入口绑定到同一个 Workspace 后,不会为每个 IM 位置重新创建一套 Agent 能力,而是根据入口构造会话边界。

  • 私聊始终是一对一会话。即使 Bot 采用共享路由,私聊仍使用该成员自己的 Topic、个人记忆和人工确认身份。
  • 群聊可采用共享或隔离路由。共享路由让同一频道成员进入一段共同对话;隔离路由则为同一频道中的每位成员保留各自的对话上下文。
  • 这项路由设置目前按 Bot 账号统一生效,不是逐个频道配置。不同频道仍由各自的 Slack channel ID 区分。

执行环境也遵循这个思路。CubePlex 的 Sandbox 记录绑定到组织、Workspace 和一个 scope tuple;这个 tuple 可以指向用户、会话或 Topic。换言之,Workspace 让团队复用 Agent 的定义和资源配置,而实际运行仍可按个人或协作上下文隔离。

因此,同一个 Bot 在任何入口都有一致的人设、技能和团队知识,但它不应机械地给出完全相同的回答:私聊的历史、个人偏好和用户授权,与群聊中的共享讨论和可见权限本来就不同。这种稳定的 Agent 身份与可控的上下文差异,正是团队协作需要的组合。

复用配置,同时保留隔离

QM 的默认思路是先由 Slack 或项目上下文确定 Scope,再在 Scope 中建立相应的资源与访问关系。CubePlex 的默认思路是先建立 Workspace Agent,再把 IM 入口映射为会话和执行边界。

团队关心的问题QMCubePlex
Agent 的长期定义随个人、频道、群组或项目 Scope 分别组织Persona、Skills、Workspace 连接器和团队记忆在 Workspace 内长期复用
Slack 私聊路由到个人 Scope保持一对一会话、个人记忆和用户身份
Slack 群聊路由到频道或群组 Scope同一 Bot 可按账号选择共享上下文或按成员隔离
执行环境Scope 对应持久 sandboxSandbox 可按用户、会话或 Topic 绑定,仍属于同一 Workspace 的治理范围
连接器认证由 Scope 与授权关系决定连接器可为 Workspace 复用,凭据可按组织、Workspace 或用户授权

QM 的项目 Scope、Slack 名册联动和 Scope 级环境组织有明确的产品语义。CubePlex 则把团队 Agent 的长期定义集中在 Workspace 内,把入口差异留给会话、身份、权限和执行边界处理。对于希望部署一个稳定的团队 Agent、让它出现在多个协作入口,又不希望重复维护每个频道配置的团队,这种组合更接近日常工作方式。

团队交付物留在 Workspace

一项研究、发布准备或客户方案通常不止经历一段对话。成员会补充资料、审阅结果、连接不同系统,并在后续继续修改文档、代码、表格或图片。CubePlex 将这些工作放在同一个 Workspace:成员和角色控制参与范围,Artifact 保留文件、预览和生成结果,Workspace memory 保留可复用的事实,Sandbox 则为具体的用户、会话或 Topic 提供执行状态。

这使团队不必在“共享一个没有边界的 Bot”和“为每个 Slack 位置复制一台 Agent computer”之间二选一。一个 Workspace 可以承载长期的 Agent 能力;不同入口仍保留它们应有的私密性、权限和运行上下文。

来源与版本

开源项目

把 Agent 接进团队的日常工作

CubePlex

面向团队的自托管 AI Agent 工作空间,用来处理文档、数据和跨系统任务,并统一管理权限与执行记录。

查看 CubePlex 源码

CubePi

高性能、可追踪、生产级持久化的 Python 原生异步 Agent 框架。

查看 CubePi 源码