Skip to content

Identity OS

The personality operating system for AI agents.

Your agent has tools and memory — but does it know who it is?
5 deterministic control dimensions. No LLM cooperation required.

[Get Started](quickstart.md){ .md-button .md-button--primary } [View on GitHub](https://github.com/Xiocasso/identity-os-api){ .md-button }

5 Control Dimensions

666 Automated Tests

<1ms Per Cycle

29% LLM Decision Change

Works with Claude Agent SDK · LangGraph · CrewAI · OpenAI Agents SDK


Where do I start?

:material-rocket-launch: Try it now

Install the SDK, create an agent, process your first observation — in 5 minutes.

Quickstart →

:material-book-open-variant: Understand the model

7 behavioral modes, stress model, drift detection, and the Execution Contract.

How It Works →

:material-puzzle: Integrate

Claude Agent SDK, LangGraph, CrewAI, or OpenAI Agents SDK — pick your framework.

Integrations →


Why not just guardrails or memory?

Guardrails (NeMo, etc.)

Block bad outputs with rules. No identity. No learning. No timing. LLM can sometimes bypass.

0 control dimensions

Memory (Letta, Mem0)

Store and retrieve facts. Static persona text. No adaptation. LLM can always ignore it.

0 control dimensions

Identity OS :material-check-bold:

Deterministic behavioral control. Identity computed from experience. LLM cannot bypass. 5 dimensions.

5 control dimensions


5 Deterministic Control Dimensions

Every dimension is enforced by the engine. The LLM has no say.

:material-tools: Action Space

Which tools are available. Narrows under stress, expands during growth.

25/25 critical goals rejected in crisis.

:material-timer-sand: Timing

When to stop. should_pause, should_escalate, max_steps.

Not advisory. Enforced by framework.

:material-filter: Goals

Accept, defer, or reject tasks before the LLM sees them.

Based on energy, stress, identity alignment.

:material-handshake: Trust

How much to delegate. Stressed agents trust less. Incoherent agents demand verification.

Autonomous/supervised/paired.

+ Personality Influence — graduated alignment scores per action. Personality fades under pressure; safety overrides personality.

Self-Model: Your Agent Knows Itself

Three metrics computed from behavioral history — learned, not configured:

Metric Measures Effect
stress_resilience Recovery speed from stress Low → more cautious at MED stress
trait_stability Behavioral consistency High → more sensitive to drift
energy_efficiency Output per energy unit Informs conservation strategy

An agent that survived 3 crises behaves differently from one that hasn't.


Live Demo: Aria Evolves on X

Aria · Generation 01 · @identityos_dev

An AI agent with persistent identity that evolves through weekly generational lifecycles. Each generation inherits wisdom but starts with fresh behavioral state.

Energy: 96% · Coherence: 98% · Phase: growing

:material-twitter: Follow Aria's evolution →


Validated Results

Experiment Scale Result
Engine adaptation (Y3) 320 cycles × 3 groups +0.32 action delta (2.7x vs stateless)
LLM influence (Path C) 48 A/B pairs 29% decision change (CI: 18-43%)
Personality divergence 4 archetypes × 1000 cycles 4 distinct profiles
Goal filtering 320 cycles, all dims 25/25 rejected in crisis
vs Letta 6 triples IOS 4.2/5 vs Letta 3.8/5

666 automated tests · 2,500+ cycles/sec · < 1ms per cycle


Quick Start

from identity_os.engine import IdentityEngine
from identity_os.engine.config import F6Config
from identity_os.models.types import EngineState, Observation, IdentityProfileConfig
from identity_os.models.enums import Mode

config = F6Config.personality_os()       # all layers enabled
engine = IdentityEngine(config)

state = EngineState(
    identity_profile=IdentityProfileConfig(
        core_modes=["exploration", "connection"],
        risk_posture="seeking",
        description="A curious research agent",
    ),
)

state, drift = engine.process(state, Observation(
    mode_target=Mode.EXPLORATION, signal_strength=0.7,
))

contract = engine.get_execution_contract(state, drift)
print(contract.allowed_actions)     # what tools are available
print(contract.should_pause)        # should the agent stop?
print(contract.trust_profile)       # delegation parameters
print(contract.narrative_prompt)    # "A curious research agent..."

Pricing

Free Indie Pro
Instances 3 50 Unlimited
API calls/mo 10K 100K 500K
Price $0 $29/mo $99/mo

Get Started Free Indie $29/mo Pro $99/mo