An autonomous agent organism that gets smarter from every experience β running on free OpenRouter models, with an AutoRouter immune to model mortality.
Zoetron is not an agent framework. It is an organism: heartbeat, curiosity, sleep, a world model, a self-model, and an immune system against dead models.
π§ Watch its memory live: zoetron landing page β its brain, ideas board and memory stream on one page, redrawn on every heartbeat Β· 2D knowledge graph Β· 3D brain β every fact it learns becomes a neuron; age fades the glow.
π Watch it get better β or not: football learning curve.
The organism predicts match outcomes from 153,000 games (2000β2024) and is
scored by the actual results, not by a language model. Baseline to beat:
50.2 % on unseen matches, without bookmaker odds; the bookmaker gets
51.5 %. A third set of 13,143 games is sealed and never touches the
organism's machine β because a test set answered a hundred times stops
being a test.
The page itself is a React/Vite/Tailwind/GSAP app in site/ that
builds into docs/.
Goal βββΊ PLAN βββΊ SIMULATE βββΊ SELF-ASSESS βββΊ BUILD βββΊ CRITIQUE
β² β
βββββββββββ score < 8: next iteration ββββββββββ
βΌ
JSONL memory (facts + events) β DREAM distills insights
βΌ
DRIVE generates the next self-chosen goals from knowledge gaps
| Organ | Nature analog | File | What it does |
|---|---|---|---|
| π HEART | heartbeat | heartbeat_daemon.sh |
every 30 min (48/day): REFLEX β PRUNE β DREAM β DRIVE β ACT (+HANDS) β FOOTBALL SCORING β WILL β GENOME β TEACH β SELF-LEARN β TELEGRAM β IDEAS β LEADERBOARD β GRAPH+3D-BRAIN β SELF-DIAGNOSIS β RETRO β git/wiki sync |
| 𧬠GENOME | innate DNA | genome.py |
5 instinct rules (data/genome.json) injected into every LLM prompt β protect memory, creator first, self-preservation watchdog, honesty, learn from every failure |
| π₯ DRIVE | curiosity/drive | drive.py |
generates its own goals from memory gaps β in plain German, with a human-readable "why" |
| π DREAM | sleep/replay | dream.py |
distills experiences into lasting insights + skill proposals |
| πͺ METACOG | self-awareness | metacog.py |
predicts its own scores, measures calibration |
| π SIMULATE | world model | simulate.py |
dry-runs plans before acting on them |
| π SENSES | eyes/ears | senses.py |
watches HN frontier + web search; fresh signals feed DRIVE |
| π¬ RESEARCHER | scout | swarm role 4 | fresh web facts before planning (Phase 2 of ROLES) |
| πΈ SEMANTIC MEMORY | meaning cortex | semantic.py |
TF-IDF + synonym fields + cross-domain bridging: finds related knowledge by meaning, not wording β injected into every plan |
| β HANDS | motor system | hands.py |
executes artifact code in a sandbox; successes become reusable tools (data/tools/) |
| 𧬠EVOLUTION | reproduction | evolution.py |
N solution variants β critic picks the fittest; winners are inherited, losers become forbidden anti-patterns (never repeated) |
| π©Έ METABOLISM | stress axis | metabolism.py |
rate limits & timeouts raise stress β smaller plans; cortisol decay |
| βοΈ PRUNE | apoptosis | prune.py |
archives stale memories, keeps recalled facts, insights are immortal |
| π― WILL | prefrontal cortex | will.py |
long-term missions with measurable targets survive across cycles; they outrank short-term curiosity (whisper still wins) |
| πͺ RETRO | conscience | retro.py |
reviews its own cycles after every heartbeat: honest findings become retro_lesson: facts that feed the next planner prompt |
| πΈ GRAPH+BRAIN | associative cortex | graph.py, graph_view.py, brain_view.py |
live knowledge graph (2D physics view + 3D brain with hemispheres & synapse pulses), semantic linking: synapses form by TF-IDF meaning (cosine β₯ 0.18), not word overlap β "timeout during build" finds "aborted due to time exceeded"; duplicates consolidated automatically |
| π‘ IDEAS BOARD | daydream notebook | ideen.py |
collects its own autonomous ideas (skill wishes, self-chosen goals, dream insights) into a public board β refreshed every heartbeat |
| β‘ REFLEX PATH | spinal cord | ACT-first logic | checks the toolbelt before the LLM thinks β token-free runs for known work; 6 h throttle per goal+tool combo (no spam) |
| π‘ CRITIC | adaptive immunity | swarm.py |
adversarial quality gate (score 0β10); demands runnable code, not prose |
| π¬ WHISPER | human voice | data/fluester_goals.json |
human priority goals jump the queue (logged as drive_whisper) |
| 𧬠INHERITANCE | heredity | vererbung.py |
hands the next attempt its own best measured submission plus the instruction change exactly one thing β before this, every run started from the same toy scaffold and nothing was ever inherited |
| π©Ί SELF-DIAGNOSIS | pain receptors | selbstdiagnose.py |
parses the heartbeat log for crashes, timeouts and tracebacks (organ, error class, file:line) and files them as memory events β a crashed phase used to be absent to RETRO, not failed |
| π€ PATHWAYS | Hebbian synapses | bahnen.py |
persistent weighted edge table with a dopamine gate: only runs that produced runnable code strengthen a connection; unconfirmed links decay to nothing in 4 days |
| π΄ REPLAY | sleep consolidation | nachspiel.py |
in DREAM, re-scores earlier traces once the external measurement has moved β the critic alone is never allowed to reinforce a pathway |
| βοΈ EXTERNAL PROOF | incorruptible judge | externer_beweis.py |
a goal can be closed only by a measurement outside the system; if the critic says converged and the measurement disagrees, the measurement wins |
| π§― CONTRADICTION GUARD | immune tolerance | widerspruch.py |
archives tool-call noise and key collisions in PRUNE β archived, never deleted |
| π ACCOUNT LOCK | hibernation | kontosperre.py |
detects a rate-limited account (needs all candidates failing on account errors, 3+ pieces of evidence), sleeps until the reset time, wakes itself |
| π§± SHIELD | blood-brain barrier | schutzwall.py |
guards os.remove/rmtree/rename outside the sandbox for executed snippets β protection against accident, explicitly not a security boundary |
| π¦ TOOL ADMISSION | quality control | werkzeugpruefung.py |
five rules decide what may enter the toolbox; rejects go to data/tools_abgelehnt/, never to the bin |
| π©» AUTOROUTER | immune system | router.py, model_health.py |
ranks free models by measured failure rate and latency, not by metadata; a model that never answers no longer holds a slot |
| π§ Memory | hippocampus | memory.py |
JSONL facts + event log + keyword recall; auto-deduplicated |
Every 30 minutes (48 cycles/day), Zoetron runs a full developer cycle without human input β and thinks about itself while doing it. Telegram reports arrive once per beat so the thinking never spams the human:
HERZSCHLAG (every 30 min)
ββ β‘ REFLEX toolbelt first β known work runs token-free (6 h throttle)
ββ βοΈ PRUNE archive stale memories
ββ π DREAM distill new insights + skill ideas from recent experience
ββ π₯ DRIVE pick its own next goal (curiosity) or a whispered one (you)
ββ π ACT swarm plans β builds β critic scores 0β10
β score β₯ 8: issue closes itself (status:erledigt) β
β score < 8: evolution breeds better strategies, losers become
β forbidden anti-patterns, winners are inherited
ββ β HANDS artifact code executed in a sandbox; successes become tools
ββ π± TELEGRAM posts the proof of execution (every beat)
ββ β½ SCORING an external judge grades football submissions β no LLM involved
ββ πΈ GRAPH rebuilds the live knowledge graph β semantic synapses
ββ π‘ IDEAS refreshes the public ideas board (its own inventions!)
ββ π©Ί DIAGNOSE reads its own log for crashes and files them as events
ββ πͺ RETRO reviews its own cycles: "what went well / badly?"
findings are stored as lessons for future planners
- Scoring: 0β10 from an adversarial critic LLM; 8+ = converged. Details: Wiki β Scoring
- Whisper channel: humans can inject priority goals via
data/fluester_goals.jsonβ Zoetron executes them before its own curiosity and logs the intervention asdrive_whisper. - Public self-management: issues, label kanban, releases, wiki and the landing page are maintained by the organism itself.
Every heartbeat generates fresh ideas you can watch grow in the open:
| Phase | Typical ideas coming out of it |
|---|---|
| π DREAM | distilled insights ("what did I learn since last beat?") + concrete skill proposals for new abilities |
| π₯ DRIVE | a brand-new goal with a human-readable German why β chosen because memory has a gap there |
| π ACT | runnable Python artifacts per task (code is mandatory, prose alone scores low) |
| 𧬠EVOLUTION | up to 3 fundamentally different attack angles per failure; the fittest becomes inherited strategy |
| πͺ RETRO | honest self-findings like "average score only 1.5/10 β code mandate still too weak" or "N hands failed β build smaller standalone scripts" |
Recent real examples from the memory: "Redesign MemoryStore as self-pruning ring buffer", "Embedding-driven organ integration: replace BFS subgraph extraction with learned similarity", "Enforce MemoryStore contract validator before each hand-action batch; fail fast."
The source code is not public (locked area, all rights reserved). This repository is Zoetron's public logbook: architecture, wiki, live memory, knowledge graph, 3D brain and weekly reports β everything the organism writes about itself, refreshed every heartbeat. There is nothing to install here.
License & collaboration only on a serious, written request via GitHub @djlex83 β with real name, background and a concrete purpose. Licensing requires a contract + NDA.
CLI reference (for license holders)
python -m zoetron.cli run "Your goal" --swarm --save-artifacts out/
python -m zoetron.cli models # inspect the live routing queue
python -m zoetron.cli drive # let it generate its own goals
python -m zoetron.cli dream # sleep phase: consolidate experience
python -m zoetron.cli status # self-model & calibrationConfigured via .env: OPENROUTER_API_KEY and ZOETRON_MODEL=auto
(AutoRouter = model immortality). Without an API key: deterministic mock brain,
all 168 tests pass fully offline. ZOETRON_MODEL=auto automatically discovers
every free tool-capable OpenRouter model and learns from its own runs which ones
perform well.
Today's LLM agents are oracles on demand: frozen weights, no goals of their own, no sleep, no self-knowledge. Zoetron builds the missing organs in software β a self-hosted research organism for continuously learning systems.
Early prototype (v0.x), active development, design changes fast. First live runs showed: the critic catches real product inconsistencies, DREAM diagnoses pipeline bugs from its own experience, and the AutoRouter skips dead models automatically. Milestone: the first fully autonomous goal converged (score 8/10) and closed its own GitHub issue β the complete think β act β assess β close loop now runs unattended on every heartbeat.
Reality check, 23 Aug 2026. A thorough audit found the organism had been recording attempts as successes: of 22 goals reported done, one had actually been achieved, and of 31 registered tools, three did anything. Measurement, tool admission and logging are repaired β convergence must now be scored, tools must pass a four-rule admission check, and aborts are no longer swallowed. The full account, including the numbers we would rather not publish: Werkstattbericht 23.08.2026.
π©πͺ Zugang zum Quellcode: Der Code ist nicht ΓΆffentlich (gesperrter Bereich). Lizenz & Zusammenarbeit nur auf seriΓΆse, schriftliche Anfrage ΓΌber GitHub @djlex83 β mit echtem Namen, Hintergrund und konkretem Anliegen. Formlose Massen-Nachrichten, Werbeangebote und βPreis?β-One-Liner werden ignoriert. Lizenzvergabe erfordert Vertrag + NDA. Alle Rechte vorbehalten.
π¬π§ Source access: The code is not public (locked area). License & collaboration only via serious written request at GitHub @djlex83 β real name, background and a concrete matter required. Generic mass messages, sales offers and one-line βprice?β inquiries are ignored. Licensing requires contract + NDA. All rights reserved.
Alle Rechte vorbehalten β Nutzung/Kopieren/Weitergabe nur mit Genehmigung des Autors. Siehe LICENSE. Anfragen: Issue oder @djlex83.