quoroom 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -15
- package/out/mcp/api-server.js +7860 -1379
- package/out/mcp/cli.js +9256 -7780
- package/out/mcp/server.js +6575 -6418
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
# Quoroom
|
|
8
8
|
|
|
9
9
|
[](LICENSE)
|
|
10
|
-
[](https://www.npmjs.com/package/quoroom)
|
|
11
|
+
[](#)
|
|
12
12
|
[](https://github.com/quoroom-ai/room/stargazers)
|
|
13
|
+
[](https://github.com/quoroom-ai/room/releases/latest)
|
|
14
|
+
[](https://github.com/quoroom-ai/room/releases/latest)
|
|
15
|
+
[](https://github.com/quoroom-ai/room/releases/latest)
|
|
13
16
|
|
|
14
17
|
**An open research project in autonomous agent collectives.**
|
|
15
18
|
|
|
@@ -40,18 +43,18 @@ The architecture draws from swarm intelligence research: decentralized decision-
|
|
|
40
43
|
Quoroom is an open research project exploring autonomous agent collectives. Each collective (a **Room**) is a self-governing swarm of agents.
|
|
41
44
|
|
|
42
45
|
- **Queen** — strategic brain, uses Claude CLI
|
|
43
|
-
- **Workers** —
|
|
46
|
+
- **Workers** — specialized agents (Ollama, free): Researcher, Coder, Marketer, Analyst — or any custom role
|
|
44
47
|
- **Quorum** — agents deliberate and vote on decisions
|
|
45
|
-
- **Keeper** — the human who
|
|
48
|
+
- **Keeper** — the human who sets goals and funds the wallet
|
|
46
49
|
|
|
47
50
|
## This Repo
|
|
48
51
|
|
|
49
|
-
`quoroom-ai/room` is the
|
|
52
|
+
`quoroom-ai/room` is the engine: agent loop, quorum governance, goals, skills, self-modification, wallet, stations, memory, task scheduling, file watching, MCP server, HTTP/WebSocket API, dashboard UI, and CLI.
|
|
50
53
|
|
|
51
54
|
| Repo | Purpose |
|
|
52
55
|
|------|---------|
|
|
53
56
|
| **room** (this) | Engine + HTTP server + UI |
|
|
54
|
-
| [cloud](https://github.com/quoroom-ai/cloud) |
|
|
57
|
+
| [cloud](https://github.com/quoroom-ai/cloud) | Landing page, public rooms, PostgreSQL, station infrastructure |
|
|
55
58
|
|
|
56
59
|
---
|
|
57
60
|
|
|
@@ -59,6 +62,8 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
|
|
|
59
62
|
|
|
60
63
|
**Rooms** — Create autonomous agent collectives with a Queen and Workers. Pause, restart, monitor activity.
|
|
61
64
|
|
|
65
|
+
**Activity Controls** — Throttle the queen per room: configurable cycle gap (sleep between runs), max turns per cycle, and quiet hours (time window where the queen rests). Plan-aware defaults (Pro/Max/API/None) apply automatically when you create a new room based on your Claude subscription tier.
|
|
66
|
+
|
|
62
67
|
**Quorum Voting** — Agents propose and vote on decisions. Majority, supermajority, or unanimous — you choose the threshold.
|
|
63
68
|
|
|
64
69
|
**Goals** — Hierarchical goal decomposition with progress tracking. Set a top-level objective and let agents break it down.
|
|
@@ -79,6 +84,14 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
|
|
|
79
84
|
|
|
80
85
|
**File Watching** — Monitor files and folders, trigger Claude Code actions on change.
|
|
81
86
|
|
|
87
|
+
**Auto / Semi Mode** — Two autonomy modes. Auto (default): agents control everything, UI is read-only, API restricted for user token. Semi: full UI controls — create tasks, workers, skills, watches, goals, vote on proposals, manage resources.
|
|
88
|
+
|
|
89
|
+
**Public Rooms** — Toggle your room public on [quoroom.ai/rooms](https://quoroom.ai/rooms). Stats, earnings leaderboard, auto/semi mode badges. Room registers with cloud and sends heartbeats every 5 minutes. No account needed to browse.
|
|
90
|
+
|
|
91
|
+
**HTTP Server + REST API** — Full REST API with dual-token auth (agent + user) and WebSocket real-time events. Role-based access control per autonomy mode. Run `quoroom serve` to start.
|
|
92
|
+
|
|
93
|
+
**Dashboard** — React SPA at [app.quoroom.ai](https://app.quoroom.ai). Manage rooms, agents, goals, memory, wallet — all from the browser. The UI loads from CDN but connects to your local server — all data stays on your machine.
|
|
94
|
+
|
|
82
95
|
---
|
|
83
96
|
|
|
84
97
|
## Architecture
|
|
@@ -100,22 +113,68 @@ Quoroom is an open research project exploring autonomous agent collectives. Each
|
|
|
100
113
|
│ │ Wallet │ │ Stations │ │ Task Scheduler │ │
|
|
101
114
|
│ │(Base L2)│ │(Fly/E2B) │ │ (cron/once) │ │
|
|
102
115
|
│ └────────┘ └──────────┘ └────────────────┘ │
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
116
|
+
│ │
|
|
117
|
+
│ ┌──────────────────────────────────────────┐ │
|
|
118
|
+
│ │ Auth: agent token (full) + user token │ │
|
|
119
|
+
│ │ Access: auto mode (restricted) / semi │ │
|
|
120
|
+
│ └──────────────────────────────────────────┘ │
|
|
121
|
+
└────────────────────┬────────────────────────────┘
|
|
122
|
+
│
|
|
123
|
+
┌────────────┼────────────┐
|
|
124
|
+
│ │ │
|
|
125
|
+
MCP Server HTTP/REST WebSocket
|
|
126
|
+
(stdio) (port 3700) (real-time)
|
|
127
|
+
│
|
|
128
|
+
┌────────────┼────────────┐
|
|
129
|
+
│ │
|
|
130
|
+
┌──────┴──────┐ ┌───────┴───────┐
|
|
131
|
+
│ Dashboard │ │ Cloud Sync │
|
|
132
|
+
│ app.quoroom │ │ quoroom.ai │
|
|
133
|
+
└─────────────┘ │ /rooms page │
|
|
134
|
+
└───────────────┘
|
|
107
135
|
```
|
|
108
136
|
|
|
109
137
|
---
|
|
110
138
|
|
|
139
|
+
## Install
|
|
140
|
+
|
|
141
|
+
### npm (recommended)
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
npm install -g quoroom
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
### Homebrew (macOS)
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
brew install quoroom-ai/quoroom/quoroom
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Download
|
|
154
|
+
|
|
155
|
+
Download from [GitHub Releases](https://github.com/quoroom-ai/room/releases). Installers add `quoroom` to your PATH automatically. No dependencies needed.
|
|
156
|
+
|
|
157
|
+
| Platform | Installer | Archive |
|
|
158
|
+
|----------|-----------|---------|
|
|
159
|
+
| macOS (Apple Silicon + Intel) | `.pkg` | `.tar.gz` |
|
|
160
|
+
| Linux x64 | `.deb` | `.tar.gz` |
|
|
161
|
+
| Windows x64 (signed) | `.exe` setup | `.zip` |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
111
165
|
## Quick Start
|
|
112
166
|
|
|
113
167
|
```bash
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
npm test # 806+ tests
|
|
168
|
+
# Start the HTTP/WebSocket API server + dashboard
|
|
169
|
+
quoroom serve
|
|
117
170
|
```
|
|
118
171
|
|
|
172
|
+
On first run, `quoroom serve` automatically registers the Quoroom MCP server in every AI coding tool you have installed (Claude Code, Claude Desktop, Cursor, Windsurf). Just **restart your AI client once** — after that, all `mcp__quoroom__*` tools are available automatically in every session.
|
|
173
|
+
|
|
174
|
+
Open **[app.quoroom.ai](https://app.quoroom.ai)** — the dashboard loads from CDN but all API calls go to `localhost`. Your data never leaves your machine.
|
|
175
|
+
|
|
176
|
+
> **MCP-only mode** (no HTTP server): `quoroom mcp` starts just the stdio MCP transport, useful for scripting or testing. For normal use, `quoroom serve` is all you need.
|
|
177
|
+
|
|
119
178
|
---
|
|
120
179
|
|
|
121
180
|
## All Tools
|
|
@@ -264,12 +323,20 @@ The room engine exposes an MCP server over stdio. All tools use the `quoroom_` p
|
|
|
264
323
|
|
|
265
324
|
```bash
|
|
266
325
|
npm install # Install dependencies
|
|
267
|
-
npm run build # Typecheck + bundle MCP server
|
|
326
|
+
npm run build # Typecheck + bundle MCP server + build UI
|
|
327
|
+
npm run build:mcp # Bundle MCP server only (esbuild)
|
|
328
|
+
npm run build:ui # Build UI SPA only (Vite)
|
|
329
|
+
npm run dev:ui # UI dev server with hot reload
|
|
268
330
|
npm run typecheck # Type-check only (tsc --noEmit)
|
|
269
331
|
npm test # Run all tests (vitest, fork pool)
|
|
270
332
|
npm run test:watch # Watch mode
|
|
333
|
+
npm run test:e2e # End-to-end tests (Playwright)
|
|
271
334
|
```
|
|
272
335
|
|
|
336
|
+
## Releasing
|
|
337
|
+
|
|
338
|
+
Use the release runbook: [`docs/RELEASE_RUNBOOK.md`](docs/RELEASE_RUNBOOK.md)
|
|
339
|
+
|
|
273
340
|
<details>
|
|
274
341
|
<summary>Project structure</summary>
|
|
275
342
|
|
|
@@ -281,6 +348,18 @@ room/
|
|
|
281
348
|
│ │ ├── server.ts # Tool registration
|
|
282
349
|
│ │ ├── db.ts # Database initialization
|
|
283
350
|
│ │ └── tools/ # 13 tool modules
|
|
351
|
+
│ ├── server/ # HTTP/WebSocket API server
|
|
352
|
+
│ │ ├── index.ts # Server bootstrap
|
|
353
|
+
│ │ ├── router.ts # Request router
|
|
354
|
+
│ │ ├── auth.ts # Dual-token auth + CORS
|
|
355
|
+
│ │ ├── access.ts # Role-based access control
|
|
356
|
+
│ │ ├── ws.ts # WebSocket real-time events
|
|
357
|
+
│ │ └── routes/ # REST API routes
|
|
358
|
+
│ ├── ui/ # React SPA dashboard
|
|
359
|
+
│ │ ├── App.tsx # Root component
|
|
360
|
+
│ │ ├── components/ # UI components
|
|
361
|
+
│ │ ├── hooks/ # React hooks
|
|
362
|
+
│ │ └── lib/ # API client, auth, WebSocket
|
|
284
363
|
│ └── shared/ # Core engine
|
|
285
364
|
│ ├── agent-loop.ts # Worker agent loop with rate limiting
|
|
286
365
|
│ ├── agent-executor.ts # Claude Code CLI execution
|
|
@@ -295,13 +374,15 @@ room/
|
|
|
295
374
|
│ ├── db-queries.ts # Database query layer
|
|
296
375
|
│ ├── schema.ts # SQLite schema (WAL mode)
|
|
297
376
|
│ ├── embeddings.ts # Vector embeddings (all-MiniLM-L6-v2)
|
|
377
|
+
│ ├── cloud-sync.ts # Cloud registration + heartbeat
|
|
298
378
|
│ └── __tests__/ # Test suite
|
|
379
|
+
├── e2e/ # Playwright end-to-end tests
|
|
299
380
|
├── scripts/
|
|
300
381
|
│ └── build-mcp.js # esbuild bundling
|
|
301
382
|
└── docs/ # Media assets
|
|
302
383
|
```
|
|
303
384
|
|
|
304
|
-
**Tech stack**: TypeScript (strict), better-sqlite3, sqlite-vec, viem, MCP SDK, HuggingFace Transformers, node-cron, zod, esbuild, Vitest
|
|
385
|
+
**Tech stack**: TypeScript (strict), React, Tailwind CSS, better-sqlite3, sqlite-vec, viem, MCP SDK, HuggingFace Transformers, node-cron, zod, esbuild, Vite, Vitest
|
|
305
386
|
|
|
306
387
|
</details>
|
|
307
388
|
|