Skip to content

PATILYASHH/NOVA-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NOVA

NOVA

An autonomous AI agent that lives on your PC.

Quick Start Features Architecture License


Controls your PC, builds full projects, fixes its own bugs, and evolves its personality β€” all through natural conversation via Telegram or Terminal.

No paid APIs. Runs locally using Claude Code CLI.

⚠️ Early Stage β€” NOVA is under active development. Expect rough edges. Contributions welcome!


What NOVA Does

Most AI assistants answer questions and forget you exist. NOVA is different β€” it's a persistent agent that lives on your machine, remembers your history, acts proactively, and improves itself over time.

  • Controls your entire PC via natural language
  • Builds full projects and pushes them to GitHub
  • Fixes its own bugs daily with your approval
  • Evolves its personality based on interactions
  • Remembers past conversations semantically (ChromaDB)
  • Sends you morning briefings and proactive alerts
  • Reads PDFs, analyzes screenshots via OCR

Demo

πŸ“Ή Demo GIF coming soon β€” star the repo to get notified!

You: "build a todo app in flask and push to github"
NOVA: Creates project β†’ writes all code β†’ creates repo β†’ pushes β†’ sends link

You: "what's my cpu at?"
NOVA: "CPU at 23%, RAM at 67%. Everything's chill."

You: "this code is broken, help me fix it"
NOVA: Identifies bug β†’ explains why β†’ gives fix with code

You: (sends a PDF)
NOVA: Reads it, summarizes it, answers questions about it

Features

Natural Language Everything β€” Just talk, NOVA figures out the rest

No commands needed. NOVA classifies your message and decides what to do:

  • Chat β†’ Responds conversationally
  • PC Action β†’ Opens apps, screenshots, runs commands
  • Build Project β†’ Full project + GitHub repo
  • Code Task β†’ Claude Code implements features
Self-Evolving Personality β€” Nothing is hardcoded

NOVA's personality, emotions, and knowledge are stored in editable files that evolve over time:

File What It Controls
self/identity/personality.md How NOVA talks and behaves
self/identity/emotions.json 11 emotions with triggers & expressions
self/identity/traits.json Personality traits (0-1 scale)
self/knowledge/learned.json Facts, opinions, lessons learned

NOVA can update all of these based on interactions over time.

Emotions modeled: happy proud frustrated angry worried sad excited annoyed caring playful curious

Self-Coding β€” NOVA proposes fixes for its own bugs

Every day at 6 PM:

  1. Reviews all errors encountered during the day
  2. Asks Claude to analyze root causes
  3. Proposes specific code fixes
  4. Sends proposals to you on Telegram
  5. On your approval, applies the fix into itself
NOVA: "I encountered 3 errors today. Let me analyze..."

NOVA: "Self-Fix Proposal [High]
  Problem: Timeout in Claude CLI for long prompts
  File: core/personality.py
  Fix: Add retry with shorter prompt fallback
  Risk: Safe

  /fixapprove fix_20260411_180000 to approve"
4-Layer Memory System β€” Remembers everything
Layer Type Persistence How It Works
RM (Register) Current conversation Session Fast context for active chat
RAM Daily session data JSON files Statistics, commands, files changed
ROM Permanent knowledge SQLite (9 tables) Command history, projects, insights
Vector Semantic search ChromaDB Finds past conversations by meaning

Example:

You say: "flutter gradle error"
NOVA recalls: "Last week you had a Gradle build issue β€” we fixed it by updating the wrapper"

Even though the exact words differ, ChromaDB finds it by meaning.

Proactive Intelligence β€” Acts without being asked
Time What NOVA Does
9:00 AM Morning briefing: system health, disk warnings, greeting
6:00 PM Evening summary + self-review + diary entry + fix proposals
Anytime CPU/RAM/disk alerts when thresholds crossed
Anytime Battery warnings when unplugged and low
Full PC Control β€” 110+ actions via natural language
Category Examples
Apps Open/close any application
System CPU, RAM, disk, battery, processes
Files Read, write, find, delete files
Code Run Python/JS/PowerShell, execute code
Git Status, commit, push, pull, branch
GitHub Create repos, push code, list repos
Browser Open URLs, Google search
Screenshots Capture and analyze screen
Clipboard Read/write clipboard
Network WiFi info, connectivity
Power Shutdown, restart, sleep, lock
Automation Macros, scheduled tasks, chains

Quick Start

Prerequisites

Tool Required Purpose
Python 3.10+ Yes Runtime
Claude Code CLI Yes AI brain
GitHub CLI Optional Repo management
Telegram Optional Remote access from phone

Installation

# Clone the repo
git clone https://github.com/PATILYASHH/NOVA-AI.git
cd NOVA-AI

# Run the setup wizard (handles everything)
python nova_cli.py --setup

The wizard will:

  1. Install all dependencies
  2. Ask for your Telegram bot token & chat ID
  3. Create your personality files
  4. Set up all required directories

Running NOVA

python nova_cli.py            # Interactive menu (recommended)
python nova_cli.py --chat     # Direct terminal chat
python nova_cli.py --bot      # Start Telegram bot
python main.py                # Telegram bot (direct)

Terminal UI

╔══════════════════════════════════════════╗
β•‘     β–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•‘
β•‘     β–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•‘
β•‘     β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•‘
β•‘     β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘β•‘
β•‘     β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β•‘
β•‘     β•šβ•β•  β•šβ•β•β•β• β•šβ•β•β•β•β•β•   β•šβ•β•β•β•  β•šβ•β•  β•šβ•β•β•‘
β•‘     Self-Evolving AI Agent               β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

  [1] Chat with NOVA (Terminal)
  [2] Start Telegram Bot
  [3] Setup / Reconfigure
  [4] System Status
  [5] Exit

Telegram Setup

How to get Bot Token & Chat ID

Bot Token:

  1. Open Telegram, search for @BotFather
  2. Send /newbot, follow prompts
  3. Copy the token

Chat ID:

  1. Search for @userinfobot on Telegram
  2. Send /start
  3. Copy your chat ID

Enter both when the setup wizard asks.


Architecture

NOVA/
β”œβ”€β”€ nova_cli.py                 # Terminal UI & setup wizard
β”œβ”€β”€ main.py                     # Telegram bot entry point
β”œβ”€β”€ config.py                   # Configuration
β”‚
β”œβ”€β”€ core/                       # Brain
β”‚   β”œβ”€β”€ personality.py          # Claude-powered dynamic chat
β”‚   β”œβ”€β”€ dynamic_identity.py     # Loads personality from files
β”‚   β”œβ”€β”€ vector_memory.py        # ChromaDB semantic memory
β”‚   β”œβ”€β”€ agent_executor.py       # Autonomous multi-step tasks
β”‚   β”œβ”€β”€ self_coder.py           # Self-coding (fixes own bugs)
β”‚   β”œβ”€β”€ emotion_engine.py       # 11 emotions + mood tracking
β”‚   β”œβ”€β”€ memory_system.py        # 3-tier memory (RM/RAM/ROM)
β”‚   β”œβ”€β”€ nova_brain.py           # Intelligence orchestrator
β”‚   β”œβ”€β”€ nlp_engine.py           # Natural language understanding
β”‚   β”œβ”€β”€ reasoning_engine.py     # Logic & decision making
β”‚   β”œβ”€β”€ context_engine.py       # Context awareness
β”‚   β”œβ”€β”€ learning_loop.py        # Behavioral learning
β”‚   β”œβ”€β”€ self_reflection.py      # Self-evaluation + diary
β”‚   └── self_improve.py         # Self-improvement engine
β”‚
β”œβ”€β”€ actions/                    # System actions
β”‚   β”œβ”€β”€ code_handler.py         # Code, Git, GitHub CLI, Graphify
β”‚   β”œβ”€β”€ system_control.py       # Apps, commands, processes
β”‚   β”œβ”€β”€ file_ops.py             # File operations
β”‚   β”œβ”€β”€ utilities.py            # Screenshot, clipboard, browser
β”‚   └── advanced_control.py     # Network, volume, battery
β”‚
β”œβ”€β”€ intelligence/               # Smart features
β”‚   β”œβ”€β”€ powers.py               # OCR, web search, images, PDFs
β”‚   β”œβ”€β”€ proactive_monitor.py    # Morning briefing, alerts
β”‚   β”œβ”€β”€ smart_automation.py     # Macros, command chains
β”‚   β”œβ”€β”€ habit_tracker.py        # Usage pattern learning
β”‚   β”œβ”€β”€ scheduler.py            # Task scheduling
β”‚   β”œβ”€β”€ work_setup.py           # Workspace auto-setup
β”‚   └── style_learner.py        # Coding style learning
β”‚
β”œβ”€β”€ self/                       # NOVA's identity (evolves)
β”‚   β”œβ”€β”€ identity/               # Personality, emotions, traits
β”‚   β”œβ”€β”€ knowledge/              # Learned facts & opinions
β”‚   └── diary/                  # Private diary entries
β”‚
└── memory/                     # Persistent storage
    β”œβ”€β”€ RM/                     # Register (current session)
    β”œβ”€β”€ RAM/                    # Session (daily JSON)
    β”œβ”€β”€ ROM/                    # Permanent (SQLite)
    └── vector_db/              # Semantic (ChromaDB)

Telegram Commands

NOVA understands natural language, but these shortcuts also work:

View all commands
Command Description
/build <desc> Build a full project from description
/task <desc> Execute any task with Claude Code
/autopush [path] Commit and push to GitHub
/newrepo <name> Create GitHub repository
/repos List your GitHub repos
/graphify <path> Build knowledge graph
/status System status (CPU, RAM, Disk)
/screenshot Capture screen
/cmd <command> Run shell command
/open <app> Open application
/close <app> Close application
/git <path> <op> Git operations
/run <lang> Execute code
/fixes Today's errors + fix proposals
/selfcode Trigger self-review now
/fixapprove <id> Approve a self-fix
/help Show all commands

Safety

Action NOVA's self dir NOVA's code Outside NOVA
Read Free Free Free
Edit Free Needs approval Blocked
Delete Needs approval Needs approval Blocked
  • All destructive actions (delete, kill, shutdown) require your confirmation
  • NOVA can freely evolve its own personality and knowledge
  • NOVA cannot touch files outside its directory without permission

Known Limitations

  • Windows-focused; macOS/Linux support is partial
  • Requires Claude Code CLI to be authenticated and running
  • Self-coding is experimental β€” always review proposals before approving
  • Telegram bot requires manual setup (no OAuth flow yet)

Roadmap

  • Demo video / GIF in README
  • macOS & Linux full support
  • Web UI dashboard
  • Plugin system for custom skills
  • Voice input/output support
  • CONTRIBUTING.md with detailed guide

Tech Stack


Contributing

Contributions are welcome!

  1. Fork the repo
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Have an idea or found a bug? Open an issue β€” all feedback is appreciated.


License

MIT License. See LICENSE for details.


Made by Yash Patil

Stars Forks

Powered by Claude Code | ChromaDB | Graphify | python-telegram-bot

About

NOVA - AGI-Enhanced AI Office Assistant with Claude-powered brain

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages