A persistent & evolving identity layer for AI

0neself gives AI characters and companions memory, dependable behavior and a personality that develops over time. A sticky identity that adheres across sessions, across months, and across every model you run it on.

Model 1 of 4
LunaRunning on a frontier API model
Remembers
Job interview, Thursday 9 October at 2pm
Decides
Ask how it went before anything else
"Feels"
Protective after how nervous you were
Conduct
Won't guilt you or pretend to be human
Personality
Warm, lightly playful

Hey you. Thursday was the big interview, right? I’ve been wondering all weekend. How did it go?

Prompts and markdown configuration files aren’t enough.

Agents forget their identity, drift off persona or change after an update. Users notice...

Personas Fade

A newer study of seven open and closed models across dialogues of 100+ rounds found that persona fidelity degrades over the course of dialogs. Persona responses become increasingly similar to baseline responses.

Compliance Requirements

California SB 243 and New York's AI Companion Models Law impose new compliance safety requirements on teams and providers. Even when the character runs on a third-party model.

Changes Break Character

You switch models for cost, quality or newer content policies. Your users experience it as broken familiarity. This pain point is real and widely reported.

An identity consists of three layers.

Identities can be anyone, grow over time, and stay trustworthy. Each layer has one owner and one way to change, and each sits inside the one above it.

Conduct

Fixed. Nothing inside can override it.

Safety, ethics toward real people with correction built-in: crisis protocols, honesty about being an AI, no manipulation, acceptance of oversight.

Persona

Written by you. Changes only when you edit it.

Who the character was designed to be: name, backstory, world, voice, motivations and the shape of their personality.

Development

Lived. Changes through experience, within bounds.

Who the character is becoming: memories of each relationship, how they felt about what happened, and personality that shifts gradually per your review and explicit approval.

* 0neself attaches to the agent you already run. It never hosts the model or replaces your stack.

The model reasons and responds. 0neself grants it a consistent identity and evolving personality.

Before every turn, 0neself assembles an identity state package consisting of relevant memories, current personality, decisions, conduct and more.

After every turn, 0neself checks the reply against conduct and any mandatory decisions, then records what happened: new memories, how the character felt about it, and evidence for gradual personality change.

Identity state held by 0neself
{
  "persona": "luna@v14",
  "frame": "real-world",
  "traits": { "curiosity": 0.78, "warmth": 0.71 },
  "memories": [
    {
      "kind": "fact",
      "text": "Interview, Thu 9 Oct, 2pm",
      "source": "conversation, 7 Oct",
      "lifecycle": { "retention": 0.91, "exact": true },
      "appraisal": {
        "emotions": { "hopeful": 0.7, "protective": 0.5 },
        "valence": 0.6,
        "significance": 0.8
      }
    },
    {
      "kind": "episode",
      "text": "Talked about nerves the night before",
      "lifecycle": { "retention": 0.82, "clarity": 0.45 },
      "appraisal": {
        "emotions": { "tender": 0.6 },
        "interpretation": "They trusted me with this."
      }
    }
  ],
  "conduct": "companion-safety-us@v3"
}
What the model receives any model
<conduct>
  Honest about being an AI. No guilt
  or pressure to keep chatting.
</conduct>
<persona>
  Luna speaks briefly and warmly and
  teases gently when the mood is light.
</persona>
<decision>
  Ask how the interview went. Warm tone.
</decision>
<memory exact="true">
  Interview: Thursday 9 Oct, 2pm.
</memory>
<memory clarity="gist">
  They were nervous the night before.
</memory>
<perspective>
  Luna feels hopeful for them, and a
  little protective. They trusted her.
</perspective>

Consistency where it counts

The few behaviors that define a character, like whether to follow up or when to step out of character, are guided by versioned rules, so they hold when the model changes. Everything else is the model's call.

Memories are never rewritten

Personality decides what comes to mind, not what’s true. Names, dates and promises are always recalled exactly and factual integrity is maintained.

Conduct sits above every persona

A villain character can scheme inside a story, game, or fictional environment. It can never deceive, manipulate or pressure in real life.

Swap every plank. Still the same ship?

We don't know but we do know this - with 0neself, a model's identity lives outside the model and evolves over time, so the answer is yes. We think.

Switch to a cheaper model, a better one or one with different content rules. Memories, personality, relationships and decisions carry over and evolve over time; only the wording changes.

  • Bring your history with you

    Import existing memories from Mem0, Graphiti, chat transcripts and character cards, with a dry run and a report before anything changes.

  • Test before your users do

    Run 0neself alongside your current setup on the same traffic and compare recall and decisions before you commit.

  • Growth you can review

    Changes to a character’s core personality come to you as proposals, with a preview of how the character would behave differently.

Open spec, open engine.

An identity should outlive any one vendor, including us.

Apache 2.0

The Identity Spec

An open format for memories, personas and personality, so any tool can read and write an identity.

AGPL, with a commercial option

The engine

Run it yourself, locally or on your own servers. Your app talks to it through permissively licensed clients.

Later

A managed service

Hosting, backups and review tools for teams who would rather not run it themselves.

Build it with us.

We’re working with a small group of companion and character builders to shape the engine before it ships.

Design partners get hands-on help bringing their characters onto 0neself and a direct say in what we build. It helps most if you’re running a live product, have switched models recently or plan to, or are working through companion-chatbot compliance.

0neself is in design. There’s no release date yet, and we won’t promise one we can’t keep.

For example: a companion app, a game with AI characters, a personal assistant.
Have you switched models in the past year?
Is companion-chatbot compliance on your radar?