Skip to content

HardikCoder45/OmniX

Repository files navigation

OmniX

🚀 Open-source AI workspace for chat, agents, browser control, code, files, voice, desktop, and mobile.

OmniX desktop workspace

OmniX is a local-first agent workspace that turns one messy request into visible, inspectable work. It brings together a React web app, an Express agent backend, an Electron desktop shell, an Expo mobile companion, a landing/download page, and reusable packages inside one monorepo.

This repo is built for builders who want to understand, customize, and ship an AI workspace instead of treating the agent as a hidden black box.

✨ What Makes OmniX Different

  • 🧠 Agent runtime you can inspect: routing, prompts, graph nodes, tool calls, permissions, streaming events, and final answers are split into readable modules.
  • 🛠️ Real tool execution: terminal sessions, browser control, files, workflows, custom agents, desktop bridge actions, and add-ons live in the same workspace.
  • 🖥️ Desktop-ready: Electron wraps the runtime so OmniX can feel like a native local app.
  • 📱 Mobile companion: Expo/React Native surfaces chat, pairing, commands, remote control, and notifications.
  • 🌐 Landing app included: the public site can present screenshots, releases, and download links.
  • 🔒 Open-source safe defaults: local setup works without production credentials, hosted auth, signing keys, or private deployment material.

📸 Screenshots

Desktop App

OmniX desktop app screenshot

Mobile App

OmniX mobile app screenshot

🧩 Monorepo Map

OmniX/
├── apps/
│   ├── backend/       # Agent graph, tools, workflows, bridge APIs, Express server
│   ├── desktop/       # Electron wrapper and local runtime manager
│   ├── frontend/      # Main React workspace UI
│   ├── landing/       # Public landing/download site
│   ├── mobile/        # Expo / React Native companion app
│   └── voice-agent/   # Voice runtime entrypoint
├── packages/
│   └── supabase/      # Optional Supabase helper package
├── scripts/           # Release, safety, and workspace helper scripts
├── package.json       # Root workspace scripts
└── package-lock.json  # Locked npm dependency graph

🏗️ Architecture

flowchart LR
  User["User"] --> Frontend["React Frontend"]
  Frontend --> Backend["Express Backend"]
  Backend --> Agent["Agent Graph"]
  Agent --> Tools["Tools + Workflows"]
  Tools --> Browser["Browser"]
  Tools --> Terminal["Terminal"]
  Tools --> Files["Files"]
  Tools --> Addons["Add-ons"]
  Backend --> Desktop["Electron Desktop"]
  Backend --> Mobile["Expo Mobile"]
  Backend --> Voice["Voice Agent"]
  Landing["Landing Site"] --> Downloads["Release Links"]
Loading

The core loop is simple:

  1. 💬 A user asks OmniX for an outcome.
  2. 🧭 The backend builds state, selects a route, and calls the model provider.
  3. 🛠️ Tools run through controlled modules: terminal, browser, files, custom agents, workflows, and bridges.
  4. 📡 The backend streams structured progress back to the UI.
  5. ✅ The frontend renders messages, tool activity, artifacts, plans, sidebars, and verification.

⚡ Quick Start

Requirements

  • Node.js 18+
  • npm 10+
  • Git

Optional:

  • Xcode and CocoaPods for iOS builds
  • Android Studio / Android SDK for Android builds
  • Docker for containerized workflows

Install

git clone https://github.com/HardikCoder45/OmniX.git
cd OmniX
npm install
cp .env.example .env

Add your local provider keys to .env when you are ready:

OMNI_PROVIDER_API_KEY=
OMNI_PROVIDER_BASE_URL=
OMNI_MAIN_AGENT_MODEL=
OMNI_ROUTER_MODEL=
OPENROUTER_API_KEY=
OPENROUTER_BASE_URL=
SERPER_API_KEY=

Run Everything

npm run dev

The root dev command uses Turbo to start workspace dev tasks in parallel.

🧪 Useful Commands

npm run build                 # Build workspace packages/apps
npm run lint                  # Run available lint tasks
npm run check-types           # Run available type checks
npm run agent:tool-safety     # Check tool safety rules
npm run open-source:check     # Open-source readiness checks

Desktop:

npm run desktop:dev
npm run desktop:dist
npm run desktop:dist:mac
npm run desktop:dist:win:x64

Landing page:

npm run --workspace apps/landing dev
npm run --workspace apps/landing build

Mobile:

npm run --workspace apps/mobile start

🖥️ Desktop App

The desktop app lives in apps/desktop. It wraps the frontend in Electron, prepares the local runtime, and manages the app shell for desktop users.

Use it when working on:

  • Native app packaging
  • Runtime startup and service lifecycle
  • Desktop permissions and bridge behavior
  • Local release builds for macOS and Windows

📱 Mobile App

The mobile app lives in apps/mobile. It is an Expo/React Native companion for staying connected to the same OmniX workspace while away from the desktop.

It includes:

  • Pairing and setup flows
  • Chat and command panels
  • Remote desktop control surfaces
  • Tool and workflow sidebars
  • Notification helpers

🌐 Landing Page

The landing app lives in apps/landing. It presents OmniX, screenshots, app surfaces, release metadata, and download calls to action.

Current download buttons are routed through the shared landing download configuration in:

apps/landing/src/data.js

🔐 Open-Source Safety

OmniX should stay safe to publish. Before pushing, check that you are not committing:

  • Real .env files or production credentials
  • API keys, service account files, provider secrets, signing keys, or private URLs
  • Apple provisioning profiles, Android keystores, certificates, or release signing assets
  • Generated release binaries, build folders, logs, caches, or local machine files
  • Private deployment-only configuration

If a secret is exposed, rotate it immediately and remove it from git history before pushing.

🤝 Contributing

  1. Fork or branch from main.
  2. Keep changes scoped to the workspace you are touching.
  3. Run the most relevant checks before committing.
  4. Keep examples and docs free of real secrets.
  5. Open a clear PR with what changed, how it was tested, and screenshots for UI work.

Good first areas:

  • apps/frontend/src/components for the workspace UI
  • apps/backend/agents/core for routing and graph behavior
  • apps/backend/agents/tooling for tool definitions
  • apps/mobile/src for companion app screens
  • apps/landing/src for the public site

📦 Releases

Release helpers collect desktop and mobile artifacts into landing metadata:

npm run release:desktop:mac
npm run release:desktop:win:x64
npm run release:mobile:apk
npm run release:collect
npm run release:verify

Generated binaries should not be committed unless a release process explicitly requires it.

🪪 License

OmniX is released under the MIT License.


Built with curiosity, local-first thinking, and a bias toward making AI work visible. ✨

About

OmniX is the one stop solution to develop ai agents and workflows and host them locally ,inside your computer,

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages