Skip to content

pb2323/Orbito

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

272 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Orbito - AI-Native Web Platform

πŸš€ Overview

Orbito is an SDK-first platform that makes any website controllable by AI agents. Instead of fragile web scraping, Orbito allows developers to explicitly expose UI functionalities ("intents") through a React SDK, creating a reliable bridge between human-designed interfaces and AI agents.


🎯 Problem Statement

Current AI agents struggle with websites because:

  • ❌ Websites are designed for humans, not AI
  • ❌ Scraping is fragile and breaks with UI changes
  • ❌ No standardized way for agents to interact with web UIs
  • ❌ No permission/access control for agent actions

Orbito solves this by allowing developers to wrap UI components and declare agent-accessible actions with explicit schemas.


πŸ›οΈ Architecture

Orbito consists of three main components:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Orbito Ecosystem                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           β”‚                  β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”
    β”‚           β”‚                β”‚      β”‚
β”Œβ”€β”€β”€β”΄β”€β”€β”€β”   β”Œβ”€β”€β”€β”΄β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”
β”‚ React β”‚   β”‚ Backend β”‚      β”‚ Browser  β”‚
β”‚  SDK  β”‚   β”‚Platformβ”‚      β”‚Extensionβ”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

1. React SDK (packages/react-sdk/)

  • npm package: orbito-react-sdk
  • Developers install it in their React apps
  • Provides <OrbitoProvider> and useOrbitoAction() hook
  • Wraps UI components to expose actions
  • Registers actions with Backend Platform
  • Handles execution requests from Browser Extension

2. Backend Platform (packages/backend-platform/)

  • FastAPI server + MongoDB database
  • Central action registry for all Orbito-enabled websites
  • Provides discovery API for extensions/agents
  • Admin dashboard for managing actions
  • Handles authentication via API keys

3. Browser Extension (packages/browser-extension/)

  • Chrome extension (Manifest V3)
  • Discovers actions available on current page
  • Accepts natural language prompts from users
  • Multi-step workflow execution - Breaks down complex tasks into sequential actions
  • Navigation handling - Automatically waits for page navigation and React Router changes
  • Executes actions via message passing to SDK
  • Provides visual feedback and step-by-step execution results

πŸ“ How It Works

For Website Developers (Supply Side)

  1. Install SDK:

    npm install orbito-react-sdk
  2. Wrap your app:

    import { OrbitoProvider } from 'orbito-react-sdk';
    
    <OrbitoProvider apiKey="orbito_key_xxx" domain="mysite.com">
      <App />
    </OrbitoProvider>
  3. Expose actions:

    import { useOrbitoAction } from 'orbito-react-sdk';
    
    const { register } = useOrbitoAction({
      actionId: 'add-to-cart',
      intent: 'addToCart',
      description: 'Adds product to shopping cart',
      parameters: {
        quantity: { type: 'number', required: false, default: 1 }
      },
      onExecute: handleAddToCart
    });
    
    <button {...register()}>Add to Cart</button>

For End Users (Demand Side)

  1. Install Orbito Extension (Chrome Web Store)
  2. Visit Orbito-enabled website
  3. Click extension icon to see available actions
  4. Type natural language:
    • Single action: "add 2 items to cart"
    • Multi-step workflow: "Add product 1 to cart, go to cart, proceed to checkout, fill name with John Doe, fill email with john@example.com, and complete payment"
  5. Actions execute automatically with proper sequencing and navigation handling

πŸ“ Project Structure

orbito/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ react-sdk/              # React SDK package
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ OrbitoProvider.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ useOrbitoAction.ts
β”‚   β”‚   β”‚   β”œβ”€β”€ OrbitoRegistry.ts
β”‚   β”‚   β”‚   └── OrbitoClient.ts
β”‚   β”‚   └── demo/              # Demo React app
β”‚   β”‚
β”‚   β”œβ”€β”€ backend-platform/       # Backend + Dashboard
β”‚   β”‚   β”œβ”€β”€ backend/           # FastAPI server
β”‚   β”‚   β”‚   β”œβ”€β”€ server.py
β”‚   β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”‚   └── database.py
β”‚   β”‚   └── frontend/          # Admin dashboard (React)
β”‚   β”‚
β”‚   └── browser-extension/      # Chrome extension
β”‚       β”œβ”€β”€ manifest.json
β”‚       β”œβ”€β”€ src/
β”‚       β”‚   β”œβ”€β”€ popup/         # Extension popup UI
β”‚       β”‚   β”œβ”€β”€ content/       # Content script
β”‚       β”‚   └── background/    # Service worker
β”‚       └── public/
β”‚
└── docs/                      # Integration contracts & guides
    β”œβ”€β”€ api-contract.md        # Backend API specification
    β”œβ”€β”€ message-protocol.md    # Extension ↔ SDK communication
    β”œβ”€β”€ data-models.md         # Database schemas
    β”œβ”€β”€ integration-flow.md    # Sequence diagrams
    β”œβ”€β”€ puneet-react-sdk.md    # React SDK developer guide
    β”œβ”€β”€ shreyas-backend.md     # Backend developer guide
    └── chayan-browser-extension.md  # Extension developer guide

πŸ› οΈ Tech Stack

React SDK

  • Language: TypeScript
  • Framework: React 18+
  • Build: Rollup/Webpack
  • Package Manager: npm/yarn

Backend Platform

  • Language: Python 3.11+
  • Framework: FastAPI
  • Database: MongoDB (motor driver)
  • Auth: API Keys
  • Deployment: Docker + Kubernetes (future)

Browser Extension

  • Language: TypeScript
  • UI: React
  • Manifest: V3
  • Build: Webpack
  • Browser: Chrome (Firefox support later)

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • Python 3.11+
  • MongoDB (local or Atlas)
  • Chrome browser (for extension development)

Quick Start

1. Clone repository:

git clone <repo-url>
cd orbito

2. Setup Backend:

cd packages/backend-platform/backend
pip install -r requirements.txt
# Start MongoDB locally
mongod --dbpath ./data
# Run server
uvicorn server:app --reload --port 8001

3. Setup React SDK:

cd packages/react-sdk
npm install
npm run build
# Run demo
cd demo
npm install
npm run dev

4. Setup Browser Extension:

cd packages/browser-extension
npm install
npm run build
# Load in Chrome: chrome://extensions > Load unpacked > select dist/

πŸ“š Documentation

All technical documentation is in the /docs folder:

Developer Guides

Demo Applications


🀝 Contributing

Git Workflow

Each developer works in their designated package folder:

  • Puneet (React SDK): /packages/react-sdk/
  • Shreyas (Backend): /packages/backend-platform/backend/
  • Chayan (Extension): /packages/browser-extension/

Commit Prefixes:

  • SDK commits: [sdk] Your commit message
  • Backend commits: [backend] Your commit message
  • Extension commits: [extension] Your commit message
  • Docs commits: [docs] Your commit message

Branch Strategy:

  • Main branch: main
  • Feature branches: feature/<component>-<feature-name>
  • Example: feature/sdk-action-highlight, feature/backend-rate-limiting

βœ… Testing Strategy

Unit Tests

  • SDK: Jest + React Testing Library
  • Backend: pytest
  • Extension: Jest

Integration Tests

  1. SDK β†’ Backend: Test action registration
  2. Extension β†’ Backend: Test action discovery
  3. Extension β†’ SDK: Test action execution via messages

E2E Tests

  • Playwright for full workflow testing
  • Test: User types prompt β†’ Action executes β†’ UI updates

πŸ“Œ Roadmap

MVP (Current Phase)

  • βœ… Monorepo structure
  • βœ… Integration contracts
  • 🚧 React SDK core
  • 🚧 Backend API
  • 🚧 Browser Extension
  • ☐ End-to-end integration testing

Phase 2

  • βœ… Multi-step action chaining and workflow execution
  • βœ… Navigation detection and waiting for React Router
  • βœ… Dynamic actions (single action for multiple elements)
  • ☐ Admin dashboard (website/action management)
  • ☐ Advanced NLP for prompt parsing
  • ☐ Visual action highlighting
  • ☐ Analytics and usage tracking

Phase 3

  • ☐ Framework-agnostic core (Vue, Angular support)
  • ☐ Server-side action execution
  • ☐ AI agent API (for programmatic access)
  • ☐ Marketplace for Orbito-enabled sites

πŸ’¬ Contact & Support

  • Team Lead: [Your Name]
  • Slack Channel: #orbito-dev
  • Documentation: /docs
  • Issues: GitHub Issues

πŸ“œ License

MIT License - See LICENSE file for details


Built with ❀️ by the Orbito Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •