Netnyahoo
Mac용 실질적인 Chromium으로, Arc 사이드바와 Dia 폴리시를 갖추고 계정 없이 무료·오픈소스이며 광고·추적·소송에 면역이다
아직 감지된 업데이트가 없습니다. 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.