Files
wehub-resource-sync aa1a5d5763
CI / Release hygiene (push) Waiting to run
CI / Python targeted tests (push) Waiting to run
CI / Frontend build (push) Waiting to run
Pages / Build and deploy public pages (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:18:17 +08:00

132 lines
3.8 KiB
Markdown

# GOD Quick Start
The shortest path from a clean machine to the setup wizard and then a live GOD control room.
> Chinese version: [QUICKSTART.zh-CN.md](QUICKSTART.zh-CN.md)
---
## 1. Prerequisites
You will need:
- macOS/Linux: Python 3.11+, Node.js & `npm`, [`uv`](https://docs.astral.sh/uv/), and `screen`
- Windows: PowerShell 5.1+ and `winget`; the startup script installs missing Git, Node.js LTS/npm, and `uv`
macOS:
```bash
brew install python node uv screen
```
If `git clone` is not available on Windows yet, install Git first with `winget install --id Git.Git -e --accept-package-agreements --accept-source-agreements` or download the repository ZIP.
## 2. Clone
```bash
git clone https://github.com/XiaoLuoLYG/GOD.git
cd GOD
```
## 3. Start
macOS/Linux:
```bash
./scripts/god.sh start
```
Windows PowerShell:
```powershell
.\scripts\god.cmd start
```
`start` is the normal one-command path. It is idempotent, so running it again reuses services that are already up.
On first run, GOD will:
1. Create `.env` from `.env.example`.
2. Install Python + Node dependencies.
3. Start the setup backend/control room.
4. Open the browser setup wizard at `/setup`.
5. Wait for you to save model settings and choose an experiment.
6. Bring up the full stack for that current experiment, create a live session, run the first step, and open the control room.
<p align="center">
<img src="docs/assets/screenshots/02-setup-wizard-en.png" alt="GOD setup wizard" width="100%" />
</p>
In the wizard you can choose one of three paths:
- **Open GOD Town** launches the built-in The Ville baseline.
- **Open PKU Trump Visit** launches the built-in PKU campus experiment.
- **Create Custom Experiment** lets you describe a scenario, generate an editable experiment draft, adjust agents/steps, and then click **Save and Launch**.
Three settings are required:
| Variable | Example |
| --- | --- |
| `GOD_LLM_API_KEY` | `sk-...` |
| `GOD_LLM_API_BASE` | `https://api.openai.com/v1` |
| `GOD_LLM_MODEL` | `gpt-5.4` |
Any OpenAI-compatible endpoint works. The API key is saved only in local `.env`; the browser only receives redacted status. Experiment selection is saved separately in `.god/current_experiment.json`, so `.env` does not control which map or experiment starts.
To switch between built-in experiments or create another experiment later, run:
```bash
./scripts/god.sh configure
```
## 4. Open the control room
When startup finishes, the script opens the control room for the current experiment and prints a URL like:
```text
http://127.0.0.1:5174/pixel-replay/god_town/1
```
If the browser did not open automatically, open that URL. You should see the pixel town, the resident roster, step controls, and the live console.
## 5. Verify
```bash
./scripts/god.sh status
```
You should see every service marked `up`.
## 6. Restart or run fresh
Use `restart` when you want a clean process restart without wiping the current run:
```bash
./scripts/god.sh restart
```
Use `new-run` when the UI shows old replay data or you want a fresh live session:
```bash
./scripts/god.sh new-run
```
`new-run` prints the current experiment run directory, stops services, wipes only that current run state, and starts a clean live session.
## 7. Day-to-day commands
```bash
./scripts/god.sh start # idempotent; reuses running services
./scripts/god.sh setup # install/check dependencies only
./scripts/god.sh configure # switch built-in experiments or create a custom one
./scripts/god.sh restart # stop everything cleanly, then start again
./scripts/god.sh new-run # wipe the current experiment run and start fresh
./scripts/god.sh status # print URLs, ports, and model status
./scripts/god.sh stop # stop everything
./scripts/god.sh tail # follow logs
./scripts/god.sh open # open the frontend pages in the browser
```
On Windows, replace `./scripts/god.sh` with `.\scripts\god.cmd`.