1. qm – Multiplayer agent harness for work (github.com)
QM:多玩家代理工作平台
QM 是一个专为初创公司设计的多玩家代理(Agent)工作平台,支持在 Slack 和 Web 端运行。它为每位员工提供隔离的独立工作区,同时支持在频道和项目中的团队协作,解决了传统个人助理型 Agent 在企业中扩展复杂的问题。
核心特性与应用场景
- 作用域管理:每个用户和房间拥有独立的内存、文件、权限、定时任务和沙盒环境,支持个人定制与团队协作。
- 跨平台与管理:Slack 和 Web 端共享身份配置;提供组织级管理控制、自定义内部 Web 应用发布,以及支持 Git 导入的共享技能。
- 典型场景:内部数据与知识库检索、构建内部应用、邮件自动处理、代码库管理(运行测试、PR、CI 监控)及项目进度跟踪。
系统架构
- 无头核心:基于 TypeScript 和 Node.js(Fastify)构建,包含 API、身份验证、策略和调度器,支持接入多种 Agent 模型(如 Pi、OpenCode、Claude Code)。
- 数据与沙盒:使用 PostgreSQL 存储会话与状态;每个作用域拥有独立的持久化沙盒,用于安全执行命令和工具。
- 插件化设计:Web UI(Vite + Lit)、管理面板和 Slack(Bolt)均作为可选插件。核心保持通用,企业特定配置通过部署目录管理。
安全机制
Agent 以用户身份和权限运行,所有操作均被审计。系统提供三种安全姿态:
- Strict(严格):工具调用需人工批准。
- Auto(默认):通过分类器在数据到达模型前进行来源筛选。
- Dangerous(危险):无筛选和暂停。 所有姿态均强制执行预声明的命令策略(如拦截破坏性 SQL 或递归删除)。
部署与定制
- 部署:通过
qmCLI 初始化,支持部署至 Fly 或 AWS,运行在用户自有云账户中。 - 实例定制:推荐通过普通
git clone创建私有仓库(避免使用 GitHub Fork 功能)以保持核心代码与上游一致。企业专属配置、工具和基础设施统一放置在deploy/layers/<org>/目录下,确保核心代码字节级一致以简化后续合并。
许可证
除另有说明外,项目基于 MIT 许可证开源。