yc-software/qm
AI 工程面向团队的自托管多智能体工作台,为每个人与 Slack 频道提供隔离且持久的工作空间。
项目介绍
QM 是一个自托管的团队级 AI 智能体运行框架。它不是全公司共用一个助手,而是让每位员工拥有独立的工作空间,各自带有记忆、文件、密钥视图、权限、定时任务、Web 应用和持久沙箱;同一个人在 Slack 和内置 Web 应用之间保持同一身份与配置,共享频道和项目则成为多人协作使用智能体的房间。
核心层刻意保持通用:中央服务负责身份、策略、调度与智能体循环(基于 Pi,可接多家模型供应商),Postgres 保存会话、记忆和队列。每个作用域有自己的沙箱,execute 工具在其中执行命令。企业与组织相关的配置、自定义工具、技能和基础设施放在部署目录里,而不是核心代码中。记忆可以按作用域路由到外部提供方,同时保留内置笔记本。
它适合希望拥有公司级助手、但不愿把数据和密钥交给托管厂商的创业团队和小型组织:部署在自己的云账户里,模型和密钥自己选。
快速使用
前提:Node 24.15 及以上,以及一个可用的 Postgres 实例作为 DATABASE_URL。
创建组织自有的部署仓库:
npm exec --yes --package=@yc-software/qm@latest -- \
qm init . --org <slug> --target <fly-or-aws>
npm install
初始化过程会生成一份供智能体使用的部署技能,并依次走过基础设施、Web 登录、连接器凭证、可选 Slack 接入、部署和线上验证,无需检出源码。各云厂商的具体步骤见部署指南,首次端到端运行见入门文档。
本地开发需要对着真实模型和真实 Postgres 跑时,可用开发实例脚本启动 Web 或 Slack 界面:
npm run dev-instance:web # Web UI 与设置
npm run dev-instance:slack # Slack
npm run dev-instance:both # 两个界面同时运行
如果只想先试用,可以使用第三方托管的 Agent37。
安全模型
QM 采用与本地编程智能体相同的思路:智能体以所服务的人的身份行事,使用其凭证和权限,所有操作都会审计。组织需要选定一种安全姿态——Strict(每次工具调用都需人工批准)、Auto(默认,禁止访问私有网络)或 Dangerous(无审批门,内容筛查仅观察)。内容筛查是独立的部署设置,提供 off、observe、enforce 三档。预先声明的命令策略(拒绝递归删除、破坏性 SQL 等)在所有姿态下都生效;共享策略则分为 Isolated(默认)和 Open。正式部署前建议阅读威胁模型与已知限制。
使用约束与定制
Postgres 是核心和测试的硬性依赖(DATABASE_URL=<一次性 Postgres> npm test 会为每个测试文件和应用创建临时数据库)。部署配置、工具、技能和基础设施应放在私有分支或独立私有部署仓库的 deploy/layers/<org>/ 下,绝不能提交密钥。只改源码不会改变已部署运行时,除非用仓库内 CLI 从源码构建(依次执行 check、plan、up,最后 check --live)。
贡献方式比较特殊:只接受写在 adrs/ 里的人写设计说明,不接受带代码的 PR,由维护者实现方向一致的提案;漏洞应私下报告,而不是开公开 issue。
HotRepo 点评
该项目在 2026 年 7 月底的 Hacker News 上获得 682 分、163 条评论,讨论重心落在作用域划分而非智能体循环:一位做同类团队协作框架的开发者称,按人隔离作用域加共享房间是公司级助手的“合理答案”评论。这与 QM 的设计投入方向一致——隔离作用域、持久沙箱、Postgres 会话存储——而模型路由则刻意做成可插拔。
讨论中最集中的批评针对随项目附带的 "anti-slop" 前端技能:有评论者认为 22,069 token 的技能本身是个大问题,并对附带这种技能的框架的可信度提出质疑回复。另有人表示产品页面需要翻找才能理解它做什么评论,这也是这一代智能体工具的常见反馈。对采用者而言,实际结论是:QM 是一个偏运维、部署成本较高的系统,在期待团队助手跑起来之前,需要为基础设施、Postgres 和安全姿态的决策预留时间。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。