yc-software/qm

Multiplayer agent harness for work.

QM – 一个多用户 AI 代理平台

它是什么 – QM(发音为“queue-em”)是一个开源框架,让公司能够为每位员工以及共享的 Slack/Web 频道运行自己的 AI 驱动“代理”。每个用户(或“房间”)都有一个隔离的工作区,拥有自己的记忆、文件、凭据、计划任务和沙盒计算,而同一个代理可以被邀请在这些范围内协作。

为什么重要 – 大多数基于 LLM 的助手都是作为个人机器人构建的。QM 增加了缺失的组织级多租户层:个人隔离、细粒度权限控制,以及在任何您控制的云上运行相同模型无关核心的能力,使用任何 LLM 提供商(Pi、OpenCode、Claude Code 等)。这让初创公司可以将数据、密钥和合规性保留在内部,同时仍然获得 AI 副驾驶的生产力提升。


核心概念

概念 它为您提供什么
个人和共享范围 每位员工都有一个私有沙盒;频道/项目在被邀请时可以共享一个沙盒。
模型无关的框架 核心通过插件与任何受支持的 LLM 通信,因此您可以在不重新部署的情况下更换提供商。
Slack + Web UI 相同的身份和配置在 Slack(通过 Bolt)和 Vite/Lit Web 应用中工作。
管理员控制 组织级策略决定哪些模型/框架可用、安全姿态和共享规则。
技能和技能包 可重用的工具定义(例如,“搜索内部文档”)是有范围的、可授予的,并且可以提升为组织级。
后台工作 Cron 作业、文件监视和入站 Webhook 在沙盒中运行,即使没有用户活跃。

工作原理(高级流程)

  1. API 核心 – 一个基于 Fastify 的 HTTP 服务,保存身份、策略、会话状态和调度器。它与一个 Loop 通信,该 Loop 调用选定的 LLM 框架(Pi、OpenCode、Claude Code 等)。
  2. 每个范围的沙盒 – 一个隔离的容器(或镜像),存储文件、已安装的工具和已登录的服务凭据。核心可以发出一个 execute 工具调用,在该沙盒内运行命令。
  3. 持久化 – PostgreSQL 存储会话、记忆和持久队列。使用 DATABASE_URL 和 SESSION_STORE=postgres,状态在重启后仍然存在。
  4. 插件 – Slack(Bolt)和 Web UI 是轻量级服务,通过其 HTTP API 将用户轮次转发到核心。它们共享相同的身份模型,因此用户的偏好和权限在各个界面中保持一致。
  5. 部署目录 – 所有组织特定的配置(允许的模型、自定义工具、沙盒镜像、密钥)都保存在一个单独的仓库中,qm CLI 会验证并部署该仓库。核心代码本身作为 npm 包 @yc-software/qm 进行版本控制。

安全模型

  • 姿态 – Strict(每次工具调用都需要人工批准)、Auto(默认,阻止私有网络访问)和 Dangerous(无需批准,仅审计)。组织选择默认值;个人范围可以收紧。
  • 内容筛选 – 可选的分类器(off/observe/enforce),可以隔离标记的 LLM 输出。
  • 命令策略 – 预声明的允许/拒绝规则,用于危险操作(例如,递归删除、破坏性 SQL),适用于所有姿态。
  • 隔离与开放共享 – 默认情况下,范围是隔离的;“开放”姿态允许实时人工从共享房间读取选择加入的个人资产。
  • 所有操作都会记录以供审计,代理使用用户自己的凭据运行,而不是共享服务账户。

典型用例

  • 统一搜索 – 在单次交互中查询内部笔记、电子邮件、文档、数据库和网络。
  • 内部应用构建 – 快速创建只有合适人员才能访问的自定义 Web 工具,数据保留在沙盒中。
  • 电子邮件分类 – 学习用户的写作风格,自动标记传入邮件,并按计划起草回复。
  • 开发人员工作流助手 – 在代理内运行测试、打开 PR、监控 CI 和检查日志。
  • 项目跟踪 – 使用共享 Slack 频道获取自动状态更新和后续行动。

入门 / 部署

# 为您的组织初始化部署仓库(Fly、AWS 等)
npm exec --yes --package=@yc-software/qm@latest -- \
  qm init . --org <slug> --target <fly-or-aws>
npm install
  • CLI 会引导您配置身份、连接器(Slack、电子邮件、数据库)、沙盒镜像和 CI。
  • 本地开发运行:
    • npm run dev-instance:web – Web UI + 管理面板
    • npm run dev-instance:slack – 仅 Slack 插件
    • npm run dev-instance:both – 两个界面一起
  • 生产部署使用相同的 CLI(plan、up、check),并依赖 PostgreSQL 存储实现持久性。

自定义和贡献

  • 仅配置自定义 – 维护一个私有部署仓库,固定 @yc-software/qm 包,并添加您自己的工具、技能和沙盒镜像。
  • 源代码级更改 – Fork 仓库,修改核心、插件、CLI 或文档,然后发布私有 npm 包和自定义镜像。
  • 贡献以设计提案(纯 .md/.txt ADR 文件)的形式处理,而不是直接代码补丁;维护者实施批准的更改。

文档和资源

  • 入门 – docs/getting-started.md
  • CLI 参考 – cli/README.md
  • 部署目录契约 – docs/deploy-directory.md
  • 模型网关 – docs/model-gateway.md
  • 沙盒和沙盒镜像指南 – docs/superserve.md
  • 插件完整列表(Slack、Web UI、管理、门户) – plugins/

许可证

MIT(偶尔包含第三方声明)。


底线 – QM 为初创公司提供了一种交钥匙方式,运行一个多租户、自托管的 AI 助手,尊重数据所有权,支持任何 LLM,并与 Slack 和内部 Web 工具紧密集成。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目