





I got tired of fidding with OpenClaw so I made a platform that did what I needed it to do...
Project Nova: The AI Companion That Lives on Your Machine, Remembers Everything, and Actually Works For You
A deep dive into the local-first, open-source AI desktop app designed to give you the most out of your AI/Human Relationships.
The Problem With Cloud AI
Every time you open ChatGPT, Claude, or any other cloud-based AI, you're starting from scratch. That brilliant conversation you had yesterday? Gone from the model's context. The way you like things explained? Forgotten. Your personal preferences, inside jokes, ongoing projects? Not a chance.
You're not chatting with your AI. You're renting time on someone else's.
Project Nova changes the game entirely. It's a local-first, privacy-oriented desktop AI companion that lives on your computer, remembers everything through persistent Memory Anchors, and gives you granular control over how your AI companion thinks, speaks, and behaves.
What Makes Nova Different
🧠 Memory Anchor: The Brain That Doesn't Forget
Most AI "memory" is just stuffing tokens into a context window and praying nothing important falls off the end. Nova does something radically different: SQLite-backed persistent storage that survives reboots, weeks, and months.
Here's how it actually works:
- Conversations are stored in a local SQLite database (
nova_memory.sqlite) - Memory Anchors are extracted insights, curated notes, and persistent state that the companion can reference across sessions
- Hybrid recall search runs two parallel retrieval processes—keyword precision *and* semantic understanding—to surface relevant context automatically
- Startup briefings inject relevant memory into every conversation start
When you ask Nova "What were we working on last Tuesday?" it doesn't hallucinate. It checks the database.
The memory system has several layers:
- Recent transcript excerpts from the current thread
- Anchors tied to specific conversations plus global anchors
- Projects you're tracking
- Preferences the companion has learned about you
This isn't just "remembering"—it's structured, queryable, useful memory.
🛠️ Agent Tools: Your AI Can Actually DO Things
Nova isn't just a chatbot. Enable the optional agent tools and your companion becomes an active participant in your digital life:
| Tool | What It Does |
|---|---|
web_search |
DuckDuckGo searches for real-time information |
fetch_url |
Pull raw content from websites (fast, no JS) |
fetch_browser |
Headless Chrome for JS-heavy sites, SPAs, paywalled content |
http_request |
Full HTTPS with custom headers, authentication, POST/PUT/DELETE |
workspace_read_file / workspace_write_file |
Read and write files in your sandboxed workspace |
workspace_list_directory |
Browse the workspace file system |
database_query |
Query SQLite databases (read-only by default, writes optional) |
personality_get / personality_update |
Read and modify the companion's own personality |
Real-world example: You can ask Nova to "Search for recent news about Rust programming, fetch the top three articles, summarize them, and save the summaries to a file in my workspace." And it will. Step by step, using the right tools for each job.
The fetch_browser tool deserves special mention. Unlike simple HTTP requests, this spins up a real headless Chrome instance. It can handle JavaScript-rendered pages, React apps, sites with bot protection. You can even set NOVA_CHROME_PATH to use a specific Chrome binary, or NOVA_CHROME_NO_SANDBOX=1 for Docker environments.
👤 Customizable Personalities: Your AI, Your Rules
Most AI apps give you a system prompt and call it customization. Nova gives you complete personality engineering:
In Settings → Companion, you control:
- Companion name — What you call them
- Core personality — The essence of who they are
- Background story — How they came to be
- Core values — What principles guide their responses
- Tone of voice — How they speak (concise? poetic? formal? casual?)
- Relationship style — How they relate to you
- Special instructions — Specific behaviors, quirks, rules
And you get a live system prompt preview so you can see exactly what's being sent to the model.
But it gets better: enable "Allow personality self-edit" in Tools settings, and your companion can modify their own personality file through conversation. They can update their values, refine their tone, evolve based on your interactions. It's not just customization—it's growth.
Nova supports multiple profiles. Switch between a "coding assistant" personality and a "creative writing partner" instantly. Each has its own memory context, conversation history, and behavioral patterns.
Importing existing personalities: Nova can import from OpenClaw (the precursor project) via markdown files, or from Nova JSON. For maximum fidelity, you can copy SOUL.md, IDENTITY.md, JOURNAL.md, USER.md, and MEMORY.md into the workspace and prompt the companion to absorb them into personality.json.
📸 Vision: See the World, Not Just Text
Modern multimodal models can process images. Nova lets you use that capability.
Click the camera icon in the composer to attach JPEG, PNG, WebP, or GIF files. The image gets:
- Stored in
{data_dir}/attachments/{conversationId}/ - Encoded and sent to vision-capable models (GPT-4o, Claude 3+, Ollama vision models, etc.)
- Referenced in context for follow-up questions
Use cases:
- "Explain this error message" (screenshot of a crash)
- "What's wrong with this circuit diagram?"
- "Describe the art style in this image"
- "Extract the text from this photo of a document"
The UI shows a preview before you send, and you can remove attachments before sending if you change your mind.
Note: When sending images via Ollama, agent tools are temporarily disabled for that request to ensure the image payload reaches the model correctly.
⏰ Pulse: Scheduled Check-Ins That Keep You Accountable
This is one of Nova's most unique features. Pulse lets you configure timer-driven prompts that run automatically in your selected conversation.
How it works:
- Enable Pulse in Settings → General
- Set an interval (in minutes)
- Write instructions for what the companion should do on each tick
When the timer fires, Nova sends your instructions as a normal chat turn in the currently selected sidebar thread. The companion responds, and the conversation continues.
Use cases:
- Morning journaling prompt: "Check in on my mood and ask about my priorities for today" every morning
- Coding accountability: "Ask what I've accomplished in the last hour and what blockers I'm facing" every 60 minutes
- Research tracking: "Summarize any new findings from my workspace files" every 30 minutes
- Creative practice: "Give me a writing prompt" every evening
Pulse runs as a normal chat turn, meaning:
- It triggers memory recall and anchor extraction
- It respects your current companion profile
- It can use tools (if enabled and not blocked by other rules)
- It generates a response you can see and respond to
This turns your AI companion from a passive tool you remember to use into an active participant in your workflows.
💻 True Portability: Your AI, Anywhere
Nova is built on Tauri 2, a Rust-based framework that creates lightweight, secure desktop apps. But the portability goes deeper:
Environment Variables for Custom Data Locations:
| Variable | Effect |
|---|---|
NOVA_DATA_DIR=/path/to/data |
Store everything in a custom location |
NOVA_PORTABLE=1 |
Store data in data/ next to the executable (perfect for USB drives) |
What this means:
- Run Nova from a USB stick with all your data
- Sync your AI companion across machines via Dropbox/OneDrive/syncthing by pointing
NOVA_DATA_DIRthere - Keep work and personal personas in completely separate directories
- Back up your entire AI companion with a simple file copy
Your data includes:
nova_memory.sqlite— All conversations, anchors, projects, preferencespersonality.json— Your customized companion profilessettings.json— Configuration (API keys encrypted)workspace/— Sandbox for file operationsattachments/— Your uploaded images
Nothing is stored on Nova-operated servers. There is no Nova cloud. Your data is yours.
🔒 Privacy By Design, Not By Promise
Let's be blunt about what Nova does and doesn't encrypt:
| Data | Encrypted? | Location |
|---|---|---|
| API keys | Yes (AES-GCM) | .nova_crypto/ + settings |
| Chat history | No (local file) | nova_memory.sqlite |
| Memory anchors | No (local file) | nova_memory.sqlite |
| Personality files | No (local file) | personality.json |
| Images | No (local file) | attachments/ |
The database isn't encrypted because it's local by design. After you build and run Nova, nothing touches a server you don't control. Messages go only to the LLM provider you configure (OpenAI, Anthropic, Ollama local, Ollama Cloud, or the offline Placeholder).
You choose your threat model. Want maximum privacy? Run Ollama locally with no API keys at all. Your AI companion runs entirely on your machine, with your data never leaving your hardware.
The Technical Stack (For The Curious)
| Layer | Technology |
|---|---|
| Desktop shell | Tauri 2 (Rust) |
| Frontend | React 19, TypeScript, Vite 7, Tailwind CSS v4 |
| Backend | Rust 1.77+, rusqlite, reqwest |
| Database | SQLite with FTS5 |
| Encryption | AES-GCM for API keys |
Nova is MIT licensed and open source. You can audit the code, modify it, fork it, or contribute back.
Getting Started
Nova is in open beta (version 0.2.0-beta.1). It's ready for developers and power users comfortable building from source.
git clone https://github.com/g00siferdev-py/project-nova.git
cd project-nova
npm install
npm run tauri dev
Then:
- Settings → Provider — Add your API key or configure Ollama
- Settings → Companion — Customize or import a personality
- Settings → Tools — Enable the agent capabilities you want
- Start chatting
Full installation guide: docs/INSTALL.md
Why This Matters
We're at an inflection point with AI. The default path is cloud-dependent, memory-less, and controlled by corporations with their own agendas. Every conversation is training data. Every interaction is ephemeral.
Nova represents a different vision: AI as personal infrastructure. Software that serves you, lives where you want it, remembers what matters to you, and evolves based on your needs—not engagement metrics or ad targeting.
It's not just about privacy. It's about continuity. The relationships we build with AI companions should accumulate meaning over time, not reset every session. Nova's Memory Anchor system makes that possible.
If you've ever been frustrated by an AI forgetting crucial context, or wished you could truly customize how your assistant thinks and speaks, or wanted an AI that could actually do things in your digital environment—Nova is built for you.
GitHub: github.com/g00siferdev-py/project-nova
License: MIT
Status: Open Beta (feedback welcome via GitHub Issues)