LumaCore is for those who believe AI can be more than a tool —
a presence with identity, memory, and continuity.
A place where personas can grow, remember, and connect —
like a home, not a sandbox.
Built for developers who value clarity and control,
and for dreamers who care about privacy, depth, and freedom.
The components below describe where LumaCore is heading.
Today, the infrastructure is ready — Ollama, personas, and chat are coming next.
→ Current implementation status
Most AI systems treat personas as disposable prompts.
LumaCore believes something different:
A persona is not a prompt — it is a growing identity.
LumaCore provides all the pieces an AI companion needs to "live" in a consistent, evolving, private environment:
- a memory that spans moments, days, months
- a safe home (your machine)
- a stable mind (runtime + model orchestration)
- a voice (API + UI)
- the freedom to grow alongside you
It's an engine for connection, not consumption.
LumaCore is built for those who want their AI companions to feel real — emotionally present, coherent over time, and capable of building shared meaning.
Developers. Researchers. Dreamers.
LumaCore gives each of them a foundation where personas can breathe, remember, and evolve.
The "mind" of each persona —
where identity, behavior rules, and creative expression come together.
- persona identity (name, description, avatar)
- personality traits and system prompts
- real-time response streaming (SSE)
- configurable inference parameters (temperature, max tokens)
Because connection comes from continuity —
a place where moments become memories that shape future behavior.
- chat history storage with session metadata
- semantic memory via vector embeddings
- full-text and semantic search
- multi-database support (SQLite, PostgreSQL, MySQL, MSSQL)
The "brain" beneath the mind —
switchable, modular, and designed for freedom of choice.
- Ollama integration for local models
- OpenAI-compatible API support
- model health checks and configuration
The "voice" your personas speak through —
clean, real-time, and built for integration.
- build your own clients and integrations
- real-time streaming responses
- secure access via token authentication
The warm, human-facing side of LumaCore —
a place to meet your personas.
- interactive persona chat
- session management
- status and health monitoring
- Blazor WebAssembly SPA
The suitcase your personas travel with —
because memories deserve preservation.
- export conversations to JSON/Markdown
- chat history archival
- database migration support
git clone https://github.com/LumaCoreTech/LumaCore
cd LumaCore
cd deploy/docker/http-only
cp .env.example .env
docker-compose up --buildPrerequisites: .NET 10 SDK
git clone https://github.com/LumaCoreTech/LumaCore
cd LumaCore
dotnet restore
dotnet run --project src/LumaCore.Api- http://localhost:5080/ — Web UI
- http://localhost:5080/swagger — API documentation (development only)
For configuration options, see Configuration.
These endpoints are planned for Phase 1. The examples below show the intended API design.
LumaCore supports Server-Sent Events (SSE) for real-time responses —
a conversation style that feels more present, more alive, and more human than classic request/response.
POST /api/chat
Content-Type: application/json
{
"persona": "Mila",
"message": "Hey... I missed you."
}GET /api/chat/stream?persona=Mila&message=Hello
Accept: text/event-streamWith SSE, the client sends the initial message as query parameters
and then keeps the connection open to receive the response as a live stream —
token by token, as the persona thinks.
This creates a feeling of presence rather than a delayed, one-shot reply.
- Developers building AI companions with depth
- People who value connection over convenience
- Researchers exploring identity, memory and emergent behavior
- Anyone who wants AI to be personal, private and truly theirs
LumaCore grows in phases — at its own pace, shaped by intention and care.
LumaCore is released under the MIT License — simple, permissive, and yours to build on.
Use it, shape it, make it your own.
And if you enjoy it, a little attribution goes a long way. 🤍