
MachinaOS
github.com/zeenie-ai/machinaos- Category
- AI Agents
- Rank
- No. 932Tools index
Previous survey · No. 938 ·
- Pricing
- Open Source
- Type
- APP
- Use case
- Agent Building · Workflow Automation
- Interfaces
- Web · Desktop · CLI
- Builder
- @RohithThakurwar
- GitHub
- 971 stars
- Latest release
- v0.2.1
- Date
About
MachinaOS is a self-hosted, no-code AI agent platform that lets you drag, drop, and connect AI agents to your email, calendar, messaging apps, phone, and 50+ other services. It runs entirely on your own machine with your own API keys, giving you full data privacy and no subscription fees. Build personal assistants, automated workflows, or multi-agent teams that delegate tasks to specialized agents.
What it does
It is a visual workspace for assembling small teams of AI agents that run unattended on your computer. You place a lead agent on a canvas, wire in specialist helpers for particular jobs like coding, research, or messaging, and give each one the credentials it needs. Once started, the team keeps running in the background, waking whenever a trigger fires, such as a new message or a scheduled hour, has the lead check every result before it reaches you, and keeps notes on what it has learned so the next run benefits.
Why it's ranked here
The case here is architectural, not aspirational. Node and provider plugins self-register on import, so adding a new integration or model provider needs no frontend change, and the execution engine adds real infrastructure: parallel scheduling, a dead-letter queue, and a startup sweep that recovers unfinished runs after a crash. It talks to thirteen model providers, including local ones, through one internal interface rather than hardcoding each. MIT licensing and three install paths, packaged download, package-manager install, and source, make it easy to actually try.
What's good
Strengths are concrete. The plugin system means a new integration is one self-contained folder, not scattered edits across the codebase. The provider layer replaced an older LangChain dependency with a native, provider-neutral interface, so switching or adding a model does not ripple through agent code. Credentials are stored encrypted rather than in plain configuration. Agents keep versioned memory items searchable by full text, with vector search layered on top as an accelerator rather than a requirement, so retrieval keeps working even if embeddings fail.
Tradeoffs
The login model is single-owner: one account is seeded from environment variables at first boot rather than proper multi-user accounts, which suits a personal machine more than a shared team deployment. Desktop builds are not code-signed, so first launch means clicking through operating-system security warnings rather than a clean install. Running from source or the terminal installer pulls in a real toolchain, a JavaScript runtime, a Python interpreter, and a separate package manager, which is more setup than a hosted competitor with a single sign-up page.
How to use it well
This fits someone willing to hold their own model API keys and run a process on their own machine or a small cloud box, in exchange for paying only for tokens used and keeping data local. It earns its keep on jobs that should run continuously and unattended: watching an inbox, publishing on a schedule, or answering support messages around the clock, rather than a single one-off chat question. It is not a fit for a team that wants managed hosting, multi-user permissions, or support out of the box.
Technical notes+
The package.json manifest lists two CLI bin entries, company and a deprecated machina alias, built and run under Bun with npm workspaces for client and server/nodejs, while pyproject.toml packages the CLI as a separate, non-uv-managed Python project (opencompany-cli, built with hatchling) so it runs on whatever interpreter is on PATH regardless of the server's own uv-managed virtual environment. bin/cli.js is the Bun-shebanged launcher: it resolves a provisioned Python venv, expands PATH for tools like uv, and shells out to cli/cli.py, a Typer application where every subcommand imports its own dependencies only when that subcommand runs, so a quick command like clean does not pull in the dev server or Temporal code paths. server/main.py boots a FastAPI app behind a dependency-injection container and imports plugin packages purely for their registration side effects, including server/nodes/agent/__init__.py, server/services/execution/__init__.py (documents a Conductor-style decide pattern, asyncio.gather parallel execution, Redis-backed crash recovery, and a dead-letter queue) and server/services/workflow_storage/__init__.py (registers CRUD WebSocket handlers for saved workflows). The frontend root, client/src/App.tsx, is a thin shell around a Dashboard component behind a ProtectedRoute. LICENSE carries a copyright line for 'MachinaOs' alongside one for 'OpenCompany contributors,' and package.json's machina bin alias corroborates that this is the same project under a former name. CONTRIBUTING.md and CLAUDE.md describe the current architecture (a plugin-registry node system, a native per-provider LLM SDK layer, and a WebSocket-first API). RFC-0002-AGENT-CONTEXT-AND-MEMORY.md documents an older per-thread journal design that the same document marks as superseded by a plain per-agent conversation store, and specifies the memory tool's six operations: remember, recall, list, get, update, and forget.
Observed
- License
- MIT, with two copyright lines in the file, one under the project's earlier name and one under its current name.
- Language
- Backend is a Python FastAPI service; frontend is a TypeScript/React application; the CLI wrapper is JavaScript run under Bun with a Node fallback.
- Packaging
- Distributed as an npm package with CLI bin entries (a current command name and a deprecated alias), as desktop installers for Windows, macOS (Apple Silicon and Intel) and Linux, via a terminal install script, and buildable from source.
- Interfaces
- a command-line tool (start, dev, build, serve, daemon, deploy, docs, version, doctor, provision, clean, stop subcommands), a web canvas UI, and a WebSocket-first API that the repository documents as replacing most REST endpoints.
- Structural
- The CLI's Python package is declared independent of the backend's own managed virtual environment, so it can run under whatever interpreter is already on PATH.
- Architecture
- The execution engine supports a distributed mode and a sequential fallback, with a dead-letter queue and a startup sweep that recovers incomplete runs after a crash.
- Structural
- Node and service packages self-register their handlers as a side effect of being imported at startup, rather than through a central manual registry.
- Security
- Credentials, including model API keys, are stored encrypted and gated behind a single seeded owner login rather than multi-tenant authentication.
- Structural
- Desktop installers are not code-signed, so first launch requires manually approving an operating-system security warning.
Read from README.md, package.json, pyproject.toml, bin/cli.js, cli/cli.py, server/main.py, server/core/__init__.py, server/services/execution/__init__.py, server/services/workflow_storage/__init__.py, server/nodes/agent/__init__.py, client/src/App.tsx, CONTRIBUTING.md, LICENSE, CLAUDE.md, RFC-0002-AGENT-CONTEXT-AND-MEMORY.md.
What it can do
Build automated workflows by visually connecting AI agents to external services
Drag-and-drop node configuration on a canvas → Executable multi-step automation pipeline
Connect AI agents to email to read, draft, and send messages automatically
Email account credentials and agent instructions → Automated email responses or organized inbox actions
Run AI models locally using Ollama or LM Studio
Locally hosted LLM and user-defined prompt or task → AI-generated responses processed entirely on-device
Delegate tasks across a team of specialized AI agents
High-level task instruction given to an orchestrator agent → Completed task results from coordinated sub-agents
Automate calendar scheduling and event management
Calendar account connection and scheduling rules → Created, updated, or retrieved calendar events
Trigger AI workflows from messaging app events
Incoming messages from connected messaging platforms → Automated replies or downstream workflow actions
Execute web browsing tasks autonomously
Natural language instruction to retrieve or interact with web content → Scraped data, completed form submissions, or summarized web content
Connect personal API keys to 50+ services without a subscription
User-supplied API keys and service credentials → Self-hosted integrations with full data privacy and no recurring cost
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.