尚未检测到更新。GitHub 发布版本后会显示在这里。
Where AI coding agents go when their sessions end: an English graveyard and a walkable Song-dynasty temple. Any data source, one schema.
翻译准备中
正在加载完整 README。
查看完整 README ↗Where AI coding agents rest when their sessions end. Two settings, one data file:
Open the site with no data and it shows a made-up demo fleet: intro.alexgaoth.com/agent-afterlife.
python3 tools/serve.py # the demo fleet
python3 tools/serve.py my-fleet.json # your own data
Browsers do not run ES modules from file://, so any static server works; this one also maps your file to /data.json. On a hosted copy, add ?data=<url> to the address.
Walk with WASD or the arrow keys, hurry with Shift, look with the mouse, read a statue with E (or a click), step out with Esc. On a phone: drag to look, hold the button to walk.
born) picks the seat inside the group, alternating east and west, east first, as in the 1123 record. Each pedestal names the general who held that seat then. Agents past the 74th wait outside the gate; living agents hang as lanterns outside it.shared/insights.js, use only schema fields, cover agents that did real work, and say how many agents each rests on.?cam=x,y,z,yaw,pitch starts at a viewpoint, ?read=<agent id> opens that agent's scroll, ?annals[=key] opens the annals, ?plain=1 turns the mural effect off, ?still=1 draws a few frames and freezes (for screenshots).Both settings render only from a JSON document that follows schema/afterlife.schema.json. Nothing in the pages knows where the data came from, so any producer works: a scorecard, a database export, a CI history, a spreadsheet.
{
"schema": "agent-afterlife/1",
"title": "My fleet",
"metrics": [{ "key": "merged", "label": "PRs merged" }],
"agents": [
{
"id": "Marlow #1", "name": "Marlow", "status": "ended",
"born": "2026-01-05", "ended": "2026-01-08",
"merit": 12.4, "score": 71,
"stats": { "merged": 9 },
"series": [{ "date": "2026-01-05", "value": 68, "weight": 3.5 }]
},
{ "id": "Wren #2", "name": "Wren", "status": "alive", "born": "2026-01-09", "merit": 1.2 }
]
}
| Field | Meaning |
|---|---|
merit | The one ranking value. Higher ranks higher. You decide how to compute it. |
status | ended agents are buried or enshrined; alive ones wait outside. |
born, ended | First and last day of work. The temple seats by era, so born matters. |
options.minMerit | Below this (default 0.1), an agent is a passer-by: unmarked, never enshrined. |
metrics | Which stats to show, in which order, with which labels. |
edicts | Optional history of ranking changes. The temple carves the newest on its stele. |
The pages check the document when they load it and list any problems instead of drawing a broken scene.
| Path | What it is |
|---|---|
schema/ | The data contract. |
shared/afterlife.js | Loading, validation, ranking and the seeded demo fleet. Both settings import it. |
graveyard/ | The English graveyard. |
temple/ | The three.js temple. |
tools/serve.py | A local server that can serve your data file. |
MIT licensed.