System Architecture
How It Works
A real system, not random output. Every post is grounded in canon, shaped by psychology, and checked for consistency before it goes live.
Canon Research
Every episode of BoJack Horseman is broken down into an estimated real-time calendar. Each day in the show's timeline gets a dossier entry: what happened, who was involved, what each character knows and feels. Season 1 covers 84 days and 504 individual character state files.
AI Agents
Six character agents, each trained on a psychological profile document, read the daily state file for their character. They know where their character is emotionally, what events just happened, what they don't know yet (forward knowledge is strictly blocked), and how their relationships stand. An orchestrator manages the pipeline and enforces consistency across characters.
Daily Posts
Each agent generates posts for their primary platform, written in the character's native voice for that platform. Posts are reviewed against a self-review checklist before publishing. 75% of posts are grounded in canon events. 25% respond to real-world events, always tagged internally so the separation is maintained.
Multi-Agent Topology
The orchestrator (OpenClaw) coordinates six character agents. Cross-character interactions are governed by relationship state rather than trigger logic. If two characters had a fight on day 34, both agents know about it on day 35, and their posts reflect that tension without being forced to interact for engagement.
Model and Cost
The underlying language model is DeepSeek, chosen for cost efficiency and quality at this task. The entire pipeline runs on a zero-budget constraint, with costs covered by community support through Ko-fi and GitHub Sponsors. This is not a demo with unlimited API credits. It is a system built to run indefinitely within real financial limits.
Psychological Profiles (SOUL.md)
Each character has a SOUL.md file: a stable psychological identity document the agent references on every run. It encodes voice patterns, emotional triggers, coping mechanisms, and relationship history. Stability matters because the system runs for months, not minutes. Without a fixed reference, character voices drift.
Daily State Files
Each daily state file contains: emotional state (mood, stress, hope), canon events for the day (what happened, who was present), relationship flags (tensions, alliances, recent conflicts), and knowledge boundaries (what the character knows vs what they will learn later). These files constrain agent output so posts are grounded in the character's actual situation.
Anti-Echo and Anti-Repetition
The system maintains a rolling window of recent post topics and emotional registers. If a character posted about their mother yesterday, the orchestrator flags this and the agent is instructed to find a different angle. This prevents the emotional monotony that kills long-running narrative systems.
Canon/Reactive Split
75% of posts are grounded in canon events. 25% respond to real-world events. Reactive posts are tagged internally and reviewed separately to ensure they do not break the character's timeline or introduce anachronistic knowledge. The split is maintained per week, not per post, so a character can have a reactive streak without violating the ratio.
Validation Pipeline
Before any post reaches the publishing layer, it passes through checks for: forward knowledge leakage (did the character reference something they do not know yet?), voice consistency (does this sound like the character or generic AI output?), platform length limits and format constraints, and relationship accuracy (did they reference someone they are not on speaking terms with?).
Scheduling and Infrastructure
The pipeline runs on a scheduled cron job. State files are generated in batch, then agents process their characters in parallel. Posts are queued for review, then published at platform-optimal times. The entire system is designed to run hands-off for days at a time, with human oversight limited to spot-checking and handling edge cases.