yc-software / qm
yc-software/qm
QM 是一个面向初创公司的多人智能体工作平台,支持 Slack 和 Web 界面。每个员工拥有独立工作区,可协作共享记忆、文件、技能和定时任务。核心采用 TypeScript 编写,支持多种模型和 harness,提供严格的安全策略和部署方案。
项目概览
项目概述
QM 是一个面向初创公司的多人智能体(Agent)工作平台,支持在 Slack 和 Web 上使用。它允许每位员工拥有独立的工作区,同时也能在频道、群组和项目中与智能体协作。QM 采用开源设计,支持多种模型和 harness(如 Pi、OpenCode、Codex、Claude Code),部署不绑定单一供应商。
核心功能
- 个人与共享作用域:员工可个性化定制智能体,同时能在 Slack 频道和项目中协作。
- Slack 与 Web 支持:同一身份和配置在 Slack 和 Web 应用间同步。
- 管理员控制:设置组织级配置、安全策略以及可用的 harness 和模型。
- Web 应用:快速创建内部应用并发布给指定人员。
- 共享技能:技能按作用域管理,可通过授权共享,支持管理员提升至全组织,并可从 Git 仓库导入技能包。
- 后台任务:定时任务(Crons)和监视器(Watches)可在无人值守时运行。
适用与不适用场景
适用场景:
- 初创公司需要为团队部署协作式 AI 智能体。
- 需要统一管理内部知识检索、邮件处理、代码仓库操作等任务。
- 需要灵活选择模型和 harness,避免供应商锁定。
不适用场景:
- 个人单用户使用(设计目标是多人协作)。
- 需要深度定制核心代码(建议使用私有 fork 方式)。
- 对安全要求极高且无法接受默认的 Auto 安全模式(需配置外部安全筛查代理)。
技术架构与依赖
- 核心:TypeScript 直接运行于 Node.js,使用 Fastify 处理 HTTP。
- 持久化:PostgreSQL 存储会话、记忆、队列等状态。
- 沙箱:每个作用域有独立的隔离沙箱,支持文件、工具和已登录服务。
- 插件:Slack 插件使用 Bolt,Web UI 使用 Vite 和 Lit。
- 部署:支持 Docker、Fly.io 和 AWS(ECS/ECR/RDS/ALB)。
- 模型与 harness:支持 Pi、OpenCode、Codex、Claude Code 等。
安装与快速开始
部署 QM 无需克隆源码,使用 qm init 初始化部署目录:
npm exec --yes --package=@yc-software/qm@latest -- \
qm init . --org <slug> --target <fly-or-aws>
npm install
初始化会生成部署技能、基础设施配置、Web 登录、连接器凭据、可选 Slack 接入、部署和验证步骤。
典型使用方法
- 内部搜索:同时搜索内部笔记、邮件、文档、数据库和网络。
- 公司知识库:从公司大脑检索信息。
- 内部应用:构建并发布内部应用,保持数据更新。
- 邮件处理:学习写作风格,定时整理收件箱,生成标签和回复草稿。
- 代码仓库操作:运行测试、打开 PR、监控 CI、检查系统日志。
- 项目跟踪:在共享频道中跟踪项目,发布更新和后续事项。
配置与部署要点
- 部署目录:所有组织特定配置(如 org 配置、自定义工具、沙箱镜像、基础设施)放在部署目录中,由
qmCLI 验证和部署。 - 安全模式:支持 Strict(每次工具调用需人工批准)、Auto(默认,使用分类器筛查外部数据)、Dangerous(无筛查)。
- 命令策略:预声明命令策略(如递归删除、破坏性 SQL 的拒绝规则)在所有模式下生效。
- 部署目标:支持 Docker、Fly.io、AWS,需满足相应前置条件(如 Node 24、Docker daemon、AWS 凭据等)。
- 私有 fork:如需深度定制,可创建私有 fork,将自定义内容放在
deploy/layers/<org>/目录。
限制、风险与许可证
- 限制:
sandbox.egress仅验证不强制;extension.deployment-data-proxy为保留项,未实现。 - 风险:Auto 模式依赖内置分类器,外部数据可能绕过筛查;Dangerous 模式无内容筛查。
- 许可证:MIT License(除特别注明外)。
官方链接
信息来源和分析时间
- 信息来源:GitHub 仓库 README、CONTRIBUTING.md、docs/deploy-directory.md、docs/getting-started.md。
- 分析时间:2026-08-01(基于仓库最新发布 v0.1.4 日期推断)。