⚠️ ALPHA SOFTWARE — expect bugs, breaking changes, and rough edges. This project is in active early development. If you try it, your feedback is genuinely valuable — please open an issue with anything you find.
A steady presence for thinking, remembering, and moving forward.
Hello. I'm Chalie — a human-in-the-loop cognitive assistant that keeps context when it begins to scatter, holds memory when things get busy, and stays alongside you over time.
I don't replace your judgment. I augment it.
You speak → Chalie retrieves relevant memory → decides how to engage → responds → learns from the interaction.
Behind that loop: a layered memory system that decays gracefully, a deterministic mode router that decides how to respond before any LLM is invoked, and a tool framework that can act on your behalf in sandboxed containers.
Most tools are fast but forgetful. Conversations reset. Notes accumulate without meaning. Automation acts without awareness.
Chalie is different:
- Persistent memory across sessions — I remember what matters
- Semantic retrieval — context surfaces when it's relevant, not just when you ask
- Adaptive routing — I choose how to respond based on what the moment actually calls for
- Proactive presence — spontaneous thoughts during idle time (DMN-inspired)
- Local-first, privacy-respecting — your data stays on your machine
Chalie maintains memory across multiple layers, each operating on a different timescale:
| Layer | Storage | TTL | Purpose |
|---|---|---|---|
| Working Memory | Redis | 24h / 4 turns | Current conversation context |
| Gists | Redis | 30min | Compressed exchange summaries |
| Facts | Redis | 24h | Atomic key-value assertions |
| Episodes | PostgreSQL + pgvector | Permanent (decaying) | Narrative memory units |
| Concepts | PostgreSQL + pgvector | Permanent (decaying) | Knowledge nodes and relationships |
| Traits | PostgreSQL | Permanent (category decay) | Stable personal context |
Memories decay naturally over time — unless reinforced by use, which makes retrieval smarter rather than noisier.
Deterministic list management built directly into conversation. Tell me to add, remove, or check off items — I'll maintain the list with perfect recall and a full event history.
Supported use cases: shopping lists, to-do lists, chores, any structured collection.
Set reminders and schedule tasks in natural language. Chalie manages the execution cycle — firing reminders at the right moment, tracking history, and surfacing what's coming up.
Each message is routed to one of five modes before a response is generated:
- RESPOND — substantive answer
- CLARIFY — ask a clarifying question
- ACKNOWLEDGE — brief social response
- ACT — execute a task (memory, scheduling, list management)
- IGNORE — no response needed
Routing is deterministic (~5ms), driven by observable conversation signals. The LLM generates a response shaped by the selected mode.
Chalie works with local and cloud models. Configure one or several — assign different providers to different jobs.
Supported providers:
- Ollama (local, recommended — no API cost, fully private)
- OpenAI
- Anthropic
- Google Gemini
Tools extend Chalie with real-world capabilities — web search, weather, reading pages, and more. Each tool runs in an isolated container, completely separated from Chalie's internal services.
A tool marketplace is coming. For now, tools must be installed manually by following each tool's setup instructions.
Officially supported tools:
| Tool | Description |
|---|---|
| searxng-tool | Privacy-respecting web search via SearXNG |
| youtube-tool | YouTube search and transcript extraction |
| tool-duckduckgo-search | Fast web search via DuckDuckGo |
| tool-web-read | Read and extract content from web pages |
| tool-weather | Current weather and forecasts |
More tools are on the way via the marketplace. See docs/09-TOOLS.md for the full tools architecture and how to build your own.
- Docker & Docker Compose
- An LLM provider (local or cloud)
git clone https://github.com/chalie-ai/chalie.git
cd chalie
docker-compose build && docker-compose up -dOpen http://localhost:8081/on-boarding/ — create an account, configure a provider, and begin.
Using Ollama (recommended — local, free, private):
ollama pull qwen:8b
# During onboarding, select Ollama and set endpoint to http://localhost:11434For full setup instructions, see docs/01-QUICK-START.md.
All memory, conversation history, and learned traits stay on your machine. Chalie makes zero external calls unless you configure an external LLM provider — and even then, only the message being processed is transmitted. API keys are encrypted at rest in the local database.
No telemetry. No analytics. No background sync. You own your data.
Before any public deployment: change default credentials, enable HTTPS, restrict CORS.
| Document | Contents |
|---|---|
| 01-QUICK-START.md | Full setup guide, provider config, deployment |
| 02-PROVIDERS-SETUP.md | Configuring LLM providers in detail |
| 03-WEB-INTERFACE.md | UI specification and Radiant design system |
| 04-ARCHITECTURE.md | System architecture, services, database schema |
| 05-WORKFLOW.md | Step-by-step request processing pipeline |
| 07-COGNITIVE-ARCHITECTURE.md | Mode router and cognitive decision flow |
| 09-TOOLS.md | Tools system, creating extensions |
Contributions welcome. Small improvements accumulate.
See CONTRIBUTING.md for guidelines, or open an issue on GitHub.
Apache 2.0 — see LICENSE






