Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nova

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.

License CI Beta PRs welcome

TypeScript React 19 Vite Tailwind Node 22 Postgres Prisma Electron Expo Docker

Quick start How it works Plugins & Integrations Self-host


🌟 What Nova Is

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.

βš™οΈ Architecture & How It Works

   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)
  1. Client Interaction: Clients communicate with the backend via type-safe oRPC contracts over HTTP/WebSocket using secure authentication.
  2. Turn Management: The API enqueues turns in Postgres. Background worker processes (Graphile Worker) process tasks asynchronously.
  3. Execution Safety: Commands, browser actions, and file modifications execute in sandboxed environments supervised by a private supervisor service.
  4. Durable Storage: Conversations, routine schedules, memory vectors, and plugin integrations are durably stored in PostgreSQL.

πŸ”Œ Plugins & Integrations

Nova features a unified plugin framework supporting real-world service connections with official logos and secure OAuth/API-key auth flows.

Plugin Category Supported Services & Connectors Capabilities
Messaging & Workspace Slack Discord WhatsApp Webhook triggers, channel messaging, direct notifications, interactive bot responses.
Google Suite Gmail Google Calendar Google Drive Email reading & drafting, calendar scheduling, event reminders, document search.
Developer Tools GitHub Linear Jira PR reviews, issue management, commit tracking, ticket status updates.
Productivity & Docs Notion Google Docs Web Search Live web search, document parsing, workspace knowledge base management.

πŸš€ Quick Start

Prerequisites

  • Node.js: 22.0 or higher
  • pnpm: 9.x
  • Docker Desktop: Running locally (for Postgres & Sandbox containers)

Setup Steps

  1. Clone the repository:

    git clone https://github.com/Henilt31/nova.git
    cd nova
  2. Configure Environment Variables:

    cp .env.example .env

    Generate long random strings for BETTER_AUTH_SECRET and ENCRYPTION_KEY inside .env.

  3. 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
  4. 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 & Mobile Applications

  • 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

πŸ”’ Security & Confidentiality

Nova is designed for complete privacy and local sovereignty:

  • All sensitive tokens, API keys, .env files, 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.

🀝 Contributing

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 tests

πŸ“œ License

Distributed under the Apache 2.0 License.


Built and maintained by Henil Thakkar

About

Self-hosted platform for autonomous AI teammates with isolated computers, persistent memory, and workflow plugins.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages