# Y Combinator 把內部跨會計法務工程在用的多 Agent harness QM 開源，MIT 授權

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 原作者：Y Combinator (@ycombinator) · 策展與摘要：EasyVibeCoding · 平台：X (Twitter) · 熱度：🔥🔥🔥🔥 · 日期：2026-08-01

> 原始來源：https://x.com/ycombinator/status/2083243960684908768

## 證據與延伸閱讀

- [Y Combinator 把內部跨會計法務工程在用的多 Agent harness QM 開源，MIT 授權。](https://github.com/yc-software/qm) — 官方 Repository

## 中文摘要

Y Combinator 把內部跨會計法務工程在用的多 Agent harness QM 開源，MIT 授權。

**核心定位**　Y Combinator 表示，QM 是一項仍處早期、已有錯誤的實驗，但目前已在內部展現實用性，並採用 MIT License。YC 內部橫跨會計、法務、活動與工程使用，連 QM 本身也是用它開發的。它是 cloud-first，原生支援 Slack 與 web UI；使用者可直接告訴 coding agent：

```text
deploy https://github.com/yc-software/qm
```

**主要功能**
- 以 crons、webhooks 觸發背景工作，並提供記憶、共享檔案，以及串接公司知識庫的 connectors。
- 支援 Agent browser、可分享的 web app artifacts，以及 multi-player projects。
- 每位員工有自己隔離的 workspace；每個人與每個房間則各有 scoped memory、檔案、權限、keychain 檢視、crons、web apps 與 durable sandbox，也能在 Slack 頻道、群組訊息和 projects 中協作。
- shared skills 可依 scope 授權分享，並由管理員控管提升至全組織；也能從 git repository 匯入 skill packs。
- 可搜尋內部筆記、email、文件、資料庫與網路，建立內部應用程式、處理收件匣、執行測試、開啟 PR、監控 CI 與追蹤系統記錄。

**技術架構與彈性**　QM 的 headless core 以 TypeScript 直接執行於 Node，HTTP 使用 Fastify，Slack plugin 使用 Bolt，web UI 則以 Vite 與 Lit 建置。Postgres 儲存 session、記憶、佇列與其他持久狀態；每個 scope 有獨立 sandbox。Pi、OpenCode、Codex 與 Claude Code 可透過相同核心切換，部署不綁定單一模型或供應商。

**安全設計**　QM 提供 Strict、Auto（預設）與 Dangerous 三種 security posture。Strict 要求每次 harness tool call 都經人工核准，僅兩個無副作用的回合結束工具除外；Auto 會讓分類器篩選已帶來源標記的外部資料與 tool results，才送達模型；Dangerous 不做內容篩選，也不暫停 tool call。不論模式為何，遞迴刪除與破壞性 SQL 等預先定義的命令政策仍會套用。來源另以 `SECURITY.md` 交代威脅模型、維運者假設與已知限制。

![](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/d26a5e838e486e47.png)
> QM web UI 同時開兩個 session：左為 Projects／Chats／Files／Webhooks／Crons／Keychain／Deploys／Memory／Skills 側欄，中間是 Möbius strip 視覺化，右邊是查詢 YC batch 規模的對話

**部署方式**　來源文件提供以下初始化流程；這會建立組織專屬 deployment repository，並引導基礎設施、web 登入、connector credentials、選用的 Slack 存取、部署與驗證。每個部署跑在維運者自己的雲帳號；初始化不會產生或啟用部署 CI，該 repo 也沒有 production 部署 workflow。`npm exec` 會下載並執行來源套件完成初始化，執行前請自行核對：

```bash
npm exec --yes --package=@yc-software/qm@latest -- \
  qm init . --org <slug> --target <fly-or-aws>
npm install
```

**私有客製化**　若想把核心與客製化放在同一份程式庫、又要讓客製化保持私有，來源要求用 plain clone 自建私有副本，絕不要用 GitHub 的 Fork 功能：GitHub fork 會繼承來源 repo 的可見性，公開 repo 的 fork 無法轉為私有，且與原 repo 共用同一物件網路，推上去的 commit 仍可從公開端以 SHA 取得。代價是 clone 出來的是普通 repo，上游 CI workflow 會在你自己的帳號實跑，預期得提供這些 workflow 所需的 secrets，或停用不想跑的。以下流程包含 `git push --mirror` 與 `rm -rf qm-seed.git`，可能覆寫遠端內容或刪除本機資料，屬需人工核對的高風險來源指令：

```bash
gh repo create <org>/qm-private --private

git clone --bare git@github.com:yc-software/qm qm-seed.git
git -C qm-seed.git push --mirror git@github.com:<org>/qm-private
rm -rf qm-seed.git

git clone git@github.com:<org>/qm-private
git -C qm-private remote add upstream git@github.com:yc-software/qm
```

客製內容放在 `deploy/layers/<org>/`；`update-qm` 負責合併上游，`upstream-pr` 則將不含組織資訊的修正送回 QM。

**貢獻方式**　QM 只收人類撰寫的文字說明：把想做的改動寫成 `.txt` 或 `.md` 放進 `adrs/`，若方向一致就由 QM 團隊自行實作；漏洞請私下回報，不要開公開 issue。

## 標籤

開源專案, Agent, Harness, GitHub, Y Combinator
