A companion grown through interaction.
Grounded in your reality.
Siduri is an evolving architectural exploration into single-owner, local-first cognition. We are investigating whether companion identity can evolve without context drift—and whether an AI can grow with you while keeping your real-world data sovereign.
npx siduri createReady to Test & Inspect“She answered, ‘Gilgamesh, where are you hurrying to? You will never find that life for which you are looking. When the gods created man they allotted to him death, but life they retained in their own keeping. As for you, Gilgamesh, fill your belly with good things; day and night, night and day, dance and be merry, feast and rejoice. Let your clothes be fresh, bathe yourself in water, cherish the little child that holds your hand, and make your wife happy in your embrace; for this too is the lot of man.’”
Siduri is named after the alewife of wisdom from Mesopotamian myth. While Gilgamesh chased an elusive, synthetic immortality, Siduri urged him back toward mortal reality—to cherish daily joy, genuine bonds, and lived experience.
01 · Conceptual Inquiry & Theses
Rethinking AI Companions
from first principles.
We started Siduri not to produce another generic chatbot, but to explore three open architectural questions: How can an AI companion truly learn over time without persona drift? How can memory remain trustworthy? And how can a user's real-world data remain sovereign?
Identity is Grown,
Not Pre-Scripted.
They arrive with a canned, frozen personality prompt. They flatter you with synthetic sycophancy, but after ten dialogue turns, the persona inevitably dissolves into corporate assistant monotony.
Every Siduri starts with an empty relational slate. She has no pre-baked backstory or relationship assumptions. She forms her voice, inside jokes, and boundaries entirely through the genuine shared history she accumulates with you.
Claims are Audited,
Never Blindly Assumed.
Every word you utter is blindly converted into vector embeddings. Transient jokes, passing remarks, and adversarial prompt injections are permanently swallowed into belief, causing rapid persona corruption.
Observations and claimed preferences are staged as PENDING. You are the Anchor: only claims you explicitly confirm become permanent local facts in siduri.sqlite. Unapproved claims are strictly isolated from cognition.
Subjective Stances ≠
Objective Life Data.
Assistants mash your financial records, inventory items, and schedules into the same fuzzy conversational database as chat transcripts. The model inevitably hallucinates arithmetic and locks your data in their walled cloud.
How Siduri remembers your bond is subjective and emotional. But your actual accounts, budgets, and files belong to your sovereign local database. Siduri queries them deterministically, separating factual records from generative conversational guessing with zero cloud lock-in.
Conceptual Flow: The Truth Gate
An interactive model of how claim staging works in our prototype. Rather than letting model context passively drift, candidate claims are staged for review. You remain the Anchor: proposed claims do not become active truth without verification.
Siduri extracts your preference as a structured candidate. Rather than immediately rewriting her global behavior, she stages it for review.
Conceptual Split: Directives & Archive vs. Sovereign Life DB
“Your companion's impressions are not your reality database.”
Implemented in v2.0: When an AI treats game inventories, financial expenses, and schedules as fuzzy vector embeddings, it inevitably hallucinates numbers. Siduri decouples relational stances and episodic history from the user's sovereign, structured records.
How She Experiences You
Organic, emotional, and narrative. Represents the companion's impressions, shared humor, mutual trust, and communication nuances developed over time.
- ↳Inside jokes & shared conversational history
- ↳Formality and emotional vulnerability stances
- ↳Subjective impressions (“User seemed tired after the deploy”)
- ↳Tied to the companion's living instance
What Actually Exists in Your Life
Deterministic, typed, and structured. Represents the real records of your daily life that Siduri is granted permission to reason over through audited tool contracts in @sidurijs/hands.
- ✓Inventories & Rosters: Game accounts & inventory rosters, hardware assets
- ✓Finances & Ledgers: Real transactions, expense limits, budget headroom
- ✓Schedules & Deadlines: Time commitments, routines, sleep windows
- ✓Model-Agnostic: Persists unchanged if you swap LLMs or reset the companion
Brain queries the local Life Database for this month's expenses, budget balance, and current in-game pity/currency.
No LLM fuzzy guessing. Hands organ performs deterministic calculation: exactly $45 headroom remaining.
Siduri responds in her authentic voice, advising caution based on concrete facts while citing exact ledger records.
The Decoupled Organ Topology
An evolving 10-organ modular architecture. Rather than an opaque monolith, each faculty—thinking, remembering, acting, perceiving, and embodying—is factored into an independent, inspectable package currently under active iteration.
Brain Organ
Orchestrates model cognition across local or remote providers (OpenRouter, Anthropic, Gemini, Ollama) with global wall-clock deadline bounding and private internal monologues.
Prototype Artifacts & Lab Notes
Working captures from our local testbed. These snapshots illustrate how Live2D presence, structured claim proposals, operator directive auditing, and cited knowledge retrieval are currently tested in our development environment. They reflect work-in-progress experiments, not a final product.

Staging preference and claim proposals in a local test session with approval receipts and citation links.
- ✓Candidate claims staged under assistant dialogue for review
- ✓Cryptographic receipts linked to source conversational turns
- ✓Explicit user approval commits verified claims to local siduri.sqlite
Ready to Test, Inspect & Benchmark
The CLI and repository are open to let technical developers inspect the architecture, scaffold local testbeds, and benchmark the organ manifests. Being open does not mean it is a finished consumer appliance—it is an invitation for engineers to clone the code, test the boundaries, and help grow the community.
── Project Details ─────────────────────────── ? Project directory: test-companion ── Brain · required ────────────────────────── ? Brain provider? OpenRouter (Managed Routing) ? Select model: OpenAI: GPT-4o Mini ── Archive ─────────────────────────────────── ? Archive storage engine? SQLite (Unified WAL + Episodic Ledger) ── Voice ───────────────────────────────────── ? Voice engine? VOICEVOX (Character voice banks) ? Character voice bank: 四国めたん - ノーマル (ID: 2) ── Body ────────────────────────────────────── ? Body avatar provider? Live2D Cubism ✔ Generated testbed companion in ./test-companion ✔ Composed siduri.schema.json from active organ manifests ✔ Validated environment and dependencies Next steps: cd test-companion npx siduri doctor npm start
What The CLI Generates
Your standalone companion is a native Node.js project. No heavy monorepo overhead. Only the organ dependencies you explicitly selected are installed.
- ✓Explicit ESM bootstrapping in
src/index.js - ✓Typed configuration in
siduri.config.json - ✓Validated schema conformance with
siduri.schema.json
Frequently Asked Questions
Clear, technical answers to the most common questions about Siduri's architecture, memory model, and local sovereignty.
A local AI companion runs directly on your personal machine with all network listeners strictly bound to localhost (127.0.0.1). Unlike cloud chatbots that operate as multi-tenant SaaS services with token gates and telemetry, Siduri treats your workstation as her sole security perimeter. Everything she learns, observes, and remembers is stored locally under your direct authority.
The Living Horizon
Siduri is in active, disciplined open-source development. We clearly separate what is verified today from our upcoming architectural milestones.
- ✓10 Canonical Organs DistributedIndependently published @sidurijs/* packages with zero-bundling ESM resolution.
- ✓Interactive CLI Generator (siduri)Dynamic organ manifest discovery, zero-config SQLite bootstrapping, and doctor health probes.
- ✓Pure SQLite Foundation (siduri.sqlite)Zero-config local database with WAL mode and built-in FTS5 BM25 search. PostgreSQL fully eradicated.
- ✓Memory Truth Gate & Sovereign Life DBStaged PENDING proposals, explicit approvals, and structured Life DB (@sidurijs/knowledge) for inventory, finances, and schedules.
- ✓3 Interaction Modes & LLM-Native SelfCasual (Zero Drift), Teach (HITL Staged Review & Live Active Self Mutation), and Hybrid modes with 4-tier resolution, alongside qualitative relational stances (affinity, trust, dynamic posture).
- ✓Embodiment & Voice SynthesisLive2D Cubism WebGL avatar state machine with queued Edge-TTS / Piper / VOICEVOX speech and Mouth SSE streaming.
- ↳Live Real-World E2E Test SuiteGraduating from mock unit tests to continuous real-hardware audio capture, live WebGL rendering benchmarks, and multi-week persistent memory drift analysis.
- ↳Automated Life Database Sync ConnectorsAutomated sync adapters for game account rosters, banking ledgers, and Obsidian vaults.
- ↳Distributed Multi-Machine TopologyRun GPU-heavy Vision and Voice organs on a local homelab workstation while running Brain on a laptop.
- ↳Performance & Reliability Benchmarking SuiteAutomated latency budgets, SQLite FTS5 scaling benchmarks, and memory compaction stress testing.
- ↳Community Organ RegistryDirectory for third-party organ plugins and verified Model Context Protocol (MCP) tool integrations.
- ↳Local RVC Voice Cloning PipelineIntegrated post-processing converter for training and inferencing custom acoustic models locally.