From 6cef1373b57484ef7c2685df67b675090df6acea Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Fri, 16 May 2025 14:12:48 -0600 Subject: [PATCH] Update readme.md --- readme.md | 136 ++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 102 insertions(+), 34 deletions(-) diff --git a/readme.md b/readme.md index 7d18815..0978b88 100644 --- a/readme.md +++ b/readme.md @@ -2,58 +2,126 @@ ![Borealis Logo](https://git.bunny-lab.io/Borealis/Borealis/raw/branch/main/Data/Server/WebUI/public/Borealis_Logo_Full.png) -**Borealis** is a cross-platform **visual automation platform** that lets you design and execute workflows using drag-and-drop "nodes" in an interactive graph. Think of it like building a flowchart that actually **runs** — in real-time. +# Borealis: Visual Automation For Everyone -Powered by a Flask backend and a React Flow frontend, Borealis is perfect for anyone looking to automate tasks, visualize data processing, or build reactive tools using a modular, extensible system. +**Borealis** is your all-in-one visual automation studio. +Whether you want to automate data flows, control your computer, extract data from images, or connect to APIs and webhooks, Borealis turns these advanced tasks into a simple, visual drag-and-drop experience. + +## 🚀 What Is Borealis? + +Imagine building automations and powerful data workflows by *connecting blocks on a canvas* — and having them come to life in real time. Borealis is a cross-platform, live-editable automation tool that makes it possible to create, test, and run workflows with **zero coding required** (unless you want to). + +Borealis combines: + +* **A powerful visual graph editor** (built with React Flow) +* **A real-time backend server** (Python Flask + WebSockets) +* **Optional Python Agent** for advanced computer automation (screenshot, overlays, and more) +* **Live node updates, instant feedback, no restarts required** --- ## ✨ Key Features -| Feature | Description | -|--------|-------------| -| 🧠 **Visual Editor** | Intuitive graph-based UI powered by React Flow. Nodes represent data, logic, or actions. | -| ⚙️ **Dynamic Node Updates** | All nodes react to data changes live using a shared memory bus and global update timer. | -| 🔗 **Live Connections** | Connect nodes via "wires" to transmit values in real time — no refresh needed. | -| 🖼️ **On-Screen GUI Interactions** | Supports custom Python-based GUI prompts, like on-screen region selectors. | -| 🔍 **OCR and Vision Support** | Use EasyOCR and Tesseract to extract data from screenshots or webcam feeds. | -| 🧩 **Custom Node Support** | Easily define your own nodes using JSX — each one modular and reactive. | -| 🚀 **Cross-Platform** | Works on Windows, Linux, and macOS (via provided `.sh` and `.ps1` launch scripts). | +| Feature | What It Means For You | +| ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| **Visual Editor** | Drag-and-drop nodes to build workflows just like drawing a flowchart | +| **Live Data Updates** | Every node reacts instantly as data changes, thanks to a shared “memory bus” | +| **No-Code and Low-Code Friendly** | Start with zero code — but add custom nodes if you want power-user features | +| **Hot-Reloading, Developer-Friendly** | Add, edit, or even break nodes while Borealis is running. UI recovers, dev server restarts instantly — *no crashes, no frustration* | +| **Real-Time Computer Automation** | Take screenshots, control keyboard, and send actions to your PC with the Borealis Agent | +| **OCR & Computer Vision** | Extract text from images and screenshots with Tesseract and EasyOCR, ready to flow into your automation | +| **Data Ingestion & Manipulation** | Ingest data from files, APIs, manual input, or other sources — then filter, search, transform, or export it | +| **API Requests & Webhooks** | Talk to REST APIs, integrate with web services, and hook Borealis into other tools | +| **Extensible Node Library** | Add your own custom nodes or use the included library for data, images, math, logic, reporting, and more | +| **Undo & Resilience** | Made a mistake editing a node or the UI? No worries — just fix it and reload. Vite dev server makes changes appear instantly | +| **Cross-Platform** | Works on Windows, Linux, macOS — one-click launch scripts included | --- -## 🧱 Core Components +## 🧰 What Can You Build With Borealis? -| Component | Role | -|----------|------| -| **Flask Server** | Hosts API endpoints and serves the React frontend | -| **React Flow UI** | Visual canvas for building and managing workflows | -| **Python Virtual Env** | Encapsulates dependencies, avoids global installs | -| **Shared Value Bus** | All nodes communicate via `window.BorealisValueBus` | +* **Data Pipelines:** Move data between files, APIs, spreadsheets, and apps +* **Automated Reports:** Process and transform information, then export to CSV +* **Image Analysis:** Use OCR nodes to read text from screenshots and images (great for extracting data from anything on screen) +* **Computer Automation:** Trigger keypresses, capture screens, and even run scheduled macros +* **APIs & Webhooks:** Build visual flows that connect to any REST API, fetch data, and process responses +* **Real-Time Dashboards:** Build custom, live-updating dashboards by wiring together data nodes and viewers +* **Rapid Prototyping:** Instantly test ideas — drop in new nodes, see your changes live, and never fear breaking things --- -## ⚡ Getting Started +## 🏆 Why Borealis Stands Out -### Windows: -To Launch borealis itself, you can just right-click the "`Borealis.ps1`" file and select "`Run with Powershell`". You may be warned about Execution Policy restrictions. Just say "Y" to continue or "A" if you dont want to be warned about running untrusted scripts in the future. +* **Instant Feedback:** Every change is live. No need to restart — just drag, connect, or edit and see results instantly. +* **No Fear Development:** Messed up a node file? UI won’t crash; just fix the file, save, and Borealis will hot-reload it. +* **Beginner Friendly:** If you can use a mouse, you can use Borealis. But it grows with you as you learn. -### Linux: -```sh -# Linux / macOS -bash Borealis.sh -``` - -**The launch script will**: -- :snake: Create a virtual Python environment -- :package: Install all required Python + JS dependencies (Bundled in Windows / Installed in Linux) -- :atom: Build the React app -- :globe_with_meridians: Launch the Flask web server --- -## 🧠 How It Works +## 🔭 Future Potential (What Borealis Could Become) -Borealis workflows run on **live data propagation**. Each node checks for incoming values (via edges) and processes them on a recurring timer (default: 200ms). This allows for highly reactive, composable logic graphs. +Borealis is already a swiss-army knife in the works — but here’s just a taste of what’s coming, or at-least possible, thanks to its modular, node-based design: + +* **Smart Automation:** Automatically detect patterns, trigger workflows from email, websites, or events. +* **Machine Learning Nodes:** Drag-and-drop AI tasks — run models, analyze data, or classify images/text. +* **IoT & Device Integration:** Control or monitor physical devices, sensors, and smart home gadgets. +* **Advanced Scheduling:** Visual “when/if/then” automation, with scheduling, event triggers, and more. +* **Multi-User Collaboration:** Share, co-edit, or run workflows with others — team automation made simple. +* **Plug-in Marketplace:** Install new nodes and integrations from the community, just like adding apps. +* **Web Scraping & Automation:** Visual web scraping, browser automation, and data collection tools. +* **Full API/Webhook In/Out:** Integrate with Zapier, IFTTT, or any tool that speaks HTTP. + +--- + +## 💡 How Borealis Works (In Plain English) + +1. **You build a flow** by dragging “nodes” onto a canvas and connecting them. +2. **Each node** does something — like reading a file, fetching an API, or processing an image. +3. **Live data flows** through the graph in real time. Change a value? Every downstream node updates automatically. +4. **The shared “Value Bus”** means nodes always see the latest data. No refreshes needed. +5. **Power-users and developers** can add their own nodes, or tweak the UI, with changes appearing instantly — even if you make a mistake. + +--- + +## 📈 Current Node Library (and Always Growing!) + +* **Data Nodes:** Manual input, data passing, array extraction, JSON handling, etc. +* **Image Nodes:** Upload, preview, adjust contrast, grayscale, threshold, export, etc. +* **OCR Nodes:** Extract text from images/screenshots using Tesseract/EasyOCR. +* **Logic/Math Nodes:** Comparisons, math operations, logic gates, and more. +* **Agent Nodes:** Remote screenshot, macro keypress (*work-in-progress*), automation of foreground windows. +* **Reporting Nodes:** Export to CSV (*work-in-progress*) (future: other formats). +* **API/Web Nodes:** API requests, regex, text manipulation, etc. +* **Organization Nodes:** Grouping/backdrop for neat, readable graphs. (*work-in-progress*) + +--- + +## 🤝 Who Is Borealis For? + +* **Automation geeks** who want a real-time, visual playground +* **Data analysts** who want to prototype and visualize data flows +* **Developers** who want a safe, forgiving testbed for new ideas + +--- + +## 🚦 Getting Started + +1. **Download Borealis** +2. **Run the launcher:** + + * Windows: `Borealis.ps1` + * Linux/macOS: `Borealis.sh` +3. **Open the web UI** in your browser. Start building! + +--- + +## 🎁 Borealis Is Just Getting Started + +Borealis is **more than a tool** — it’s a playground, a laboratory, and a future-proof platform for any automation you can imagine. Its best features are still ahead, and you can help shape them. + +**Start automating your ideas, today.** + +--- ## ⚡Reverse Proxy Configuration If you want to run Borealis behind a reverse proxy (e.g., Traefik), you can set up the following dynamic configuration: