Skip to content

NGPTechWorld/NGP-Automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⬑ Vibe Automation Studio

A full-stack visual workflow automation platform with AI-powered natural language control

Node.js React Express OpenRouter License


Build automation workflows visually β€” or just tell VibeBot what you want.


Vibe Automation Studio Preview


πŸ“‹ Table of Contents


πŸš€ Overview

Vibe Automation Studio is a browser-based visual workflow builder. Users drag and drop nodes onto a canvas, connect them, and execute them β€” all in real time. An integrated AI assistant called VibeBot lets you generate and run workflows using plain English or Arabic.


✨ Features

  • 🎨 Visual canvas β€” drag, drop, connect, and edit nodes
  • πŸ€– VibeBot β€” AI agent that builds and runs workflows from natural language
  • 🌐 Bilingual β€” full English and Arabic (RTL) support
  • πŸŒ™ Dark / Light theme toggle
  • πŸ“ Project manager β€” save, load, and delete workflows
  • πŸ“Ÿ Live console β€” color-coded real-time execution logs
  • ⚑ 13 node types β€” covering control flow, data, transforms, and API calls
  • πŸ”„ Polling-based log streaming β€” no websockets needed

πŸ›  Tech Stack

Layer Technology Purpose
Frontend React 18 + Vite UI, canvas, node editor, AI chat panel
Backend Node.js + Express REST API, workflow execution engine
AI OpenRouter API Natural language workflow generation
Styling Inline CSS (JS objects) Theming, RTL layout, dark/light mode
State React useState/useRef Canvas state, project management
IDs uuid v4 Project and run identifier generation

πŸ“‚ Project Structure

vibe-automation/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ server.js              ← Express API + workflow execution engine
β”‚   β”œβ”€β”€ package.json
β”‚   └── .env.example                   ← PORT config
β”‚
└── frontend/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ App.jsx            ← Layout shell + VibeBot chat panel
    β”‚   └── main.jsx
    β”œβ”€β”€ index.html
    β”œβ”€β”€ vite.config.js
    └── package.json

⚑ Quick Start

1. Backend

cd backend
npm install
node server.js
# βœ… Running on http://localhost:3001

2. Frontend

cd frontend
npm install
npm run dev
# βœ… Running on http://localhost:5173

3. VibeBot Setup

  1. Open the app in your browser
  2. Click the πŸ€– VibeBot button in the toolbar
  3. Enter your OpenRouter API key
  4. Start chatting

Note: The API key is stored in localStorage and sent per-request via the X-API-Key header. It is never persisted on the server.


🧩 Node Types

Node Color Data Fields Description
start 🟒 Green β€” Entry point. Every workflow must begin here.
end πŸ”΄ Red β€” Terminates the workflow.
log βšͺ White text Prints a message to the console.
color 🩷 Pink text, color Prints a colored message. Supports hex colors.
delay 🟑 Amber ms Pauses execution (max 5000ms).
input πŸ”΅ Cyan label, default Defines an input variable with a default value.
transform 🟒 Teal text, op String transform: uppercase, lowercase, reverse, or trim.
merge 🟣 Indigo a, b, c Joins up to 3 text values with + separator.
condition 🟠 Orange value, op, compare Branches flow via ==, !=, >, <, >=, <=.
loop 🩷 Pink count Iterates N times (max 50) then continues.
api 🩡 Teal url, method Makes an HTTP request and logs the JSON response.
variable 🟣 Purple key, value Stores a named variable for downstream use.
clear ⬛ Gray β€” Clears the execution console.

πŸ“‘ API Reference

Base URL: http://localhost:3001

Projects

Method Endpoint Body Description
GET /api/projects β€” Returns all saved projects
GET /api/projects/:id β€” Returns a single project
POST /api/projects { id?, name, nodes, conns } Creates or updates a project
DELETE /api/projects/:id β€” Deletes a project

Workflow Execution

Method Endpoint Body / Query Description
POST /api/run { nodes, conns } Starts async execution β†’ returns runId
GET /api/run/:runId/logs ?since=N Returns log entries from index N onward

AI Agent

Method Endpoint Headers Body
POST /api/agent X-API-Key: ... { message, currentWorkflow, history[] }

Agent Response Format

// Chat
{ "action": "chat", "message": "..." }

// Build workflow
{ "action": "build", "workflow": { "nodes": [...], "conns": [...] }, "message": "..." }

// Run current workflow
{ "action": "run", "message": "..." }

πŸ€– VibeBot AI Agent

VibeBot is powered by OpenRouter (openai/gpt-4o-mini by default). It auto-detects your language and responds in kind.

Actions

Action Trigger Examples Result
chat "hello", "what can you do?", any question Conversational reply
build "build a workflow that...", "create an automation" Generates nodes + connections on canvas
run "run", "execute", "Ψ΄ΨΊΩ„", "ΨͺΨ΄ΨΊΩŠΩ„" Runs the current workflow

Example Prompts

Build a workflow that logs "Hello" then waits 2 seconds
Create a loop that runs 5 times then logs "Done"
Make a condition: if 10 > 5 log TRUE, else log FALSE
Build a workflow with a variable name = "Meme" then log it
Ψ§Ψ¨Ω†ΩŠΩ„ΩŠ workflow يطبع Ω…Ψ±Ψ­Ψ¨Ψ§ Ψ«Ω… ΩŠΩ†ΨͺΨΈΨ± Ψ«Ψ§Ω†ΩŠΨͺΩŠΩ†
Ψ΄ΨΊΩ„

πŸ— Architecture

Execution Flow

User clicks Run
     β”‚
     β–Ό
POST /api/run { nodes, conns }
     β”‚
     β–Ό
Backend: assign runId β†’ start executeWorkflow() async
     β”‚
     β–Ό
Respond immediately: { runId }
     β”‚
     β–Ό
Frontend polls GET /api/run/:runId/logs?since=N  (every 300ms)
     β”‚
     β–Ό
Append new log entries to console
     β”‚
     β–Ό
Stop polling when { done: true } received
     β”‚
     β–Ό
Backend cleans up after 5 minutes

AI Agent Flow

User types message
     β”‚
     β–Ό
POST /api/agent { message, currentWorkflow, history }
     β”‚
     β–Ό
Build messages: [system prompt] + [last 10 history] + [user message]
     β”‚
     β–Ό
Forward to OpenRouter API
     β”‚
     β–Ό
Parse response as JSON action
     β”‚
     β”œβ”€β”€ action: "build" β†’ load workflow onto canvas
     β”œβ”€β”€ action: "run"   β†’ trigger execution
     └── action: "chat"  β†’ show message in panel

Known Limitations

Limitation Notes
In-memory storage Projects reset on server restart β€” replace with a database
No authentication All endpoints are public
Single-user model No multi-user isolation
Max 100 steps/run Hard limit to prevent infinite loops
Max 5s delay Delay nodes capped at 5000ms

πŸ—Ί Roadmap

Backend

  • Replace in-memory store with SQLite / MongoDB / PostgreSQL
  • JWT authentication and per-user project isolation
  • Server-Sent Events (SSE) instead of polling
  • Webhook node type for external triggers
  • Rate limiting and execution queue

Frontend

  • Undo/redo history
  • Node copy/paste and multi-select
  • Minimap for large workflows
  • Export workflow as JSON or shareable URL
  • Keyboard shortcuts panel

VibeBot

  • Support more models (Claude, Gemini, Llama)
  • Workflow explanation mode
  • Error diagnosis β€” analyze failed runs and suggest fixes
  • Voice input support

πŸ“‹ Changelog

Version Date Changes
v1.0.0 2025 Initial release β€” canvas, 13 node types, bilingual UI, VibeBot, project management
v0.9.0 2025 Fixed OpenRouter integration: message format, response parsing, fetch error handling
v0.8.0 2025 Added VibeBot AI agent with build, run, and chat actions
v0.7.0 2025 Backend workflow execution engine with polling-based log streaming
v0.6.0 2025 Project management: save, load, delete with in-memory store

Β© 2025 NGP Studio Β β€’Β  Made with Vibe

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors