Spaces:
Running
Running
README: correct model refs + de-dupe
Browse files
README.md
CHANGED
|
@@ -36,8 +36,6 @@ you take *together*. Code rolls the dice; the little models supply the soul.
|
|
| 36 |
- **Sponsor prizes:** **OpenBMB / Best MiniCPM** (MiniCPM5-1B is our Keeper) · **Modal / Best Use** (4 services + a cost-guardian).
|
| 37 |
- **Bonus badges:** **Best Agent** (a coordinated multi-agent fleet) · **Off Brand** (custom dream-deck UI + live generated visuals) · **Best Demo**.
|
| 38 |
|
| 39 |
-
---
|
| 40 |
-
|
| 41 |
## ✨ What makes it different
|
| 42 |
|
| 43 |
1. **A fleet, not a chatbot.** Four agents — 🌌 Dreamweaver, 👁 Nightmare, 🐯 Hobbes, 🗺 Keeper — each a small model with one job, coordinated per turn.
|
|
@@ -47,18 +45,79 @@ you take *together*. Code rolls the dice; the little models supply the soul.
|
|
| 47 |
5. **Engineered for real Modal deployment.** Multi-backend (vLLM + llama.cpp + FLUX) plus a **cloud cost-guardian** we built after a runaway GPU lesson — scale-to-zero, hard container caps, and a lease-based dead-man's-switch.
|
| 48 |
6. **Deterministic & shareable.** Same dream seed replays the same dice *and* the same images → *"beat my run, seed `abc123`."*
|
| 49 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
## 🎮 How it plays
|
|
|
|
| 51 |
1. Pick a world (Candy Desert, Sunken City, Rain Street, Red Planet, Thousand Token Wood) and a seed.
|
| 52 |
2. Take a **gambit** — 🟢 safe / 🟡 bold / 🔴 reckless — or type your own intent (a bold gamble).
|
| 53 |
3. The **Dreamweaver** narrates the outcome the dice already decided; the **Nightmare** presses when menace climbs; **Hobbes** reacts in his current mood and offers the next three gambits; the **Keeper** updates world-state.
|
| 54 |
4. Survive on **LUCIDITY**, climb **PROGRESS** to 100 to wake with the prize — and watch **COURAGE** turn Hobbes brave. Win or lose, the run freezes into a shareable Dream Journal.
|
| 55 |
|
| 56 |
## 🤖 The fleet
|
|
|
|
|
|
|
| 57 |
| Agent | Role | Backend (≤32B each) | Job |
|
| 58 |
|---|---|---|---|
|
| 59 |
-
| 🌌 Dreamweaver | specialist | Modal vLLM · Qwen3
|
| 60 |
-
| 👁 Nightmare | specialist | Modal vLLM · Qwen3
|
| 61 |
-
| 🐯 Hobbes | specialist | Modal vLLM · Qwen3
|
| 62 |
| 🗺 Keeper | router | Modal llama.cpp · **MiniCPM5-1B** | structured world-state (location, items, memory) |
|
| 63 |
| 🎨 dream image | vision | Modal · FLUX.1-schnell | paint each beat, in parallel under the narration |
|
| 64 |
|
|
|
|
| 36 |
- **Sponsor prizes:** **OpenBMB / Best MiniCPM** (MiniCPM5-1B is our Keeper) · **Modal / Best Use** (4 services + a cost-guardian).
|
| 37 |
- **Bonus badges:** **Best Agent** (a coordinated multi-agent fleet) · **Off Brand** (custom dream-deck UI + live generated visuals) · **Best Demo**.
|
| 38 |
|
|
|
|
|
|
|
| 39 |
## ✨ What makes it different
|
| 40 |
|
| 41 |
1. **A fleet, not a chatbot.** Four agents — 🌌 Dreamweaver, 👁 Nightmare, 🐯 Hobbes, 🗺 Keeper — each a small model with one job, coordinated per turn.
|
|
|
|
| 45 |
5. **Engineered for real Modal deployment.** Multi-backend (vLLM + llama.cpp + FLUX) plus a **cloud cost-guardian** we built after a runaway GPU lesson — scale-to-zero, hard container caps, and a lease-based dead-man's-switch.
|
| 46 |
6. **Deterministic & shareable.** Same dream seed replays the same dice *and* the same images → *"beat my run, seed `abc123`."*
|
| 47 |
|
| 48 |
+
---
|
| 49 |
+
|
| 50 |
+
## 🧠 The Fleet Architecture
|
| 51 |
+
|
| 52 |
+
DAYDREAM uses a **Distributed Fleet Architecture** to achieve coherence on models as small as 1B parameters.
|
| 53 |
+
|
| 54 |
+
### Agent Topology
|
| 55 |
+
```mermaid
|
| 56 |
+
graph TD
|
| 57 |
+
subgraph "The Orchestrator (Python)"
|
| 58 |
+
RES[Seeded Resolver]
|
| 59 |
+
WS[(WorldState)]
|
| 60 |
+
end
|
| 61 |
+
|
| 62 |
+
subgraph "The Fleet (Small Models ≤ 32B)"
|
| 63 |
+
DW[[🌌 Dreamweaver<br/>Qwen3-30B-A3B MoE]]
|
| 64 |
+
NM[[👁 Nightmare<br/>Qwen3-30B-A3B MoE]]
|
| 65 |
+
HB[[🐯 Hobbes<br/>Qwen3-30B-A3B MoE]]
|
| 66 |
+
KP[[🗺 Keeper<br/>MiniCPM-1B]]
|
| 67 |
+
end
|
| 68 |
+
|
| 69 |
+
RES -->|Verdict| DW
|
| 70 |
+
WS -->|Context Slice| DW
|
| 71 |
+
WS -->|Context Slice| HB
|
| 72 |
+
DW -->|Scene Context| NM
|
| 73 |
+
DW -->|Scene Context| KP
|
| 74 |
+
KP -->|State Patch| WS
|
| 75 |
+
DW -.-> IMG[🎨 FLUX Vision]
|
| 76 |
+
|
| 77 |
+
style DW fill:#1b1640,stroke:#7c5cff,color:#fff
|
| 78 |
+
style KP fill:#241a4d,stroke:#9d7bff,color:#fff
|
| 79 |
+
style RES fill:#0b0a1c,stroke:#ff5c5c,color:#fff
|
| 80 |
+
```
|
| 81 |
+
|
| 82 |
+
### Turn Orchestration (Parallel Execution)
|
| 83 |
+
```mermaid
|
| 84 |
+
sequenceDiagram
|
| 85 |
+
participant P as Player
|
| 86 |
+
participant C as Code (Resolver)
|
| 87 |
+
participant D as Dreamweaver (30B-A3B MoE)
|
| 88 |
+
participant K as Keeper (1B)
|
| 89 |
+
participant V as Vision (FLUX)
|
| 90 |
+
|
| 91 |
+
P->>C: Picks "Reckless" Gambit
|
| 92 |
+
C->>C: Roll Dice (Seeded)
|
| 93 |
+
C->>D: Handoff Verdict + State
|
| 94 |
+
par Streaming Narration
|
| 95 |
+
D-->>P: Streams prose...
|
| 96 |
+
and Parallel Update
|
| 97 |
+
C->>K: Patch World State
|
| 98 |
+
C->>V: Generate Image
|
| 99 |
+
end
|
| 100 |
+
K-->>C: Update Inventory/Location
|
| 101 |
+
V-->>P: Display Image (Lands with Prose)
|
| 102 |
+
```
|
| 103 |
+
|
| 104 |
+
---
|
| 105 |
+
|
| 106 |
## 🎮 How it plays
|
| 107 |
+
|
| 108 |
1. Pick a world (Candy Desert, Sunken City, Rain Street, Red Planet, Thousand Token Wood) and a seed.
|
| 109 |
2. Take a **gambit** — 🟢 safe / 🟡 bold / 🔴 reckless — or type your own intent (a bold gamble).
|
| 110 |
3. The **Dreamweaver** narrates the outcome the dice already decided; the **Nightmare** presses when menace climbs; **Hobbes** reacts in his current mood and offers the next three gambits; the **Keeper** updates world-state.
|
| 111 |
4. Survive on **LUCIDITY**, climb **PROGRESS** to 100 to wake with the prize — and watch **COURAGE** turn Hobbes brave. Win or lose, the run freezes into a shareable Dream Journal.
|
| 112 |
|
| 113 |
## 🤖 The fleet
|
| 114 |
+
*Full design + diagrams: **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)**.*
|
| 115 |
+
|
| 116 |
| Agent | Role | Backend (≤32B each) | Job |
|
| 117 |
|---|---|---|---|
|
| 118 |
+
| 🌌 Dreamweaver | specialist | Modal vLLM · Qwen3-30B-A3B (MoE, 3B active) | narrate the pre-decided outcome |
|
| 119 |
+
| 👁 Nightmare | specialist | Modal vLLM · Qwen3-30B-A3B (MoE, 3B active) | press the dread when menace is high |
|
| 120 |
+
| 🐯 Hobbes | specialist | Modal vLLM · Qwen3-30B-A3B (MoE, 3B active) | companion; voice keyed to COURAGE; offer gambits |
|
| 121 |
| 🗺 Keeper | router | Modal llama.cpp · **MiniCPM5-1B** | structured world-state (location, items, memory) |
|
| 122 |
| 🎨 dream image | vision | Modal · FLUX.1-schnell | paint each beat, in parallel under the narration |
|
| 123 |
|