Model or dataset
XiaoLuoLYG/GOD avatar
XiaoLuoLYG/GOD

GOD (Govern, Observe, Direct): A Control Room for Language-Agent Societies

Govern, Observe, Direct - a real-time control room for agent societies

1,113 stars123 forksPythonApache-2.0

At a glance

What is it?
GOD is a Python and React tool that lets an operator pause a running multi-agent simulation, question individual residents, inject instructions into the next step, and export the whole run as a portable pack. It is built for inspecting agent societies, not for arguing that they are realistic.
Who is it for?
Adopt GOD if you already run language-agent societies and need to interrupt them mid-run rather than read a finished transcript, and if one operator at a browser screen is the right shape for your work. Do not adopt it if you need statistical results from unattended batch runs, or if you cannot supply an OpenAI-compatible endpoint, since the agent reasoning depends on one.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 19 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap GOD targets: watching a simulation versus steering one

Most agent-society projects ship a viewer. You start a run, the town plays out, and you read the transcript afterwards. By the time you notice that one resident has drifted into a loop, the run is over and the only fix is to change the prompt and start again from step zero. GOD is aimed at the moment before that: the operator who wants to stop the clock, look at a single agent, and alter what that agent does next. The README states the intent directly, saying the project is built for inspecting language-agent societies rather than for claiming they are socially realistic. That sentence is the most useful thing in the repository, because it sets the bar the tool is trying to clear. The audience is researchers and engineers who already have a generative-agent scenario and want an instrument panel for it, not a framework for building one from scratch. The homepage describes it as a real-time control room for agent societies, and the topics list backs that up with human-in-the-loop and multi-agent-simulation. If your work is a single agent answering a single prompt, this is more machinery than the problem needs.

What the operator actually manipulates during a run

The control surface is described in the highlights table as five actions. Pause time stops, scrubs, fast-forwards and auto-plays any live step. Ask anyone sends a question to one resident, a group, or the whole town while the run is still live. Steer the next step injects instructions and lets you inspect how agents respond. Configure model, scenario and agents happens through a browser wizard rather than a config file. Reset run state is a single command that wipes a stale run and re-seeds a clean world. Taken together, these describe a loop that most simulation tools do not offer: observe a step, interrupt it, change an input, and continue without restarting. The screenshot caption for the control room names the parts in one view: the PKU map, step controls, targeted ask, and the resident roster. That layout matters more than it sounds. Targeted ask and the roster sit next to the step controls, which means selecting an agent and questioning it does not require leaving the timeline. The release notes for May 2026 describe a map-first /ask and /intervene rail, which suggests the questioning and injection paths were reorganised so that both hang off the map rather than off a separate panel.

Architecture as far as the repository shows it

The stack is split. The backend is Python 3.11 or later, and the frontend is React 18 on Vite 6, according to the badges in the README. The two communicate over a local server that the start script brings up, and the browser wizard is the configuration surface, which is why the setup badge reads no-code. The agent reasoning layer is OpenAI-compatible: the topics list includes openai-compatible, and the release notes for 2026-05-30 mention parallel JiuwenClaw requests, so at least one additional backend is wired in alongside the OpenAI-style path. I cannot confirm from the supplied material how many providers are supported or how the provider is selected in the wizard, so treat that as something to check in the developer docs rather than assume. The other architectural piece is the pack system. Experiments, maps and agents are distributed as packs, and the 2026-06-01 release notes describe unified ExperimentPack downloads plus GOD package import and export. That means a scenario is not a directory you hand-edit; it is an archive you import and export through the interface. The public site is the third layer, hosting curated replays and downloadable packs, and the replays run in the browser without an install or an API key.

Getting it running on your own machine

The quick start in the README is three commands. Clone the repository, change into the directory, and run ./scripts/god.sh start. On Windows the equivalent is .\scripts\god.cmd start from the repo root, and the 2026-05-30 release notes say the Windows launcher was brought in line with the macOS and Linux flow. The README notes that the first run does something extra, though the supplied text is cut off at that point, so I cannot tell you what the first-run step does beyond the v0.2.0 note about hardened first-run startup. Python 3.11 or later is a hard floor. The browser wizard handles model, scenario and agent configuration, so there is no documented config file to edit for a first run. Reset is described as a single command that wipes a stale run and re-seeds a clean world, but the README excerpt does not give the command name, so look it up before you rely on it. If you want to see the interface without installing anything, the public site hosts browser replays of a town scenario, and those need no API key.

Where the control-room model breaks down

The design assumes a human at the screen. Everything in the highlights table is an interactive act: pausing, asking, injecting, resetting. That is a poor fit for anyone who wants to run a thousand seeds overnight and analyse the output afterwards, because the interesting controls are the ones a person operates. There is no claim in the material about batch execution, headless mode, or a metrics export, and the emphasis on replays and packs suggests the intended artefact is something a person watches or reruns rather than something a pipeline ingests. The second constraint is the model dependency. The agent layer is OpenAI-compatible, so a run needs a reachable endpoint and whatever credentials it requires. The public replays avoid this because they are recordings, which is exactly why they are the recommended first look: you can evaluate the interface without paying for tokens, but you cannot evaluate agent behaviour that way. Third, the project is young in release terms. Two tagged releases, v0.1.0 in May 2026 and v0.2.0 in June 2026, with a steady run of pull requests between them. The README's own framing, that it is for inspecting societies rather than validating them, should be read as a boundary on what results mean, not as modesty.

How this differs from a general multi-agent framework

Frameworks such as AutoGen or LangGraph are built around composing agents and orchestrating messages between them. The unit of work is a graph or a conversation, and the deliverable is a program that runs. GOD inverts that. The unit of work is a running world with a timeline, and the deliverable is a replay plus a pack that someone else can import and rerun. The difference shows up in the primitives: a general framework gives you message passing and tool calls, while GOD gives you a scrubber, a per-resident ask box, and a next-step injection point. If you need to build a novel agent topology, the framework is the right layer. If you already have agents and want to interrogate their behaviour while they are still running, the framework gives you logs and GOD gives you a control room. The pack format is the other divergence. Exporting a run as an importable archive is a sharing model, closer to a notebook than to a library, and it is why the public site can host downloadable experiments and agent packs alongside map packs.

Maintenance, licensing and what to verify before adopting

The licence is Apache-2.0, which permits commercial use and modification and includes an explicit patent grant. That is the permissive end of the spectrum, and it means you can vendor the code into a closed product if you keep the notices intact. It also means there is no copyleft obligation to publish your modifications. I am not a lawyer and this is not legal advice; check the LICENSE file and your own counsel. On maintenance, the release cadence visible here is roughly monthly through mid-2026, with the most recent push in late August 2026, and the project was accepted to the EMNLP 2026 System Demonstrations track, which is a signal that the authors intend to keep it alive as a research artefact rather than abandon it after a paper. The upgrade cost is concentrated in the pack format and the frontend. Because packs are the sharing mechanism, a format change between versions is the thing most likely to force you to re-export work, and the v0.2.0 notes about ZIP import and export suggest that format is still moving. The practical check is to run the quick start on your machine, confirm Python 3.11 is enough for your scenario, and round-trip one pack of your own through export and import before you build anything on top of it.

Editorial conclusion

Adopt GOD if you already run language-agent societies and need to interrupt them mid-run rather than read a finished transcript, and if one operator at a browser screen is the right shape for your work. Do not adopt it if you need statistical results from unattended batch runs, or if you cannot supply an OpenAI-compatible endpoint, since the agent reasoning depends on one. Before committing, verify on your own machine that ./scripts/god.sh start completes a first run on Python 3.11, that the reset command clears your existing run state rather than merging into it, and that a pack you export from your own scenario imports back without loss.

Official sources

  1. License: Apache-2.0
  2. Project website
  3. README
  4. Releases
  5. XiaoLuoLYG/GOD on GitHub
Community notes

Community notes