Nero is an advanced, production-grade Flutter application implementing a localized Agentic AI Chat System. Built with a pluggable provider architecture, Nero can connect to any LLM API (currently includes Sarvam AI support out of the box). It allows LLM models to plan tasks, invoke local tools, read files, generate spreadsheets, docx files, PDFs, package zip files, query web content, and monitor executing tasks with a high-fidelity audit trail.
- Additional model providers
- Enhanced agent planning
- Plugin marketplace
- Multi-agent workflows
- Team workspaces
- Remote execution support
- 🧠 Agentic Run Loop: A complete loop supporting
planning -> tool selection -> local execution -> verification -> completionwithin the chat interface. - 🛠️ Capability & Tool Registry: Includes out-of-the-box tools for:
- Web Search & Extraction: Querying search engines and reading/extracting article text from specific URLs.
- Document Synthesis: Direct generation of download-ready Excel (
.xlsx), Word (.docx), and Adobe PDF (.pdf) documents. - File Operations: Managing workspace files, workspace serialization, and ZIP packaging.
- 💾 Drift/SQLite Offline Persistence: Robust schema for mapping chat messages, conversations, workspace items, capability logs, and run operations locally.
- 📊 Audit & Ledger Trackers: A structured logging system tracking time, costs, tool execution states, and model parameters for every prompt run.
- 📈 Modern Dark UX: Smooth animations, inline interactive tables, live code syntax highlighting, and responsive layout interfaces.
- 🧪 Mermaid.js Visualizer: Direct embedding of dynamic Mermaid charts and diagrams in chat responses.
Nero follows clean architecture design patterns, organized cleanly by domain feature components:
lib/
├── app/ # Main MaterialApp bootstrap & global error reporting
├── core/ # Shared design systems, color tokens, and text themes
├── platform/ # Local database, secure store, and native platforms
└── features/ # Core capabilities grouped by domain functionality
├── agent/ # Planning algorithms, task managers, and run state transitions
├── audit/ # Local audit log tracking and capability event schemas
├── capabilities/ # Tool Definitions and Capability registries exposed to the LLM
├── chat/ # State controllers, screen UI layouts, markdown rendering
├── docs/ # Document formatting and docx/xlsx layout engines
├── memory/ # Working memory store and context synthesis models
├── packaging/ # Local compression services (ZIP)
├── projects/ # Scaffold builders and artifact organizers
├── providers/ # Sarvam client wrappers and interface adapters
├── response/ # Parser guards and response structures
├── runtime/ # Ledger engines, progress builders, run node routers
├── settings/ # App settings schema and configuration screens
├── skills/ # Custom dynamic skills loaded into runtime
├── tools/ # Local execution dispatchers and environments
├── verifier/ # Output, semantic, and safety checkers
└── workspace/ # Workspace file picker, context importers, and share pipelines
Make sure you have the Flutter and Dart SDKs installed on your system:
- Flutter SDK:
^3.9.2 - Dart SDK:
^3.9.2 - SQLite: Local libraries installed (or resolved automatically by
sqlite3_flutter_libs).
-
Clone the Repository:
git clone https://github.com/bala2006/nero.git cd nero -
Fetch Dependencies:
flutter pub get
-
Code Generation (Drift DB schema builder):
flutter pub run build_runner build --delete-conflicting-outputs
-
Launch the App: Run the dev server or launch on a device/emulator:
flutter run
To use the AI capabilities, you will need to input your Sarvam AI API Key in the settings panel inside the application.
sarvam-105b(Recommended for complex reasoning and multi-step tasks)sarvam-30bsarvam-m
Nero comes with a comprehensive test suite for verifying the state runner, planners, parser rules, and memory stores.
To run all unit and widget tests:
flutter testThis project is licensed under the MIT License - see the LICENSE file for details.