ESC
开源 更新于 2026-08-01 00:00 3 分钟阅读

qm — Multiplayer agent harness for work

多人协作智能体工作平台(TypeScript),⭐ 3632

来源:GitHub

qm

A multiplayer agent harness for work. In Slack and on the web.

The QM web UI: two concurrent sessions, a sidebar of personal files, crons, keychain, deploys, memory, and skills

What is QM?

Most agents are designed like personal assistants. You can make one work for a whole company, but it quickly gets complex. QM is designed for startups. Employees each get their own isolated workspace and work independently without affecting each other, and they can also collaborate with the agent in channels, group messages, and projects.

Each person and each room has its own scoped memory, files, keychain view, permissions, crons, web apps, and durable sandbox.

It’s built with open source in mind. 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.

Features

  • Personal and shared scopes. People customize the agent to be theirs, and still work with it collaboratively in Slack channels and projects.
  • Slack and web. The same identity and configuration carries between Slack and the web app.
  • Admin control. Set org-level configuration, a security posture, and which harnesses and models are available.
  • Web apps. Spin up custom internal apps and publish them to the right people.
  • Shared skills. Skills are scope-owned and shareable by grant, with admin-gated promotion to the whole org and skill packs imported from git repositories.
  • Background work. Crons and watches run work while nobody’s watching.

What you can do with it

  • Search internal notes, email, documents, databases, and the web together
  • Retrieve information from your company brain
  • Build internal apps, publish them to the right people, and keep their data current
  • Learn your writing voice from past sends, then triage your inbox on a schedule — labels and reply drafts included
  • Work in an existing repository: run tests, open PRs, monitor CI, check system logs
  • Track a project in a shared channel and post updates and follow-ups

Architecture

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

Every turn runs through a central core, which can use a variety of models and harnesses to generate the response. A Postgres persistence layer holds user data, session history, and other durable state. The agent has a small, fixed tool surface; one of those tools is execute, which runs commands in the scope’s own isolated sandbox — its durable computer, where installed tools stay installed. The web UI, the admin panel, and the public portal are optional plugins over the core’s HTTP API; Slack is an optional in-proc


(内容已截断,完整内容请访问 GitHub 仓库)