Your own team of autonomous, always-on AI teammates.
Every bot gets a continuous thread, its own isolated computer, persistent memory, routines, and full tool connectivity β running on hardware you control.
Nova is a self-hosted, full-stack platform designed to manage and run autonomous AI teammates. Unlike simple chatbot interfaces, each Nova bot acts as a persistent digital worker equipped with execution capabilities, long-term memory, and public service integrations.
- π€ One Thread Per Teammate: No tab sprawl or context resets. Each bot maintains an ongoing, contextual working relationship.
- π₯οΈ Isolated Sandbox Environment: Bots receive dedicated execution environments with full web browsing, file manipulation, and execution capabilities. You can step in to take control, sign into services, or let the bot run headlessly.
- π§ Persistent Long-Term Memory: Preferences, facts, and conversation history persist safely in Postgres across app restarts.
- β° Automated Schedules & Routines: Configure automated wakeups and tasks in plain language (e.g., "Check unread emails and draft summaries every weekday at 9 AM").
- π Extensive Plugin Ecosystem: Connect to public services (Google Workspace, Slack, GitHub, Linear, WhatsApp, Notion, etc.) with real authentication & webhook handling.
- π Privacy & Security First: Zero intermediary vendor control plane. Your keys, your data, your database, your infrastructure.
- π± Multi-Platform Support: Responsive web application, native Electron desktop app, and mobile companion via Expo.
Browser (Vite) Electron Shell Expo Mobile App
ββββββββββββββββββββΌβββββββββββββββββββ
β oRPC over HTTP / Cookie Session (Better Auth)
βΌ
@nova/api (Hono + Node 22)
β ββββββββββββββββββββββββ
enqueue turn β βββ LISTEN βββββΊ β Postgres (Prisma) β
βΌ ββββββββββββββββββββββββ
@nova/worker (Graphile Worker)
β runs turn loop through Pi runtime
βΌ
Sandbox Supervisor (owns Docker socket / E2B)
β
βββββββββββββββββ΄ββββββββββββββββ
βΌ βΌ
Docker Container (Local) E2B Sandbox (Remote)
- Client Interaction: Clients communicate with the backend via type-safe oRPC contracts over HTTP/WebSocket using secure authentication.
- Turn Management: The API enqueues turns in Postgres. Background worker processes (Graphile Worker) process tasks asynchronously.
- Execution Safety: Commands, browser actions, and file modifications execute in sandboxed environments supervised by a private supervisor service.
- Durable Storage: Conversations, routine schedules, memory vectors, and plugin integrations are durably stored in PostgreSQL.
Nova features a unified plugin framework supporting real-world service connections with official logos and secure OAuth/API-key auth flows.
- Node.js: 22.0 or higher
- pnpm: 9.x
- Docker Desktop: Running locally (for Postgres & Sandbox containers)
-
Clone the repository:
git clone https://github.com/Henilt31/nova.git cd nova -
Configure Environment Variables:
cp .env.example .env
Generate long random strings for
BETTER_AUTH_SECRETandENCRYPTION_KEYinside.env. -
Initialize Database & Services:
docker compose -f infra/compose/docker-compose.yml up postgres -d pnpm install pnpm db:generate pnpm db:migrate pnpm sandbox:build
-
Start Development Stack:
pnpm dev
Open http://127.0.0.1:5173 in your browser to start using Nova.
(On Windows, you can also launch the full stack instantly by executing scripts/start-nova.cmd)
- Desktop (Electron):
pnpm --filter @nova/desktop dev # Run desktop application pnpm --filter @nova/desktop pack # Build installer packages
- Mobile (Expo):
pnpm --filter @nova/mobile start # Launch Expo dev server
Nova is designed for complete privacy and local sovereignty:
- All sensitive tokens, API keys,
.envfiles, database credentials, and session secrets are strictly ignored by.gitignore. - Authentication secrets use industrial-grade encryption (
Better Auth+ AES-256 key encryption). - All command executions occur inside non-privileged sandboxed containers.
Contributions are welcome! Please read CONTRIBUTING.md before submitting pull requests.
pnpm lint # Run Biome linter
pnpm check # Check TypeScript types
pnpm verify:fast # Run unit & integration testsDistributed under the Apache 2.0 License.