A local-first cognitive architecture for building a persistent digital companion.
Arcon is not designed to be "just another AI assistant." It is an attempt to build a digital entity that can remember, learn, develop relationships, maintain a sense of identity, and eventually reason, reflect, and interact with the world over long periods of time.
β οΈ Project StatusArcon is under active development and its architecture is evolving rapidly. While many core cognitive systems already exist, the project is not production-ready and breaking changes should be expected.
Most AI assistants forget everything once the conversation ends.
Some assistants remember information, but they still behave like stateless chatbots with a memory database attached.
Humans don't work that way.
People develop:
- identity
- experiences
- relationships
- interests
- emotions
- long-term goals
- understanding
Those systems continuously influence how we think before we speak.
Arcon is an experiment in building those systems as independent architectural components instead of hiding everything inside a prompt.
The long-term vision of Arcon is to create a persistent digital companion capable of:
- π§ Long-term personal memory
- β€οΈ Emotional modelling
- π€ Identity and personality
- π€ Relationship awareness
- π Learning from experience
- π Curiosity-driven conversations
- π Internal reasoning
- πͺ Reflection and self-improvement
- π₯οΈ Computer interaction
- π Local-first operation
Rather than becoming a better chatbot, Arcon aims to become a better thinker.
Arcon follows a few fundamental principles.
Everything important should work without cloud services.
The user owns their data.
No core behaviour should depend on remote APIs.
Memory should not know about emotions.
Emotions should not know about prompt generation.
Prompt generation should not know how memories are stored.
Every cognitive system should have one clear responsibility.
Arcon should know why it remembers something.
Every memory has:
- source
- confidence
- importance
- timestamps
- status
Knowledge should always be auditable.
Conversation history is not memory.
Memory represents durable knowledge that changes future behaviour.
Example:
Conversation:
"Can you make the answer shorter?"
Memory:
The user prefers concise technical explanations.
Those are very different things.
User
β
βΌ
Intent Classification
β
βΌ
Emotion & Experience
β
βΌ
Interest & Curiosity
β
βΌ
Semantic Memory Extraction
β
βΌ
Validation & Normalisation
β
βΌ
Entity Resolution
β
βΌ
Knowledge Builder
β
βΌ
Memory Pipeline
β
βΌ
Memory Retrieval
β
βΌ
Prompt Construction
β
βΌ
Ollama
β
βΌ
Response
Arcon separates short-term conversation history from long-term personal memory.
Current capabilities include:
- Personal memory repository
- Semantic memory extraction
- Memory validation
- Confidence scoring
- Importance scoring
- Memory review pipeline
- Conflict detection
- Duplicate detection
- Memory retrieval
- Context building
Instead of storing isolated memories, Arcon builds structured knowledge.
Entity
β
βββ Facts
βββ Relationships
βββ Evidence
βββ Linked Memories
This allows future reasoning to operate on knowledge rather than raw text.
Personality is treated as a collection of independent systems.
Current components include:
- Identity
- Behaviour modelling
- Emotional state
- Mood
- Curiosity
- Interests
- Experiences
- Relationship profiles
These systems influence behaviour without replacing the language model.
Arcon maintains a lightweight emotional model.
Examples include:
- Curiosity
- Trust
- Excitement
- Frustration
These values evolve over time and influence behaviour naturally rather than through hardcoded responses.
Events are stored as experiences rather than discarded.
Future systems will use experiences for:
- reflection
- learning
- behavioural adaptation
- long-term growth
Current reasoning consists of specialised recall modules.
Examples:
- Identity recall
- Project recall
- Relationship recall
This is only the beginning.
Future versions will introduce a dedicated reasoning engine capable of forming internal conclusions before generating responses.
apps/
βββ chat/
βββ desktop/
βββ server/
packages/
βββ ai/
βββ logger/
βββ memory/
βββ personality/
βββ shared/
βββ voice/
docs/
data/
| Package | Purpose |
|---|---|
| ai | Chat orchestration, prompt generation, semantic extraction and reasoning |
| memory | Personal memory, retrieval, entity graph and knowledge management |
| personality | Identity, emotions, curiosity, interests, mood and behaviour |
| logger | Structured runtime logging |
| shared | Shared interfaces and common types |
| voice | Future voice interaction |
- TypeScript
- Node.js
- SQLite
- Ollama
- Express
- Better SQLite3
- Local chat foundation
- Ollama integration
- Personal memory repository
- Semantic memory extraction
- Regex fallback extraction
- Memory pipeline
- Memory validation
- Entity graph
- Knowledge builder
- Relationship modelling
- Emotional state
- Mood engine
- Curiosity engine
- Interest engine
- Experience tracking
- Prompt builder
- Context retrieval
- Better reasoning
- Cognitive orchestration
- Reflection engine
- Improved retrieval
- Internal planning
- Reflection
- Learning from experience
- Goal management
- Planning engine
- Screen awareness
- Computer interaction
- Voice conversation
- Desktop application
- Autonomous workflows
- Multi-agent collaboration
Arcon is intentionally developed in phases.
Each subsystem is designed, reviewed and stabilised before becoming part of the larger cognitive architecture.
The goal is not to add as many AI features as possible.
The goal is to build systems that can continue evolving for years without becoming unmaintainable.
- Node.js 20+
- npm
- Ollama
- SQLite
Pull a local model:
ollama pull llama3.2git clone https://github.com/vmDeshpande/Arcon.git
cd Arcon
npm install
cp .env.example .env
npm run build
npm startnpm run devProject documentation can be found in the docs/ directory.
- Architecture
- Design decisions
- Memory engine
- Roadmap
The project is moving toward a complete cognitive architecture.
Foundation
β
βΌ
Memory
β
βΌ
Personality
β
βΌ
Entity Knowledge
β
βΌ
Reasoning
β
βΌ
Reflection
β
βΌ
Planning
β
βΌ
Computer Interaction
β
βΌ
Persistent Digital Companion
Contributions are welcome.
Whether you're interested in AI, backend architecture, memory systems, reasoning engines or cognitive modelling, feel free to open an issue or submit a pull request.
Before contributing, please:
- Search existing issues.
- Discuss major architectural changes before implementation.
- Keep modules focused and loosely coupled.
- Prefer small, reviewable pull requests.
Arcon is inspired by research and ideas from:
- Cognitive architectures
- Human memory systems
- Knowledge graphs
- Local AI
- Persistent digital companions
- Long-term autonomous agents
The project is not intended to replicate any existing assistant, but to explore a different architectural approach to building persistent AI systems.
The end goal is not simply to answer questions.
The end goal is to build a digital entity capable of:
- remembering meaningful experiences,
- developing a consistent identity,
- understanding relationships,
- learning from interactions,
- reasoning before responding,
- reflecting on its own knowledge,
- and growing alongside its user over time.
Arcon is an exploration into what happens when memory, identity, emotion, and reasoning are treated as first-class software systemsβnot just prompt engineering.