mastra-desktop is an experimental Electron desktop wrapper around Mastra-powered local workflows.
This project is pre-alpha.
Expect rough edges, breaking changes, and incomplete features. This stage is aimed at developers and tech-savvy power users who want to kick the tires, test behavior, and contribute improvements.
This project is not connected with Mastra.ai. I'm a single developer building a desktop wrapper around Mastra.ai.
Mastra is an important technology dependency and the main inspiration for this work, especially Mastra.ai Studio.
- Node.js 20+
- Yarn 4+
- API keys in a local
.envfile (TBC, should we have .env or store keys in the app?)
I'm developing this on macOS. Windows and Linux support is not yet planned.
- Install dependencies:
yarn installStart the app in development mode:
yarn devThis compiles TypeScript, starts Electron, and runs the Mastra runtime from src/mastra.
Build production output:
yarn buildCreate a packaged build for local testing:
yarn distCurrent packaging is macOS-oriented (darwin + arm64) and should be treated as early-stage only.
Run unit tests:
yarn test:unitRun end-to-end tests:
yarn test:e2eRun focused Electron agent E2E:
yarn test:e2e:agentsrc/: Electron main process and local orchestration codesrc/mastra/: Mastra agents/tools/workflow runtime wiringnext-app/: web UI used in the desktop shelltests/: E2E and integration testsdocs/: project-specific design and engineering notes
- Agents
- Assistants (harness)
- Memory (plugins)
- Tools (plugin factory)
- Sandbox (local, plugins)
- File uploads and document parsing
- Workflows
- UI awesomeness
- Mastra.ai Studio (main inspiration)
- OpenClaw
- Hermes Agent
- Open WebUI
- LibreChat
- Cherry Studio
Contributions are welcome from developers and technical users testing pre-alpha builds.
See CONTRIBUTING.md for setup, process, and pull request expectations.
Please do not report security issues in public issues. See SECURITY.md for responsible disclosure guidance.
This project is pre-alpha and there is currently no end-user support.
See SUPPORT.md for best-effort community support expectations.