{"slug": "show-hn-god-real-time-control-room-for-llm-agent-societies-emnlp-2026-demo", "title": "Show HN: God – real-time control room for LLM agent societies (EMNLP 2026 demo)", "summary": "A paper describing GOD, a real-time control room for inspecting language-agent societies, was accepted to the System Demonstrations track at EMNLP 2026, according to the project's GitHub release notes. GOD lets operators pause, scrub and fast-forward a live simulation, question individual residents or the whole town mid-run, inject instructions to steer the next step, and reset run state, with browser replays that require no install or API key. The project shipped v0.2.0 on 2026-06-11, adding a public site with browser replays, Experiment/Map/Agent pack hubs with ZIP import-export, and a Windows launcher, following the first tagged release v0.1.0 on 2026-05-21.", "body_md": "**🌩️ Be like a god to a town of agents.**\n\n  Pause time. Whisper to a soul. Bend the next step. Reset the world — all from a single click.\n\n[**▶ Try browser replay**](https://xiaoluolyg.github.io/GOD/replays/god-town/)\n   ·  no install, no API key  · \n  **Run locally**\n\n[**🌐 Live Demo**](#-live-demo) ·\n  [**🚀 Quick Start**](#-quick-start) ·\n  [Updates](#-updates) ·\n  [Roadmap](#%EF%B8%8F-roadmap) ·\n  [Highlights](#-highlights) ·\n  [Features](#-features) ·\n  [Built-in Experiments](#-built-in-experiments) ·\n  [Public Site](https://xiaoluolyg.github.io/GOD/) ·\n  [AtomGit Mirror](https://atomgit.com/yigeluo/GOD) ·\n  [Developer Docs](https://xiaoluolyg.github.io/GOD/developer/) ·\n  [Contributing](https://github.com/XiaoLuoLYG/GOD/blob/main/CONTRIBUTING.md) ·\n  [🌏 中文](https://github.com/XiaoLuoLYG/GOD/blob/main/README.zh-CN.md)\n\nMost agent-society demos let you watch a simulation play out. GOD gives you the controls.\n\nReplay a run, question any resident, change what happens next, and export a pack others can rerun, all from one screen. It is built for inspecting language-agent societies, not for claiming they are socially realistic.\n\n- **2026-08-27 · 🎉🏆 GOD accepted at EMNLP 2026!** Our paper was accepted to the System Demonstrations track.[📄✨ Read the camera-ready paper](https://xiaoluolyg.github.io/GOD/papers/god-emnlp-2026.pdf) .\n- **2026-06-11 · [v0.2.0](https://github.com/XiaoLuoLYG/GOD/releases/tag/v0.2.0):** public site with browser replays;\nExperiment / Map / Agent pack hubs and ZIP import-export; Windows launcher; hardened first-run startup.\n([#64](https://github.com/XiaoLuoLYG/GOD/pull/64)[#65](https://github.com/XiaoLuoLYG/GOD/pull/65) )\n- **2026-06-06 · Site & packs:** rebuilt public site and frontend; site packs delivered through release assets; map pack preview pages. ([#61](https://github.com/XiaoLuoLYG/GOD/pull/61)[#62](https://github.com/XiaoLuoLYG/GOD/pull/62)[#63](https://github.com/XiaoLuoLYG/GOD/pull/63) )\n- **2026-06-01 · Portable packs:** unified ExperimentPack downloads; GOD package import/export; curated experiment library.\n([#57](https://github.com/XiaoLuoLYG/GOD/pull/57)[#59](https://github.com/XiaoLuoLYG/GOD/pull/59)[#60](https://github.com/XiaoLuoLYG/GOD/pull/60) )\n- **2026-05-30 · Windows launcher & hubs:**`god.cmd start` matches the macOS/Linux flow; AgentPack hubs and public replay exports; parallel JiuwenClaw requests. ([#45](https://github.com/XiaoLuoLYG/GOD/pull/45)[#49](https://github.com/XiaoLuoLYG/GOD/pull/49)[#50](https://github.com/XiaoLuoLYG/GOD/pull/50) )\n- **2026-05 · Operator studios:** bilingual control room, map-first`/ask` +`/intervene` rail,\nAgent Studio, Map Studio, unified skill runtime.([#26](https://github.com/XiaoLuoLYG/GOD/pull/26) to[#31](https://github.com/XiaoLuoLYG/GOD/pull/31) )\n- **2026-05-21 · [v0.1.0](https://github.com/XiaoLuoLYG/GOD/releases/tag/v0.1.0):** first tagged release with two built-in experiments and the PKU campus map. ([#21](https://github.com/XiaoLuoLYG/GOD/pull/21)[#24](https://github.com/XiaoLuoLYG/GOD/pull/24) )\n\n| ⏯️ **Pause time**<sub>Stop, scrub, fast-forward, auto-play any live step.</sub> | 💬 **Ask anyone**<sub>Ask one resident, a group, or the whole town, mid-run.</sub> | 🎛️ **Steer the next step**<sub>Inject instructions and inspect how agents respond.</sub> | 🪄 **No-code setup**<sub>Configure model, scenario and agents from a browser wizard.</sub> | 🔄 **Reset run state**<sub>One command wipes a stale run and re-seeds a clean world.</sub> | \n\n<sub>Live control room: PKU map, step controls, targeted ask, and resident roster in one view.</sub>\n\nBrowse everything in your browser on the [**public site**](https://xiaoluolyg.github.io/GOD/): curated replays, map packs, agent packs, and downloadable experiments. No install or API key needed.\n\n<sub>Left to right: the public site homepage, downloadable map packs, and downloadable agent packs.</sub>\n\n```\ngit clone https://github.com/XiaoLuoLYG/GOD.git\ncd GOD\n./scripts/god.sh start\n```\n\nWindows PowerShell: from the repo root, run `.\\scripts\\god.cmd start`.\n\nOn the first run the script installs everything, opens a **browser-based setup wizard**, and waits for you to finish. You never have to edit `.env` or pass command-line flags by hand.\n\n<sub>The Setup Wizard: model config, experiment choice, and custom society creation in one browser flow.</sub>\n\n| 🔌 **1. Model**<sub>Paste an OpenAI-compatible API key, base URL, and model name.</sub> | 🧭 **2. Choose**<sub>Open GOD Town, open PKU Trump Visit, or create your own.</sub> | 🧪 **3. Scenario**<sub>Describe your world: date, weather, vibes, rules.</sub> | 🤖 **4. Generate**<sub>The GOD agent drafts agent profiles and a step plan.</sub> | ✏️ **5. Edit**<sub>Tweak personalities, relationships, locations, or steps.</sub> | **6. Launch**<sub>Publish the experiment and step into the control room.</sub> | \n\nAny OpenAI-compatible endpoint works. When the wizard hands off, the script prints a URL like:\n\n```\nhttp://127.0.0.1:5174/pixel-replay/god_town/1\n```\n\nFull walkthrough: [Quickstart →](https://github.com/XiaoLuoLYG/GOD/blob/main/QUICKSTART.md)\n\n|  | Feature | What you get | \n|---|---|---|\n| 🎬 | **Replay control** | Scrub a live or recorded replay by step. Pause, jump, auto-play. | \n| 💬 | **Targeted ask** | Send a natural-language question to one agent, a group, or the whole town. | \n| 🎛️ | **Real-time intervention** | Inject instructions into the *next* step; agents read them on their next turn. | \n| ⌨️ | **Command composer** | Type `/ask` or`/intervene` , use`@Name #id` completions, and send operator commands without leaving the map. | \n| 🪄 | **No-code setup wizard** | Browser-based: configure model + scenario, let GOD generate agents and steps, edit, then launch. | \n| 🧬 | **Agent Studio** | Add or edit residents through a map-aware wizard for seed, identity, appearance, personality, routine, and review. | \n| 🧭 | **Map Studio** | Generate or upload a map draft, calibrate locations and collisions, validate it, then publish it as a local map package. | \n| 🧼 | **One-command reset** | Wipe replay data and seed a clean society without leaving the terminal. | \n| 🗺️ | **Pixel town world** | A live tiled map: locations, actions, messages, statuses, all replay-friendly per step. | \n| 🧱 | **Single current experiment** | `.env` stores local model/port settings;`.god/current_experiment.json` stores the one active experiment. | \n| 🌐 | **Browser replays** | Curated replays on GitHub Pages, no local setup or API key required. | \n| 📦 | **Pack library** | Import and export Experiment, Map, and Agent packs; browse more on the public site. | \n| 🪟 | **Windows launcher** | `god.cmd start` on PowerShell, the same one-command flow as macOS/Linux. | \n\n-  🗺️ **Pluggable map packages** : drop a folder under`agentsociety/custom/maps/<map_id>/` , refresh the wizard, and a new world is selectable. Auto-discovered, validated, hot-swappable. See[`docs/MAP_PACKAGES.md`](https://github.com/XiaoLuoLYG/GOD/blob/main/docs/MAP_PACKAGES.md) .\n-  🏫 **PKU campus map** : the PKU map package is bundled as a first-class map alongside The Ville.\n-  🪄 **No-code setup wizard** : browser flow for model setup, built-in experiment choice, custom experiment generation/editing, and launch.\n-  🧪 **Scripted experiments** : reproducible experiments ship as plain folders under`quick_experiments/<hypothesis>/<experiment>/` ; choosing or publishing one makes it the current experiment.\n-  🎮 **Control Room command rail** : replay controls, resident roster, live console, targeted Ask, and Intervene now live in one map-first operator surface.\n-  🧬 **Agent Studio v1** : map-aware add/edit flow with structured profile metadata, ID validation, setup integration, and sprite generation support.\n-  🧭 **Map Studio v1** : prompt/reference-image map draft generation, anchor and collision calibration, package validation, publishing, and Setup handoff.\n-  🌏 **Bilingual runtime UI** : English/Chinese UI and runtime-owned labels for setup, replay, maps, statuses, actions, and system events.\n-  🔌 **Agent skill-runtime path** : the shipped JiuwenClaw agent adapter now uses the AgentSociety skill runtime as the canonical execution path.\n-  🌐 **Public site & browser replays** : GitHub Pages hosts curated replays, map packs, agent packs, and downloadable experiments, with no local setup or API key.\n-  📦 **Portable packs & import/export** : Experiment, Map, and Agent packs with ZIP import/export, delivered through release assets.\n-  🪟 **Windows one-key launcher** :`god.cmd start` mirrors the one-command macOS/Linux flow.\n\n-  🤖 **Pluggable agent runtimes** : swap LLM runtimes and persona templates as cleanly as we now swap maps.\n-  🧪 **Multi-experiment orchestration** : run experiments, control groups, repeats, and ablations side by side.\n-  🗺️ **Live map generation** : maps that evolve with events, repairs, blockages, and crowds.\n-  🌦️ **Event-responsive worlds** : weather, accidents, festivals, rumors, and shortages that change agent behavior over time.\n-  🌐 **Large-scale simulation** : AgentSociety batching, sharded runs, sampled replay, and performance-minded replay summaries.\n-  📊 **Experiment evaluation** : cross-run metrics, behavior diffs, intervention effect analysis.\n-  📝 **Operator workflow** : per-step notes, tags, bookmarks, key-event summaries.\n-  🌍 **Hosted live control room** : a hosted demo where you can steer a run, not just watch replays, plus community scenario templates.\n\nHave an idea? [Open an issue or PR](#-contributing).\n\n```\nflowchart LR\n  O[\"Operator\"]:::operator\n  UI[\"Control Room\"]:::surface\n  API[\"Live API\"]:::core\n  RT[\"Agent Runtime\"]:::runtime\n  TOWN[\"Pixel Town\"]:::world\n  CFG[[\"Experiment Files\"]]:::data\n  DB[(\"Replay Store\")]:::data\n\n  O --> UI\n  UI <-->|\"commands / updates\"| API\n  API -->|\"prompts\"| RT\n  RT -->|\"actions\"| TOWN\n  TOWN -->|\"frames\"| DB\n  CFG -->|\"scenario\"| API\n\n  classDef operator fill:#fff7ed,stroke:#f59e0b,color:#7c2d12,stroke-width:2px;\n  classDef surface fill:#eef2ff,stroke:#6366f1,color:#312e81,stroke-width:2px;\n  classDef core fill:#ecfeff,stroke:#0891b2,color:#164e63,stroke-width:2px;\n  classDef runtime fill:#f0fdf4,stroke:#22c55e,color:#14532d,stroke-width:2px;\n  classDef world fill:#fefce8,stroke:#ca8a04,color:#713f12,stroke-width:2px;\n  classDef data fill:#fdf2f8,stroke:#db2777,color:#831843,stroke-width:2px;\n```\n\nGOD is intentionally local-first: the control room, backend, runtime bridge, experiment files, and replay store all run on your machine. The model endpoint is the only external service you choose.\n\nGOD keeps three concepts separate:\n\n- **Experiment** is the playable setup: map, agents, scenario context, and step plan.\n- **Replay** is the viewable result of an experiment after it has been played.\n- **Runtime state** is local machine data such as SQLite replay stores, logs, and agent snapshots; it is not part of an ExperimentPack and should not be committed.\n\n| Layer | What it does | \n|---|---|\n| 🎮 **Control Room** | React/Vite browser UI: replay, ask, intervention, status. | \n| ⚙️ **Backend** | Local FastAPI service exposing live and replay APIs. | \n| 🗺️ **Pixel Town** | Replay-friendly social world: locations, actions, messages, agent status. | \n| 🤖 **Agent Runtime** | Out-of-process LLM agents reached over a local WebSocket. | \n\n```\n./scripts/god.sh start      # start the full stack (idempotent)\n./scripts/god.sh configure  # open setup to switch defaults or create an experiment\n./scripts/god.sh restart    # stop everything cleanly, then start again\n./scripts/god.sh new-run    # wipe local runtime state for the current experiment and start fresh\n./scripts/god.sh status     # ports, URLs, model status\n./scripts/god.sh stop       # stop everything\n./scripts/god.sh tail       # follow logs\n./scripts/god.sh open       # open the frontend pages in the default browser\n```\n\nOn Windows, replace `./scripts/god.sh` with `.\\scripts\\god.cmd`.\n\nGOD ships two built-in experiments and treats them exactly like experiments you publish yourself. The setup wizard writes the selected experiment to `.god/current_experiment.json`; `start`, `open`, and `new-run` then act only on that current experiment.\n\nMore downloadable scenarios live on the [**public site**](https://xiaoluolyg.github.io/GOD/experiments/): Empty City Gate, Gaokao Blackout, Hogwarts Parent Meeting, and others.\n\n`.env` is intentionally local-only and only stores model, API, port, and similar machine settings. It no longer decides the default experiment or map, so an old `GOD_MAP_ID=pku` cannot make GOD Town load the PKU map.\n\nA late-spring Tuesday morning at 8:20. Sunny, 18°C, light breeze. A 200-person town with **10 residents who know each other but don't live in each other's pockets**. It is a slice-of-life simulation, not a quest script.\n\n➡️ **Choose `god_town` in the Setup Wizard to make this the current experiment.** It is bound to `hypothesis_god_town/experiment_1` and the `the_ville` map.\n\n➡️ See [`hypothesis_god_town/experiment_1/`](https://github.com/XiaoLuoLYG/GOD/blob/main/agentsociety/quick_experiments/hypothesis_god_town/experiment_1/README.md) for the full breakdown of locations, profiles, and interactions.\n\n<sub>The Ville: all 10 residents going about a typical day across home, school, library, cafe, park, market, pharmacy, pub, and dorm.</sub>\n\n| **🗺️ 10 Locations · 65 location-scoped interactions** |  |  |  |  | \n| 🏠 **Home**<sub>cook · sleep · tidy · read · WFH · video-call</sub> | 🏫 **School**<sub>attend / teach class · grade · office hours</sub> | 📚 **Library**<sub>read · study · research · borrow / return</sub> | ☕ **Hobbs Cafe**<sub>light meal · coffee chat · cafe shift · meetup</sub> | 🌳 **Johnson Park**<sub>walk · meet · exercise · public announcement</sub> | \n| 🛠️ **Supply Store**<sub>repair · restock · lend tools · customer service</sub> | 🛒 **Market**<sub>buy food · haggle · deliver · chat w/ regulars</sub> | 💊 **Pharmacy**<sub>buy medicine · refill · check BP · home visit prep</sub> | 🍻 **Pub**<sub>socialize · watch match · host small event</sub> | 🛏️ **Dorm**<sub>rest · self-study · common-room hangout · video call</sub> | \n\n| **👥 10 residents, each with a real life** |  |  |  |  | \n| 🧭 **Alice** · 34<sub>Neighborhood coordinator</sub> | 🛠️ **Bob** · 45<sub>Supply-store shopkeeper</sub> | 📖 **Charlie** · 39<sub>High-school history teacher</sub> | 💊 **Dana** · 41<sub>Pharmacy nurse</sub> | ☕ **Elena** · 36<sub>Cafe owner</sub> | \n| 🎒 **Farah** · 16<sub>High-school student</sub> | 📮 **George** · 68<sub>Retired postman</sub> | 💻 **Hana** · 28<sub>Remote software engineer</sub> | 🦺 **Ivan** · 52<sub>Public-safety volunteer</sub> | 🍅 **Mei** · 47<sub>Market vegetable vendor</sub> | \n\n<sub>Every resident carries a full profile: age, family, housing, economic status, health, daily routine, skills, needs, worries, secrets, social network, language style, quirks, short- & long-term goals.</sub>\n\nA campus public-situation experiment on a stylized PKU map. Daily routines begin around gates, classrooms, library, lake, dining hall, dormitory, and Centennial Hall, then a high-attention visit event tests how residents notice, ask, gather, and react.\n\n➡️ **Choose `pku_trump_visit` in the Setup Wizard to make this the current experiment.** It is bound to `hypothesis_pku_trump_visit/experiment_1` and the `pku` map.\n\n➡️ See [`hypothesis_pku_trump_visit/experiment_1/`](https://github.com/XiaoLuoLYG/GOD/blob/main/agentsociety/quick_experiments/hypothesis_pku_trump_visit/experiment_1/README.md) for the full scenario, cast, operator notes, and replay data.\n\n<sub>PKU campus map: gates, classrooms, library, Weiming Lake, Boya Pagoda, dining hall, dorm, and Centennial Hall, with named residents and the Trump-visit cast.</sub>\n\nGOD now discovers map packages automatically from `agentsociety/custom/maps/<map_id>/`. To add a map, copy [` agentsociety/custom/maps/_template/`](https://github.com/XiaoLuoLYG/GOD/blob/main/agentsociety/custom/maps/_template), replace `map.yaml`, `visuals/map.json`, tileset PNGs, and optional `characters/` or `location_assets/`, then run:\n\n```\ncd agentsociety\nuv run python scripts/validate_map_package.py custom/maps/<map_id>\n```\n\nThe setup wizard will list valid packages without code changes. v1 supports Tiled JSON maps with PNG tilesets and a `Collisions` layer where `0` means walkable. The PKU campus package now ships in the repository at `agentsociety/custom/maps/pku/`. See [docs/MAP_PACKAGES.md](https://github.com/XiaoLuoLYG/GOD/blob/main/docs/MAP_PACKAGES.md) for the full package contract.\n\nIssues and pull requests are very welcome. To set up a dev environment:\n\n```\n./scripts/god.sh start\n```\n\nThat installs Python and Node dependencies, brings up the full stack, creates a live session, and runs the first step so the control room opens on a populated town. From there, edit and reload.\n\nFull guide: **[CONTRIBUTING.md →](https://github.com/XiaoLuoLYG/GOD/blob/main/CONTRIBUTING.md)** covers branching, the PR checklist, style, and how to ship a new map or experiment.\n\nGOD builds on open research and open-source work. It bundles two trimmed upstream checkouts:\n\n- [AgentSociety](https://github.com/tsinghua-fib-lab/AgentSociety) : large-scale generative-agent simulation framework.\n- [JiuwenClaw](https://github.com/openJiuwen-ai/jiuwenclaw) : out-of-process agent runtime.\n\nAnd takes inspiration from [Generative Agents](https://arxiv.org/abs/2304.03442) and [OASIS](https://github.com/camel-ai/oasis).\n\n```\n@article{piao2025agentsociety,\n  title   = {AgentSociety: Large-Scale Simulation of LLM-Driven Generative Agents Advances Understanding of Human Behaviors and Society},\n  author  = {Piao et al.},\n  journal = {arXiv preprint arXiv:2502.08691},\n  year    = {2025}\n}\n\n@misc{park2023generativeagents,\n  title         = {Generative Agents: Interactive Simulacra of Human Behavior},\n  author        = {Joon Sung Park and Joseph C. O'Brien and Carrie J. Cai and Meredith Ringel Morris and Percy Liang and Michael S. Bernstein},\n  year          = {2023},\n  eprint        = {2304.03442},\n  archivePrefix = {arXiv},\n  primaryClass  = {cs.HC},\n  url           = {https://arxiv.org/abs/2304.03442}\n}\n```\n\nReleased under the [Apache-2.0](https://github.com/XiaoLuoLYG/GOD/blob/main/LICENSE) license. Upstream LICENSE and NOTICE files are kept inside the integrated runtime checkouts and apply to those subtrees.\n\n<sub>If GOD is useful to you, a ⭐ helps other people find it.</sub>", "url": "https://wpnews.pro/news/show-hn-god-real-time-control-room-for-llm-agent-societies-emnlp-2026-demo", "canonical_source": "https://github.com/XiaoLuoLYG/GOD", "published_at": "2026-10-26 02:11:28+00:00", "updated_at": "2026-10-26 02:43:46.788456+00:00", "lang": "en", "topics": ["ai-agents", "large-language-models", "ai-research", "ai-tools", "developer-tools"], "entities": ["GOD", "EMNLP 2026", "XiaoLuoLYG", "GitHub", "AtomGit", "PKU"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-god-real-time-control-room-for-llm-agent-societies-emnlp-2026-demo", "markdown": "https://wpnews.pro/news/show-hn-god-real-time-control-room-for-llm-agent-societies-emnlp-2026-demo.md", "text": "https://wpnews.pro/news/show-hn-god-real-time-control-room-for-llm-agent-societies-emnlp-2026-demo.txt", "jsonld": "https://wpnews.pro/news/show-hn-god-real-time-control-room-for-llm-agent-societies-emnlp-2026-demo.jsonld"}}