Build automation the way you'd build software.
Wire blocks together on a canvas and let Aerini handle the repetitive jobs, on your machine or a server you control. No account. No cloud. No telemetry.
New in 0.4.3MCP server: let an AI agent build and run workflows →
Windows x64 · macOS Apple Silicon · Linux x64 and ARM64 · v0.4, pre-1.0
Aerini is an app for building automation visually: drop nodes onto a canvas, connect them with wires, and the resulting graph is your workflow. Nothing runs until you start it, and when it does, it runs on hardware you control.
· live pulse, mirrors github.com/Panchak2d/Aerini ·
Three nodes. One wire path. Press run.
This is a working recreation of a real Aerini workflow: a trigger that starts a run, an action that fetches data, and a utility that displays it. Press run to watch it move.
A run starts here: by hand with Manual Trigger, or in the background from a Schedule or Webhook.
Fetches, transforms, or calls out to something external. HTTP Request has separate Success and Error outputs, so a failure can be wired somewhere on purpose.
Marks the result. Output shows what the workflow produced; other nodes write it to a file or send it to another service.
Jobs you'd otherwise do by hand, or write a script for.
Starting points made from Aerini's built-in nodes. Each card lists the nodes it uses, so you can see how it is wired.
Everyday automation
A weekday report in your inbox
Fetch figures from an API every weekday morning, pull out the one number you care about, and email it to yourself.
Schedule → HTTP Request → Transform Data → Send Email
A morning briefing, summarised
Grab a top story or any feed, have an AI model boil it down to a few lines, and message it to yourself.
Schedule → HTTP Request → AI Prompt → Telegram
Know when a site goes down
Check a page or an API on a timer. When it fails or a value changes you get pinged, and when all is well you hear nothing.
Schedule → HTTP Request → If / Condition → Desktop Notification or Slack
A daily log in a spreadsheet
Record one number a day, such as a price, a temperature or a follower count, as a new Google Sheets row and watch the trend build.
Schedule → HTTP Request → Google Sheets
A reading list that files itself
Each day, fetch a top story, summarise it with a model, and save the result as a page in Notion.
Schedule → HTTP Request → AI Prompt → Notion
Private AI on your own hardware
Point AI Prompt at Ollama or any OpenAI-compatible server on your machine or network, so the request stays there.
AI Prompt with your own Base URL
For builders
React to a GitHub push
Turn an incoming HTTP request into the start of a workflow, and post to Slack only when it is a push to main. The listener runs inside Aerini, bound to localhost.
Webhook → If / Condition → Slack
A chatbot on your own site
A floating chat window on any web page, backed by a Webhook workflow that remembers the conversation. One script tag; the workflow is served by aerini-server in api mode.
Webhook → AI Memory → AI Prompt → AI Memory
Branch-and-merge pipelines
Loop over a list, fan out to parallel branches, then merge the results back into one path before continuing.
Loop (For Each) → branches → Merge
Decisions that shape everything else.
Runs itself, not a subscription
No account to create, no cloud dependency, no telemetry. Aerini's own interface loads one font from Google Fonts. The only other call it makes is checking for updates, and only when you click Check for Updates.
An engine, not just an app
The workflow engine is a standalone Rust crate. Embed it in your own program, register custom nodes in code, and run it with no UI attached at all.
crate: aerini-engine
Plugins that can't reach your filesystem
Third-party nodes compile to WebAssembly and run in their own Wasmtime sandbox: no filesystem access, a memory cap, and a time limit per call. Outbound HTTP is filtered the same way built-in nodes are, so a plugin can't reach your internal network.
target: wasm32-wasip2 · 64 MiB memory · 30 s per call
One engine, two ways to run it
Build and test in the desktop app, then use Export → Export for Server to package the workflow for aerini-server, a headless binary. The Linux target is a zip with a systemd service.
Built to be watched while it runs
A Monitor panel shows memory, active runs, and per-workflow status live, not bolted on after the fact.
Install plugins without leaving the app
Open the Plugins panel, choose a plugin folder once, then install nodes with the file picker or by dropping a file on the window. Multi-node packs install and remove as one group. Each plugin shows its signature status (unsigned is normal for community plugins), and one that fails to load shows why.
formats: .wasm · .aerinipkg (multi-node packs)
AI nodes that don't need a hosted API
Point AI Prompt or AI Agent's Base URL at Ollama or any OpenAI-compatible server on your own machine or network, and the request stays there.
Pick a platform.
- macOS: the app is not signed with an Apple Developer certificate. The first time, right-click it and choose Open. There is no Intel build yet.
- Windows: the installer is not code-signed, so SmartScreen will warn you. Choose More info, then Run anyway.
- Linux: needs webkit2gtk 4.1, which most desktops already have.
Using an AI agent? Direct downloads for the aerini-mcp programs are under AI agents.
Building from source: git clone https://github.com/Panchak2d/Aerini.git. See the repo's docs/ folder for engine-embedding and plugin-authoring guides. Running the headless engine unattended (aerini-server): docker pull ghcr.io/panchak2d/aerini-server, or build the image yourself if you want to customize it; see the deployment guide above.
Your first workflow, step by step.
Start from a blank canvas. Building one small workflow yourself teaches the parts faster than reading about them.
Open Aerini
In the welcome dialog, choose Start with a blank canvas.
Wire three nodes
Manual Trigger, then HTTP Request pointed at httpbin.org/get, then Output.
Press Run
Each node shows a preview of its output right on the canvas.
Make it automatic
Swap in a Schedule trigger, then choose Schedule Run from the Run menu.
New to automation
Ready to build
Developers and operators
Let an AI agent build and run your workflows.
Describe the job in plain English, such as “every weekday at 8, email me the top story, summarised”, and an AI agent can look up the nodes, draft the workflow and validate it before anything runs.
aerini-mcp is a Model Context Protocol server. Point Claude Code, Claude Desktop, or any MCP client that can start a local program at it, and the agent can look up what each node does, check a workflow, save it, and run it.
With a server
Connects to a running aerini-server api with a token. All 11 tools, including running workflows on the server, and the server's live node catalog, plugins included.
program: aerini-mcp · download about 3 to 4 MB
No server needed
Four tools: list nodes, read a node's schema, validate a workflow, and save it as a .aerini file. Drag the file onto the desktop app's canvas to open it. Nothing is ever run, and only built-in nodes are known.
program: aerini-mcp-offline · download about 10 to 16 MB
- Writes are off by default.Saving to a server, deleting, and starting or stopping schedules are refused until you start
aerini-mcpwith--allow-write. - The server enforces the token.A read-only token cannot change or run anything, and an access list can limit a token to named workflows.
- Run output is treated as data.Control, bidirectional and zero-width characters are stripped and results are cut at 32 KiB by default. That lowers prompt-injection risk but does not remove it, so keep your client's approval prompts on.
- Know the sharp edge.Running a workflow has real side effects. Shell, Code and Database nodes are off on
aerini-server apiby default. Do not enable them on a server where an agent holds a write token.
- LinuxARM64
- aerini-mcpsha256aerini-mcp-offlinesha256
- macOSApple Silicon
- aerini-mcpsha256aerini-mcp-offlinesha256
- Windowsx64
- aerini-mcpsha256aerini-mcp-offlinesha256
Pick aerini-mcp to work with a server, or aerini-mcp-offline for no server. Save a sha256 file next to its archive and sha256sum -c will check the download.
claude mcp add --transport stdio aerini -- /path/to/aerini-mcp-offline
claude mcp add --env AERINI_URL=http://127.0.0.1:7700 --env AERINI_TOKEN=<agent token> --transport stdio aerini -- /path/to/aerini-mcp
Create a separate token for the agent: read is enough to explore and validate, add write only if it should run workflows. Never give an agent an admin token. Claude Desktop and other clients are covered in the setup guide.
Reference: all 11 tools, release files, the Claude Skill
- Look upboth modes
list_nodesget_node_schemavalidate_workflow- Readonline
list_workflowsget_workflowget_scheduler_status- Changeonline, needs --allow-write
save_workflowdelete_workflowstart_schedulestop_schedule- Runonline, write-scoped token
run_workflow
save_workflow also works offline, where it writes the .aerini file and needs no flag.
Every release includes both programs for Linux (x64 and ARM64), macOS Apple Silicon and Windows x64, each with a .sha256 checksum. The sizes above are the compressed archives (.tar.gz on Linux and macOS, .zip on Windows). The builds are not code-signed, so macOS and Windows may warn on first run.
A second route, with no server or MCP setup: the Claude Skill builds ready-to-import .aerini files from plain-English requests in Claude or Claude Code. It cannot open them in the app, so do one manual run first. It is a Patreon add-on, included for supporters or available on its own, and is independent of Anthropic.
Read it, run it, change it.
Aerini is open source under the AGPL-3.0. You can use it, study it, and modify it freely. If you distribute a modified version — including running it as a network service for others — you share those changes back.
Most people never touch that condition. If it matters for what you're building, a commercial license removes it for one named product.
AGPL-3.0
Free for personal use, internal tools, and open-source projects. Modify anything. Just share changes back if you distribute a modified version or offer it as a service to others.
Commercial license
For teams that need to ship a modified version, or run a modified aerini-server as a service, without the share-back requirement. Covers one named product and every version released while you're subscribed.
See pricingBuilt with the people who use it, not just for them.
Free users get a say in what Aerini builds next, not just supporters. Contribution is also a real path, with defined steps rather than a vague "get involved."
Contributor
Open a PR, fix a bug, improve a doc.
Reviewer
Review incoming changes from other contributors.
Maintainer
Merge rights over a defined area of the codebase.
Core maintainer
Shapes direction alongside the founder.
Nothing running right now
Polls open on both GitHub Discussions and Patreon when there's a real decision to make: which trigger to build next, how a feature should behave, that kind of thing. Everyone gets a vote, supporter or not — pick whichever platform you already have an account on.
Optional, and never a gate.
The open-source project stays fully usable with zero support. Backing it gets you a few extra things. It doesn't unlock the software itself.
Using Aerini
- Full access to the open-source project
- Every software update and new version
- Changelogs and feature announcements
- A vote in community polls
Backing development
- New plugins for the node library, roughly every 2–4 weeks
- A Claude Skill for building Aerini workflows
- Workflow-building guidance and resources
- Not a supporter? Buy one at a time, no membership needed: the File Watcher plugin or the Claude Skill.
Once monthly donations average more than $500 over three months, a share goes to contributors. The split is published in REWARDS.md in the repository.
Common questions.
Your machine. Your workflow. Your rules.
Free, open source, and yours to inspect line by line.