u/OpiumPlanet12

AetherState- A living state tracker for AI RP/ERP.

AetherState- A living state tracker for AI RP/ERP.

AetherState sits invisibly between your RP frontend (SillyTavern, RisuAI, Agnai — anything OpenAI-compatible) and any OpenAI-compatible model API, and keeps a persistent, structured "story bible" while you play: who is present, what everyone wears and carries, moods, arousal, relationships, obsessions, cravings, goals, secrets, consent, positions, the scene clock — extracted automatically from the chat and injected back into the prompt, so the model stops forgetting.

  • Genesis seeding — the moment you open a chat, the character card + greeting become a full starting state: clothes, personality-implied gear, moods, obsessions, relationships. Also tracks mature/NSFW-capable state (arousal, relationships, consent) alongside mundane states.
  • Live tracking — a helper model reads new turns as you play and updates the state (every turn by default; set any cadence you like).
  • State briefing injection — a compact, token-budgeted state header rides along with your prompts. The model sees the tracked truth, not its own guesses.
  • Director & linter — beat suggestions and consistency checks (a corrective note when the prose contradicts tracked facts).
  • Memory — events condense into summaries and durable facts, recalled when relevant.
  • Console — a built-in web dashboard to watch and edit state live.
  • Fail-open by design — if anything inside AetherState breaks, your chat continues untouched. It never blocks or edits the story stream.
  • Local-first, private — everything lives in a local SQLite file. No telemetry; there is no switch to turn telemetry on, because it does not exist.

The helper ("assist") model

State tracking is a background job — it never blocks your story. Small local models work well (Llama 3.1 8B on KoboldCpp is plenty; set tier = "small"), or point it at your main API. Thinking/reasoning models are handled automatically: reasoning is disabled for tracking calls, or budgeted if you set [extraction] thinking = "on".

Works with hosted APIs (Venice.AI, OpenAI, OpenRouter, ...) and local engines (KoboldCpp, llama.cpp, Ollama, LM Studio, vLLM, oobabooga). But actively developed, tested primarily against SillyTavern + Venice/OpenRouter.

GitHub Repo

And yes, I am the creator. This is AetherStates first public release, I plan on adding more specializations. Right now its very neutral so it's applicable to almost any RP style, but I want things like a full on RPG mode too, this is what I'm focusing on next. Disclosure: I'm mostly a vibe-coder, and mainly a hobbyist that did this for myself, and thought it would be good enough to share. Enjoy.

u/OpiumPlanet12 — 1 day ago

Epic Seven CS confirmed my Epic Points bug is real, then told me to just buy it without using them.

So their solution to "you can't use your expiring fake money" is "spend more real money anyway and earn more fake money you also can't use."

No fix timeline. No expiration extension. Just "sorry, give us more money."

This is pretty much my experience with support here in a nutshell.

u/OpiumPlanet12 — 17 days ago