QM:開源的多人 AI Agent 工作框架
Multiplayer agent harness for work. In Slack and on the web. 一個給工作用的多人 Agent 框架,在 Slack 和 Web 上運作。
2026 年,GitHub 上 yc-software/qm 以 9.1K stars 快速崛起。它解決的問題非常具體:目前大多數 AI Agent 是「個人助理」設計——一個人用很好用,但要讓一個 Agent 服務整個公司,很快就會失控。
QM 的答案是:為新創公司設計的多人 Agent 框架。
QM 是什麼?
QM 的核心概念:每個員工都有自己隔離的 workspace,獨立工作互不影響;同時也能在 Slack 頻道、群組訊息、專案中與 Agent 協作。
| 特色 | 說明 |
|---|---|
| 👤 個人與共享範圍 | 每個員工客製化「自己的」Agent,也能在頻道中協作 |
| 💬 Slack + Web 雙介面 | 同一個身分、同一份設定,兩邊通用 |
| 🛡️ 管理員控制 | 組織級設定、安全姿態、可用 harness/模型管控 |
| 📦 Web Apps | 建立內部自訂 App,發布給特定成員 |
| 🧠 共享 Skills | Skill 由範圍持有、可授權分享、管理員可推廣到全組織 |
| ⏰ 背景工作 | Cron 和 Watch 在沒人看的時候持續運作 |
每個「範圍」都有自己的
- 記憶(Memory)
- 檔案
- 金鑰管理(Keychain view)
- 權限
- Cron 排程
- Web Apps
- 持久化沙盒(Durable sandbox)
你能用它做什麼?
- 🔍 同時搜尋內部筆記、Email、文件、資料庫和網路
- 🧠 從「公司大腦」取得資訊
- 🏗️ 建立內部 App,發布給對的人,資料自動更新
- ✍️ 從歷史信件學習你的寫作語氣,定時分類收件匣(含標籤與草稿)
- 💻 在現有 repo 工作:跑測試、開 PR、監控 CI、檢查系統日誌
- 📊 在共享頻道追蹤專案進度,自動發更新與待辦
架構
flowchart LR
DB[("Postgres<br/>sessions · memory · queue")]
subgraph CORE["Headless core"]
API["API · identity · policy · scheduler"]
LOOP["Agent loop<br/>(Pi, OpenCode, Claude Code)"]
API <--> LOOP
end
SBX["Per-scope sandbox<br/>files · tools · logged-in services"]
DB <--> API
LOOP <--> SBX技術亮點
- 每一次 turn 都經過中央核心,可切換多種模型和 harness
- Postgres 持久層存放使用者資料、session 歷史、狀態
- Agent 有固定且小的工具面;其中一個工具是
execute——在範圍自己的隔離沙盒中執行指令 - 沙盒是持久化電腦:安裝的工具會保留
- Web UI、Admin 面板、Public portal 都是核心 HTTP API 上的可選 plugin
- Slack 是 in-process plugin,由核心啟動並監督
- 核心用 TypeScript + Node + Fastify;Slack plugin 用 Bolt;Web UI 用 Vite + Lit
與廠商脫鉤
Pick your own harness and model and switch between them — Pi, OpenCode, Codex, and Claude Code all drive the same core, so a deployment isn’t tied to any single vendor.
同一個核心可以由 Pi、OpenCode、Codex、Claude Code 驅動——部署不綁定任何單一廠商。
安全與機密
QM 的安全性模型跟 OpenCode、Codex、Claude Code 等本地 coding agent 一致:Agent 以它所服務的人的身分行動,使用他們的憑證與權限,所有行為都被稽核。
組織選擇一個安全姿態(Security Posture),較窄的範圍只能更嚴格:
| 姿態 | 行為 |
|---|---|
| Strict(嚴格) | 每個 harness 工具呼叫都暫停等人工批准(除了兩個無副作用結束符) |
| Auto(預設) | 分類器在外部資料與工具結果到達模型前先篩選;部署可指向自己的篩選代理 |
| Dangerous(危險) | 無內容篩選、工具呼叫之間不暫停 |
加上預先宣告的命令政策(核准規則與硬性禁止,例如遞迴刪除、破壞性 SQL)——在 Dangerous 姿態下也適用。
部署:你的雲端帳戶,你的資料
npm exec --yes --package=@yc-software/qm@latest -- \
qm init . --org <slug> --target <fly-or-aws>
npm install
- 初始化會產生一個部署 skill 給 Agent,逐步帶你完成基礎設施、Web 登入、連接器憑證、可選 Slack 存取、部署與驗證
- 每個部署都跑在營運者自己的雲端帳戶(Fly 或 AWS)
- 初始化不會產生或啟用部署 CI
企業客製化:Private Fork 模式
組織可以選擇私有 fork:clone 一份 QM 當 seed,核心保持與 upstream 一致,所有客製化放在 deploy/layers/<org>/:
update-qmskill:合併 upstream 並開 sync PRupstream-prskill:把組織無關的修正送回上游(自動檢查 outgoing diff 不含組織識別資訊)deploy/layers/的內容永遠不會流向上游
授權與貢獻方式
- MIT License(除另有註明)
- 貢獻方式是人類手寫文字而非程式碼:在
adrs/放一個.txt/.md描述你想做的變更,團隊對齊後由他們實作 - 漏洞請私下回報(見
SECURITY.md),不要開公開 issue
為什麼值得關注
| 面向 | QM 的差異 |
|---|---|
| 多人設計 | 不是個人助理,是為「一整個公司」設計的 agent harness |
| 雙介面 | Slack + Web 同一身分,員工在哪都能協作 |
| 廠商中立 | Pi / OpenCode / Codex / Claude Code 自由切換 |
| 資料自主 | 部署在自己的雲端帳戶(Fly/AWS),資料不出門 |
| 範圍隔離 | 每人、每頻道各自有記憶/檔案/金鑰/權限/沙盒 |
| 安全分級 | Strict / Auto / Dangerous 三種姿態 + 命令政策 |
快速資訊
| 項目 | 內容 |
|---|---|
| GitHub | yc-software/qm |
| Stars | 9,100+ ⭐ |
| 定位 | Multiplayer agent harness for work |
| 介面 | Slack + Web |
| 技術 | TypeScript / Node / Fastify / Postgres / Vite / Lit |
| 支援 harness | Pi、OpenCode、Codex、Claude Code |
| 部署目標 | Fly.io、AWS |
| 授權 | MIT |
結語
QM 代表的趨勢很清楚:AI Agent 正在從「個人的第二個大腦」走向「團隊的協作成員」。
當每個員工有自己的隔離 Agent workspace、又能把 Agent 拉進 Slack 頻道一起工作、資料跑在自己雲端帳戶裡——這不是把 Agent 當工具,而是把 Agent 當同事。而 QM 用開源、廠商中立、自託管的方式,讓這件事對新創公司變得實際可行。
本文資料來源:github.com/yc-software/qm README 與專案文件。
