概要
QM は、スタートアップ向けに設計された マルチプレイヤーAIエージェント基盤。 Slack とウェブで動作し、各ユーザーが 独立した作業空間 を持つ。 個人と共有のスコープ を両立し、柔軟な コラボレーション が可能。 オープンソース 志向で、複数のAIモデル・ハーネスを切替可能。 セキュリティと運用管理 も重視した設計。
QMとは何か
- QM は、複数人が同時に使える AIエージェント基盤
- Slack や ウェブアプリ で動作し、同じエージェントとやり取り可能
- 従来のパーソナルアシスタント型エージェント の課題(複雑化)を解決
- 各従業員に 独立したワークスペース を提供
- 個人作業と チームでの協働 を両立
- スコープごとのメモリ・ファイル・権限・サンドボックス を持つ設計
- オープンソース 志向で、ベンダーロックインを回避
主な特徴
- 個人スコープ と 共有スコープ の両立
- 自分専用のエージェント設定とカスタマイズ
- Slackチャンネル やプロジェクト単位での共同作業
- Slack と ウェブアプリ 間で同一のエージェント体験
- 管理者機能 による組織レベルの設定やセキュリティ管理
- カスタムWebアプリ の簡単な作成・公開
- スキルの共有 とGitリポジトリからのスキルパック導入
- バックグラウンドジョブ (CronやWatch)による自動化
できること
- 社内ノート・メール・ドキュメント・DB・Web を横断検索
- 社内アプリ の構築・公開・データ更新
- 過去の送信履歴 から文章スタイルを学習し、受信箱を自動仕分け・返信案作成
- 既存リポジトリ でのテスト実行・PR作成・CI監視・ログ確認
- 共有チャンネル でのプロジェクト進捗管理・更新投稿
アーキテクチャ概要
- Postgres による永続化(セッション・メモリ・キュー)
- ヘッドレスコア (API・認証・ポリシー・スケジューラ)
- エージェントループ (Pi, OpenCode, Codex, Claude Code等のモデルを切替)
- 各スコープごとのサンドボックス (ファイル・ツール・サービス連携)
- Web UI・管理パネル・Slackプラグイン はコアAPIへのオプションプラグイン
- TypeScript + Node で実装、 Fastify でHTTP、 Bolt でSlack連携、 Vite + Lit でWeb UI
セキュリティと秘密情報管理
- 本人の権限・認証情報 でエージェントが動作
- 全操作の監査ログ を記録
- セキュリティポスチャ の選択肢
- Strict :全ツール操作に人間の承認必須
- Auto(デフォルト) :外部データやツール結果を分類器でスクリーニング
- Dangerous :スクリーニング・承認なし
- コマンドポリシー で破壊的操作を制限
- SECURITY.md で脅威モデル・運用前提・既知の制限を明示
導入方法
- 組織専用リポジトリ の作成と@yc-software/qm依存のセットアップ
- npmコマンド で初期化・インフラ設定・認証・Slack連携までガイド
- クラウドアカウント 上で独自にデプロイ
- CI/CDは自動生成されず、本番デプロイフローも含まない
- 詳細は deployment.md 参照
カスタマイズと運用
- デプロイ用リポジトリ で設定・サンドボックスレイヤー管理
- コードベース全体を一元管理 したい場合は プライベートクローン 推奨
- GitHubの「Fork」機能は使わず、 plain clone で運用
- deploy/layers/<org>/ 配下に組織固有の設定・ツール・スキル・インフラを配置
- コア部分は本家とバイト単位で一致 させ、マージコストを最小化
- update-qm と upstream-pr で双方向同期を維持
参考ドキュメント
- docs/getting-started.md — 初回セットアップ手順
- cli/README.md — qm CLIとデプロイディレクトリ仕様
- docs/deploy-directory.md — デプロイディレクトリ詳細
- .env.example — 全設定項目のサンプル
- plugins/ — Slack・Web UI・管理・ポータル各プラグイン
ライセンス
- MIT License (特記なき場合)で提供