MoonMind is a self-hosted app for running AI coding workflows. Give it a task, choose an agent, and follow the work from your browser. Each instance is built for one operator, with concurrent workflows and multiple provider accounts.
Omnigent is MoonMind's primary agent backend. It runs harnesses such as Codex, Claude Code, and OpenCode. MoonMind manages the workflows, credentials, workspaces, and results around them.
- Runs durable workflows. Temporal tracks steps, retries, and schedules. Work can resume after a worker restart, with checkpoint recovery where supported.
- Controls access. Provider Profiles select credentials and model settings. Agents run inside container boundaries and submit build and test jobs without receiving the host Docker socket.
- Keeps results inspectable. The dashboard shows progress, logs, diagnostics, and artifacts. You can review a run, intervene when needed, or return to its saved results later.
MoonMind currently focuses on software engineering. Start with a repository task or a reusable Skill.
These are captures of the current dashboard with synthetic example data. They show the interface, not live agent results. The capture recipe explains how to refresh them.
Install Docker with Compose V2 and Git, then run:
git clone https://github.com/MoonLadderStudios/MoonMind.git
cd MoonMind
git submodule update --init --checkout -- moonspec omnigent
docker compose up -dCompose pulls published images. A fresh local install does not need an .env file or a local image build.
- Open localhost:7000. Wait for the dashboard to load and
curl -fsS http://localhost:7000/healthzto succeed. - If no eligible model is available, connect a Provider Profile in Settings → Providers & Secrets with an API key or a supported OAuth flow. For OAuth, complete the opened enrollment tab, then return and click Finalize. Free or anonymous model availability is not guaranteed.
- For authenticated GitHub work, add a Source Control connection and assign the repositories it may access. Token and GitHub App connections are supported.
- Click Create and enter your task, using eligible Harness and Provider Profile defaults or choosing a compatible profile. Leave Repository blank and Publish Mode at None for save-only scratch work; no source-control connection is needed. For repository work, enter its details, or choose a Skill or Preset. Review the publishing option before submitting.
- Open the workflow to inspect its progress, outputs, artifacts, and logs. Reading one engineering journey shows where a run's outcome, failure, output, and next action appear.
Application login, model-provider credentials, and source-control access are separate settings. A healthy dashboard alone does not mean an agent is ready to run.
The default local install binds to 127.0.0.1 and uses restricted, disabled authentication. There is no login step on this path. Before allowing access from another machine, configure the appropriate authentication and ingress boundary. See Authentication Contracts.
For optional settings, use .env-template. For startup checks and troubleshooting, see Combined Stack Validation. Start with docker compose ps and docker compose logs <service>; do not delete volumes to fix a startup problem.
Start with MoonMind Architecture for a walkthrough of one workflow, component responsibilities, recovery, and links to deeper topics.
- MoonMind API and dashboard accept work and expose controls and results.
- Temporal and workers coordinate durable workflows and run their steps.
- Omnigent manages agent hosts, harnesses, and sessions. Provider Profiles supply the selected connection and defaults.
- PostgreSQL and MinIO store application records and artifacts. No vector database is required.
- Docker Compose runs the local stack. The service inventory lists its services, ports, and optional profiles.
Some older execution paths remain for compatibility. Available harness and profile combinations depend on what your deployment supports. See the Omnigent docs and runtime support policy for the details.
- Keep the host running. Putting the machine that hosts MoonMind to sleep pauses execution. Temporal can resume when the infrastructure returns.
- Check network boundaries. Restricted egress needs an enforced, attested configuration. A plain Docker bridge is not network confinement. See Restricted Egress.
- Secret scanning is opt-in.
MOONMIND_HIGH_SECURITY_MODEscans supported MoonMind-owned outbound text and push bundles. It is off by default and does not cover binary attachments, terminal input, or browser automation. See the Secrets System. - Choose publication deliberately. Saving results and publishing changes have different permissions. See Workflow Publishing.
For upgrades, use the deployment updater:
bash tools/update-moonmind.shThe host updater requires Python 3.10+ and Compose V2. See the update guide for what an update installs, preserved settings, and recovery from interrupted updates.
Contributions are welcome, including AI-assisted pull requests. Read CONTRIBUTING.md for setup and testing, and AGENTS.md when working with a coding agent.
MoonMind is licensed under Apache 2.0. See NOTICE for attribution.
The Omnigent submodule has its own Apache 2.0 license and notices in omnigent/LICENSE and omnigent/NOTICE. Other submodules retain their upstream licenses.


