Skip to content

Repository files navigation

Neloa

Verify Neloa

Neloa is a private, voice-first Mac app for automating work that changes a little every time. Show a workflow once, explain the decisions out loud, then run it later by saying only what is different.

Neloa turns a demonstrated spreadsheet task into a private, adaptable workflow, then previews requested changes before running.

Teach once. Adapt by voice. Stay in control.
Watch the full 27-second introduction · Try Neloa on macOS

This is a purpose-built animation. It contains no desktop capture or personal data.

What works

  • Records the primary display and optional system audio using ScreenCaptureKit.
  • Records and transcribes microphone narration using Apple's on-device speech recognition when available, preserving word timestamps on the same clock as the video and captured actions.
  • Learns mouse clicks, typed text, key presses, and app changes.
  • Samples salient video frames, reads visible interface text with Apple Vision, and uses an in-app Qwen3-VL model to label captured actions and narrated rules.
  • Turns the demonstration into an editable, locally saved workflow.
  • Lets users add typed or spoken instructions at any recording timestamp: approval wording creates a hard gate, while other free-form guidance becomes an explicit review checkpoint.
  • Replays the workflow under user supervision with the signature “Again, but…” interaction.
  • Accepts instructions such as “Replace June with July” or “use amount $750.”
  • Retains accessible field roles such as client, amount, due date, and report month so one request can safely update several form values.
  • Converts demonstrated browser addresses into stable URL steps and presents captured cross-app shortcuts as Copy and Paste actions.
  • Handles exact new-cell requests such as “set C3 to 3” with a previewed target change and Google Sheets’ structured Go to range navigation, rather than a guessed click.
  • Lets each change be used once, saved as a variant, or made the new default.
  • Checks the exact run plan before replay, blocking missing permissions, unavailable apps, malformed actions, and invalid spreadsheet targets while clearly warning about coordinate-only clicks and focus-dependent typing.
  • Shows the same deterministic health check in the automation library before planning: green means structurally ready, orange identifies fragile positioning or focus, and red identifies a blocker with a direct permission or repair action.
  • Lets users re-teach one fragile click, text entry, shortcut, or app switch in the original app, preview the replacement, and preserve the rest of the automation, its timing, variables, and approval gates.
  • Supports daily, weekday, or weekly local run reminders. Opening one prepares the normal reviewed run; reminders never replay clicks or typing on their own.
  • Creates private neloa://run/… links for Apple Shortcuts, Raycast, and other user-invoked launchers; these links open the same reviewed run boundary.
  • Watches one user-selected local folder while Neloa is open, waits for a new or replaced matching file to finish copying, and prepares its demonstrated file input for review without adding actions or loading a model.
  • Builds an inspect-before-save diagnostics report with versions, health, and structural counts while excluding recordings, user content, paths, coordinates, identifiers, and raw failures.
  • Shares reusable, privacy-safe teaching templates that contain only a public title, generic action types, flexible-input flags, and approval gates. Imported templates cannot run; the recipient must demonstrate the task locally and review the newly captured workflow.
  • Runs an unchanged saved workflow without loading Qwen or waiting for model planning.
  • Uses one primary local model family—Qwen3-VL 4B—with a recommended 4-bit tier and an optional higher-precision 8-bit tier, plus Apple's on-device model and a narrow deterministic planner as safe fallbacks.
  • Pauses at spoken approval rules such as “always ask me before sending.”
  • Automatically pauses before captured Send, Share, Submit, Publish, Purchase, Pay, Delete, Remove, and Upload controls even if no gate was narrated.
  • Keeps a local activity receipt showing what ran and what changed.
  • Uses the Lagoon visual identity with persistent System, Light, and Dark appearance choices.

Build and run

Requirements for the complete app: macOS 15 or newer, Apple silicon, 16 GB of memory, and the free Apple Command Line Tools. An Apple Developer Program membership is not required. The build downloads MLX Swift's official, checksum-pinned macOS GPU shader from the matching GitHub release; people installing Neloa's ZIP do not need any developer tools.

make setup-signing
make test
make trigger-test
make template-test
make agent-test
make app
open dist/Neloa.app

make setup-signing is a one-time development setup that creates a local signing identity in your login Keychain. The first signed build may ask for your Mac login password; choose Always Allow so later builds can sign without prompting. Keeping the same identity across builds lets macOS retain Neloa’s privacy permissions. make test runs deterministic workflow checks. make trigger-test exercises a real watched-folder event from file creation through a queued reviewed run. make template-test writes, imports, and prepares a privacy-safe teaching guide while proving that it creates no executable actions. make agent-test makes a real request to Apple's on-device model and verifies the resulting executable change plan.

make qwen-test performs the end-to-end direct MLX model check, including real GPU inference. Its first run downloads the same 3.1 GB 4-bit model used by the app; later runs reuse Neloa's private local cache. make qwen-8bit-test performs the equivalent check for the optional 5.1 GB 8-bit tier.

make model-eval runs the comprehensive regression suite used for model, prompt, quantization, evidence, and planning changes. It recreates the Drive/Sheets workflow with generated local fixtures, exercises complete, partial, and video-only capture paths, validates one- and two-field customization, and probes unsupported and unsafe instructions. It never replays actions or touches an external account. The command fails below the quality threshold and writes JSON and Markdown reports under .build/model-eval/reports.

make model-eval-compare BASELINE=/path/to/baseline.json CANDIDATE=/path/to/candidate.json produces a case-by-case JSON and Markdown comparison and exits nonzero for a real regression or an incompatible test contract. Different commits, model revisions, and quantization tiers can be compared as long as both reports contain the same cases and assertion definitions. See the model evaluation guide.

For faster UI-only work, make basic-app creates a build without Qwen. Complete local builds and GitHub releases always enable Qwen and include the verified MLX GPU shader.

The app asks for Screen Recording, Accessibility, Microphone, and Speech Recognition permissions. Accessibility lets Neloa learn clicks and typing during a demonstration and replay only the actions you approve. macOS may require reopening Neloa after it is granted. Notifications are optional and requested only when you save an enabled run reminder.

Install an unsigned preview

Unsigned Apple silicon ZIPs are published on the GitHub Releases page. Because these previews are not notarized by Apple, macOS will block the first launch until you explicitly approve it:

  1. Download the ZIP and move Neloa.app to Applications.
  2. Try to open Neloa once, then dismiss the security warning.
  3. Open System Settings → Privacy & Security.
  4. Scroll to Security, choose Open Anyway, authenticate, and confirm Open.

Only use a download from the official Neloa repository. Each release includes a .sha256 file so the download can be checked with shasum -a 256 -c <checksum-file>. macOS may ask for Neloa's recording and control permissions again after an update because these previews do not have a stable Apple-issued Developer ID.

Maintainers can reproduce the downloadable artifacts locally with:

make unsigned-release RELEASE_VERSION=0.2.18 BUILD_NUMBER=21

Release packaging stages its ad-hoc app separately and does not overwrite dist/Neloa.app. The local app therefore keeps its stable development signature and its macOS privacy permissions.

See the distribution plan for the release workflow, limitations, and the future path to signed builds.

Run from Apple Shortcuts

Open an automation’s More menu and choose Copy run link for Shortcuts. In Apple Shortcuts, create a shortcut with an Open URLs action, paste the copied neloa://run/… link, and give the shortcut any name you like. The same link can be opened from Raycast or with open 'neloa://run/…' in Terminal.

A run link contains only the local workflow ID. Opening it brings Neloa forward and shows What should change this time? It does not load a model, click, type, or execute anything until you review and explicitly start the run. Deleting the automation makes its old link inert.

Daily reminders, shortcut links, and watched folders all use the same serialized reviewed-run queue. See reviewed run triggers for the safety boundary and watched-folder behavior.

Prepare a run when a file arrives

For an automation that already has a flexible file field:

  1. Open My automations, select the automation, and choose More → Configure watched folder…. You can also use Choose folder on its detail page.
  2. Choose the local folder, matching file type, and exact demonstrated field Neloa should fill.
  3. Select Save watched folder and leave Neloa open.
  4. Add a matching file, or move a newer copy over a file with the same name. After it stops changing, Neloa opens What should change this time? with the exact local path filled in.
  5. Select Preview changes. Neloa shows the single before/after value, checks replay readiness, and waits for you to start—or close—the run.

This path is deterministic: it does not load Qwen or Apple’s language model. It accepts only a complete matching file directly inside the selected folder, changes only the chosen demonstrated input, and never replays in the background. If several files arrive, Neloa shows the queue count and presents each review in order.

Create a privacy-safe diagnostics report

Open Settings → Support & diagnostics → Preview diagnostics. Neloa shows the included categories, the data it guarantees is absent, and the exact selectable JSON before a file can be saved. Nothing is uploaded automatically.

The report contains app and system versions, permission and local-model state, safe automation structure and readiness counts, and aggregate run outcomes. It excludes recordings, OCR, workflow names, transcripts, instructions, typed values, URLs, paths, control labels, coordinates, app identities, UUIDs, raw failures, and storage locations. See the diagnostics privacy contract for the complete schema boundary and verification strategy.

Share a reusable teaching template

To share the shape of an automation without sharing its private contents:

  1. Open My automations, select the automation, and choose More → Share reusable template….
  2. Enter a deliberately public title. Neloa never copies the saved automation’s name into this field.
  3. Inspect the included fields, excluded fields, generic teaching outline, and exact JSON.
  4. Save the .neloa-template.json file and send it using a channel you trust.

To use one, choose Import template… in My automations, inspect its generic outline, then choose Teach this template. Neloa opens a guided teaching session. You must perform the task on your own Mac, review the newly captured actions and values, and save a new local automation. Importing a template never opens its original apps, visits an address, types a value, or creates a runnable workflow.

See the reusable-template privacy contract for the exact schema, hostile-file protections, and test guarantees.

Check an automation before running

Each saved automation has a health indicator in My automations. Selecting it shows the complete local check before a model is loaded or a run is planned:

  • Ready means control permission, captured apps, and saved replay data pass the deterministic checks.
  • Review recommended means the automation can run but relies on saved screen positions or the field focused by an earlier action.
  • Needs attention means a required permission or app is unavailable, or a saved action, web address, key, or spreadsheet target is incomplete.

The health card links directly to control-permission setup or Review & repair. The run preview repeats the check against the exact customized plan, so a later change cannot bypass it. See automation health for the checks and limits.

Local visual intelligence

Neloa offers two precisions of the same Qwen3-VL 4B Instruct model. Balanced · 4-bit is the 3.1 GB default and is recommended for 16 GB Macs. Higher precision · 8-bit is an optional 5.1 GB download and is best with 24 GB or more. People can switch tiers in Settings; only the selected tier is loaded into memory.

Downloads are one-click and resumable. Models are stored under Neloa's Application Support directory and run directly on the Apple GPU through MLX Swift. There is no Ollama installation, Terminal command, local server, account, or cloud API.

The model receives only a small set of salient recording frames, locally recognized interface text, captured actions, and narration. Model output may improve action names and add clearly narrated rules, but it cannot add replayable clicks or keystrokes: Neloa preserves the deterministic capture as the execution authority. The model can be removed from Settings without deleting automations or recordings.

If the model is skipped or unavailable, Neloa still records and replays captured actions, handles explicit value replacements locally, and can use Apple's on-device language model as a planning fallback on supported macOS versions.

See the model strategy for tier guidance, measured resource use, and the visual models being evaluated. See supported scenarios for current product-fit boundaries and the deferred live research-and-synthesis milestone. See the product roadmap for the prioritized path from run readiness, repair, and reviewed triggers to bounded live work. See the research paper plan and conference venue strategy for the proposed evaluation and publication path.

Privacy and safety

Workflow recordings and definitions are saved in the current user's Application Support directory. Neloa does not upload them. Run plans are previewed before execution, there is a three-second cancellation window, and approval steps pause execution.

Local builds use a dedicated development identity when one is installed. That identity is only for development; never distribute a build signed with it.

Responsible use and disclaimer

Neloa is experimental automation software and can make mistakes or take unintended actions. Review its proposed workflow and run preview, supervise execution, keep appropriate backups, and avoid using it for safety-critical or irreversible tasks.

You are responsible for using Neloa lawfully and only on systems, accounts, and data you are authorized to access. The maintainers do not authorize, encourage, or accept responsibility for unlawful, unauthorized, abusive, or harmful use.

Neloa is provided “AS IS,” without warranties or conditions of any kind. To the maximum extent permitted by applicable law, its authors and contributors are not liable for losses, damages, data loss, legal consequences, or other issues arising from its use. Read the full responsible-use disclaimer and the warranty and liability terms in Sections 7 and 8 of the Apache License 2.0.

Building on Neloa

Forks and derivative work are welcome under the Apache License 2.0. If you build something based on Neloa, please message the maintainer and tell us what you are making—we would genuinely like to hear about it and explore ways to work together. This is a friendly request, not a condition of the open-source license.

The Neloa name, logo, app icon, and visual identity are reserved for the official project. Derivative products should use their own name and branding unless written permission has been granted. See TRADEMARKS.md for details.

License

Neloa is licensed under the Apache License 2.0. Distributed copies and derivative works must preserve the applicable license, copyright, and attribution notices described in NOTICE. Packaged apps include the license, notice, and responsible-use disclaimer in their Resources directory.

About

Teach your Mac a workflow once, then run it again with spoken changes. Private, local-first agentic automation for macOS

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages