Skip to content

Guide · Open source

How to use QM: deploy a multiplayer agent for your team

Updated · written with AI from the project's own documentation and checked against our catalogue data

QM is an MIT-licensed, self-hosted agent system for a small company or startup. Each employee gets an isolated workspace, and the team can talk to the agent privately, in Slack channels, or through a web app. This guide shows how to start an organization deployment and what you need before you begin.

QMyc-software/qm · ★ 15.6k · MIT

Quick start

  1. 1Confirm prerequisites. Check that you have Node.js 24.15 or newer, npm, a Fly or AWS account, and Postgres available.
  2. 2Initialize the deployment. Run the qm init command with your org slug and cloud target inside an empty deployment directory.
  3. 3Install dependencies. Run npm install in the deployment repository.
  4. 4Follow the initialization walkthrough. Let the generated deployment skill guide infrastructure, web sign-in, connector credentials and optional Slack access.
  5. 5Configure persistence. Set DATABASE_URL and SESSION_STORE=postgres so sessions survive restarts.
  6. 6Verify before going live. Use the dev-instance commands to test web or Slack against a real model and Postgres.

Check the prerequisites before you start

QM is a deployment for an organization, not a personal chatbot. The README lists Node.js 24.15 or newer, npm, a cloud account on Fly or AWS, and Postgres for durable sessions.

  • Node.js 24.15+
  • npm
  • A cloud account (Fly or AWS)
  • Postgres for durable sessions
  • Comfort deploying a Node.js and Postgres service

Initialize an organization deployment repository

Create an organization-owned deployment repository that depends on @yc-software/qm. Run the init command from the directory you want to use, replacing <slug> with your org slug and <fly-or-aws> with your cloud target.

Initialization materializes a deployment skill for an agent and walks through infrastructure, web sign-in, connector credentials, optional Slack access, deployment, and live verification. Each deployment runs in your own cloud account.

npm exec --yes --package=@yc-software/qm@latest -- qm init . --org <slug> --target <fly-or-aws>

Install dependencies in the deployment repository

After initialization, install the dependencies in the deployment repository.

npm install

Understand what the deployment controls

Config, custom tools, skills, sandbox image, and infrastructure live in the deployment directory, which the qm CLI validates and deploys. The core itself is generic. Set DATABASE_URL and SESSION_STORE=postgres for durable sessions; without them, sessions live in process memory and vanish on restart.

  • Org config, custom tools and skills, sandbox image, and infrastructure live in the deployment directory
  • Models and harnesses (such as Pi or Claude Code) are selectable
  • Persistence uses Postgres when DATABASE_URL and SESSION_STORE=postgres are set
SESSION_STORE=postgres

Pick a security posture and sharing mode

An org picks one security posture: Strict pauses every harness tool call for human approval, Auto (the default) blocks private-network access, and Dangerous removes tool approval gates. Sharing defaults to Isolated, where resources stay in their scope unless explicitly shared. Open lets the speaker's opted-in personal resources be read in an opted-in shared room.

  • Strict: every harness tool call pauses for human approval
  • Auto (default): blocks private-network access
  • Dangerous: no tool approval gates; content screening only observes
  • Isolated (default) sharing: resources stay in their scope
  • Open sharing: opted-in personal resources may be read in opted-in shared rooms

Test locally before going live

To exercise a branch against a real model and real Postgres, the README lists dev-instance commands: npm run dev-instance:web for web and admin, npm run dev-instance:slack for Slack, and npm run dev-instance:both to test both together.

npm run dev-instance:both

What people use it for

  • Give a startup team one shared agent in Slack that can work in project channels
  • Keep model API keys and company data inside your own cloud account
  • Let admins restrict which models, harnesses and security settings employees can use
  • Build internal web apps that the agent maintains and publishes to the right people

Frequently asked questions

Is QM free to use?

QM is released under the MIT licence, according to the README badge and repository. You still pay for your own cloud account, Postgres and model providers, which the README says you supply.

What do I need to install QM?

The README lists Node.js 24.15 or newer, npm, a cloud account on Fly or AWS, and Postgres for durable sessions. You create a deployment repository with the qm init command and then run npm install.

Can I run QM without Slack?

The README describes a web app and an admin panel as well as Slack. Slack is an optional in-process plugin, and the dev-instance commands include a web-only option.

Why do my sessions disappear after a restart?

The README says that without DATABASE_URL and SESSION_STORE=postgres, sessions live in process memory and vanish on restart. Set both to keep sessions durable.

Is QM a good alternative to a personal chatbot?

QM is designed for organization deployments, so a simple personal chatbot is a poor fit. The README says it targets startups where employees each get an isolated workspace.

Does QM have a hosted version?

The README mentions a third-party hosted version at agent37.com/qm. The project itself is self-hosted and deployed into your own cloud account.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

QM suits startups and small teams that want one shared, self-hosted agent in Slack and on the web, and that are comfortable running a Node.js and Postgres service in their own cloud. If you want a personal assistant or a fully managed product with no infrastructure work, pick something else, or use the third-party hosted version the README mentions.

Install options & downloads