Borealis/readme.md
2025-05-30 06:39:36 -06:00

161 lines
8.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

![Borealis Logo](https://git.bunny-lab.io/Bunny-Lab/Borealis/raw/branch/main/Data/Server/WebUI/public/Borealis_Logo_Full.png)
# Borealis: Visual Automation For Everyone
**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 | 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 |
---
## 🧰 What Can You Build With Borealis?
* **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
---
## 🏆 Why Borealis Stands Out
* **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 wont 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.
---
## 🔭 Future Potential (What Borealis Could Become)
Borealis is already a swiss-army knife in the works — but heres just a taste of whats 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** — its 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:
```yml
http:
routers:
borealis:
entryPoints:
- websecure
tls:
certResolver: letsencrypt
service: borealis
rule: "Host(`borealis.bunny-lab.io`) && PathPrefix(`/`)"
middlewares:
- cors-headers
middlewares:
cors-headers:
headers:
accessControlAllowOriginList:
- "*"
accessControlAllowMethods:
- GET
- POST
- OPTIONS
accessControlAllowHeaders:
- Content-Type
- Upgrade
- Connection
accessControlMaxAge: 100
addVaryHeader: true
services:
borealis:
loadBalancer:
servers:
- url: "http://192.168.3.254:5173"
passHostHeader: true
```