{"slug": "agentrove-self-hosted-ai-workspace-for-orchestrating-coding-agents", "title": "Agentrove: Self-hosted AI workspace for orchestrating coding agents", "summary": "Agentrove, a self-hosted AI coding workspace from Mng-dev-ai, orchestrates Claude Code, Codex, Copilot, Cursor, Grok, and OpenCode agents from one interface, with Docker, macOS, and iOS apps. It uses an MCP server to let chats spawn sub-threads, assign per-turn models and personas, and run parallel worktrees for multi-agent workflows. The tool requires Docker and Docker Compose, and is available via GitHub at https://github.com/Mng-dev-ai/agentrove.git.", "body_md": "Self-hosted AI coding workspace for running and orchestrating Claude Code, Codex, Copilot, Cursor, Grok, and OpenCode agents from one interface.\n\n- Runs Claude, Codex, Copilot, Cursor, Grok, and OpenCode through ACP adapters.\n- Gives each workspace its own Docker or host sandbox.\n- Combines chat, code editor, terminal, file tree, diffs, secrets, and git tools in one workspace.\n- Supports workspaces from empty folders, git clones, existing local folders, or GitHub repositories.\n- Streams agent sessions with cancellation, permission prompts, queued follow-up messages, file mentions, slash commands, and attachments.\n- Includes sub-threads, pinned chats, worktree mode, personas, custom instructions, environment variables, and installed agent skills.\n- Orchestrates multi-agent workflows through the bundled MCP server: a lead chat spawns worker sub-threads on any installed agent, model, and persona — in parallel worktrees when needed — then reviews their results.\n- Provides GitHub-assisted repository browsing, pull request review, PR creation, reviewer selection, and git branch/commit/push/pull helpers.\n- Ships as a Docker web app, a macOS desktop app, and a native iOS app.\n\nAgentrove chats aren't just endpoints — they can drive each other. The bundled MCP server (`mcp-server/`\n\n) exposes the whole instance as tools (`send_message`\n\n, `get_messages`\n\n, `list_models`\n\n, `list_personas`\n\n, …), and every chat's agent has those tools available. That turns any chat into an orchestrator: a lead agent on a strong model that decomposes the work, routes each task to the right agent, and reviews what comes back.\n\nThe primitives:\n\n**Sub-threads**—`send_message(parent_chat_id=…)`\n\ncreates a worker chat grouped under the lead chat, in the same workspace and branch. Sub-threads stay flat (no nesting): the lead fans out, workers report back.**Per-turn model and persona**— each worker runs on any installed agent and model (`model_id`\n\n) with any persona (a custom system prompt). Typical fleet: a fast model with a read-only scout persona for codebase exploration, coding models for implementation, dedicated reviewer personas (bug hunting, structural quality) for QA.`list_models`\n\nreports each model's supported reasoning tiers (`thinking_modes`\n\n), so the lead dials effort per task.**Isolated worktrees**—`worktree=true`\n\ngives a worker its own git worktree, so parallel workers edit concurrently without conflicts.**Polling and follow-ups**— the lead polls`get_messages`\n\nuntil a worker's turn completes, judges the result against the actual code, and sends rework to the worker's own thread; follow-ups inherit the thread's previous model, persona, and reasoning settings.**Unattended turns**— orchestrated turns run in the agent's full-execution mode, so workers finish without permission prompts.\n\nA typical loop: the lead explores with a cheap fast model, hands a precise spec to a coding model in a sub-thread, fans reviewer personas out over the diff in parallel, triages their findings, delegates the accepted fixes — and owns the final result. Models, personas, and routing rules are all user-defined, so the same machinery drives whatever fleet you run.\n\nRequirements:\n\n- Docker\n- Docker Compose\n\n```\ngit clone https://github.com/Mng-dev-ai/agentrove.git\ncd agentrove\ncp .env.example .env\n```\n\nSet `SECRET_KEY`\n\nin `.env`\n\n:\n\n```\nopenssl rand -hex 32\n```\n\nStart Agentrove:\n\n```\ndocker compose up -d\n```\n\nOpen [http://localhost:3000](http://localhost:3000).\n\nAgentrove also has a macOS desktop app built with Tauri. It starts a bundled Python backend sidecar on an available `127.0.0.1`\n\nport and connects the frontend to it at launch.\n\n- Download the latest Apple Silicon build from\n[Releases](https://github.com/Mng-dev-ai/agentrove/releases/latest). - Build from source:\n\n```\ncd frontend\nnpm install\nnpm run desktop:dev\n```\n\nAgentrove also builds a native iOS app with Tauri. Since iOS can't run the local\nbackend sidecar, the app is a thin client: it talks to an Agentrove instance you\nalready host (your Docker or production deployment), reachable from the phone over\n`https`\n\n/`wss`\n\n. Because the project is open source, you build and sign it yourself —\nnothing is hardcoded to anyone else's server.\n\nRequirements: macOS with Xcode (plus its iOS SDK and Simulator), the Rust iOS\ntargets (`rustup target add aarch64-apple-ios aarch64-apple-ios-sim`\n\n), and CocoaPods.\n\nIf your device runs an iOS beta whose SDK isn't in a stable Xcode yet, build against the latest stable Xcode's SDK (\n\n`sudo xcode-select -s /Applications/Xcode.app`\n\n) — apps built with an older SDK still run on newer iOS.\n\nPoint the app at your instance:\n\n```\ncd frontend\ncp .env.mobile.example .env.mobile   # then set your https/wss URLs\nnpm install\n```\n\nRun in the simulator:\n\n```\nnpm run ios:dev\n```\n\nInstall on your own iPhone with a free Apple ID — no paid developer account needed (the app must be re-signed every 7 days):\n\n`npm run tauri ios init`\n\ngenerates the Xcode project (first run only).- Open\n`frontend/src-tauri/gen/apple/*.xcodeproj`\n\nin Xcode once, pick your Team under**Signing & Capabilities**, and connect your iPhone (Xcode needs to register the device and create the provisioning profile). - On the phone, enable Developer Mode (\n**Settings → Privacy & Security**), then after the first install trust the certificate under** Settings → General → VPN & Device Management**.\n\nBuild a standalone `.ipa`\n\nand install it on the connected iPhone. The easiest path\nis the bundled helper, which builds, signs, exports, and installs in one step. It\nreads your team from `APPLE_DEVELOPMENT_TEAM`\n\n(so nothing is hardcoded to anyone\nelse's team) and auto-detects the connected device:\n\n```\nexport APPLE_DEVELOPMENT_TEAM=<YOUR_TEAM_ID>   # find it in Xcode → Signing & Capabilities\ncd frontend\nnpm run ios:install\n```\n\nOr run the steps yourself. The `-c`\n\nflag injects the team into both the build\nsigning and the IPA export, so it stays out of the committed config:\n\n```\nnpm run ios:build -- --export-method debugging \\\n  -c '{\"bundle\":{\"iOS\":{\"developmentTeam\":\"<YOUR_TEAM_ID>\"}}}'\n# -> src-tauri/gen/apple/build/arm64/Agentrove.ipa\n\nxcrun devicectl list devices   # find your device id\nxcrun devicectl device install app --device <DEVICE_ID> \\\n  src-tauri/gen/apple/build/arm64/Agentrove.ipa\n```\n\nTo update the app later, re-run `npm run ios:install`\n\n— the standalone build runs on\nthe phone without keeping a Mac connected.\n\nFor a single-host Docker deployment:\n\n```\nSECRET_KEY=$(openssl rand -hex 32) \\\nSERVICE_URL_WEB_80=https://yourdomain.com \\\nAPP_URL=https://yourdomain.com \\\nALLOWED_ORIGINS=https://yourdomain.com \\\ndocker compose -f docker-compose-production.yml up -d --build\n```\n\nPoint Coolify at the `web`\n\nservice (port 80) using `docker-compose-production.yml`\n\n. Set:\n\n| Variable | Example |\n|---|---|\n`APP_URL` |\n`https://yourdomain.com` |\n`ALLOWED_ORIGINS` |\n`https://yourdomain.com` |\n`SECRET_KEY` |\n32+ char secret |\n`TRUSTED_PROXY_HOSTS` |\n`*` (default in production compose) |\n\nIf `APP_URL`\n\n/ `ALLOWED_ORIGINS`\n\nare unset, the compose file falls back to Coolify's `SERVICE_URL_WEB_80`\n\n(correct for production and PR previews).\n\nIf `/admin`\n\nloads as plain unstyled HTML (blue links, no layout), the API is generating `http://`\n\nURLs for SQLAdmin CSS/JS while the page is `https://`\n\n. Rebuild with the production compose above so nginx forwards Coolify's `X-Forwarded-Proto`\n\nand the API trusts the proxy.\n\n**Advanced**→ enable** Preview Deployments**(and** Allow Public PR Deployments**if the repo is public / accepts fork PRs).** Preview Deployments**→ set the URL template, e.g.`pr-{{pr_id}}.yourdomain.com`\n\n.- Point a DNS wildcard (\n`*.yourdomain.com`\n\nor`pr-*.yourdomain.com`\n\n) at the Coolify server and let Coolify issue certificates. - In\n**Environment Variables**→** Preview Deployments**, set:`AGENTROVE_STORAGE_SOURCE=agentrove_storage`\n\n(named volume; do not share production's host path)`APP_URL`\n\n/`ALLOWED_ORIGINS`\n\nempty or`$SERVICE_URL_WEB_80`\n\n(so each preview gets its own origin)- copy\n`SECRET_KEY`\n\nand other secrets from production\n\n- Open a PR (or\n**Load Pull Requests** and deploy manually). Coolify spins up an isolated compose stack at the preview URL.\n\nThe sandbox Docker network is per compose project (no fixed name), so preview sandboxes do not join production's network.\n\n- Frontend: React 19, TypeScript, Vite, Tailwind CSS, Monaco, xterm.js\n- Backend: FastAPI, SQLAlchemy, SQLite, Redis\n- Runtime: ACP, Docker or host sandboxes, Tauri desktop sidecar\n\nJoin the [Discord server](https://discord.gg/HvkJU8dcBA).\n\nContributions and feedback are welcome.\n\nApache 2.0. See [LICENSE](/Mng-dev-ai/agentrove/blob/main/LICENSE).", "url": "https://wpnews.pro/news/agentrove-self-hosted-ai-workspace-for-orchestrating-coding-agents", "canonical_source": "https://github.com/Mng-dev-ai/agentrove", "published_at": "2026-08-14 00:38:40+00:00", "updated_at": "2026-08-14 01:11:13.633246+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "developer-tools", "ai-infrastructure"], "entities": ["Agentrove", "Mng-dev-ai", "Claude Code", "Codex", "Copilot", "Cursor", "Grok", "OpenCode"], "alternates": {"html": "https://wpnews.pro/news/agentrove-self-hosted-ai-workspace-for-orchestrating-coding-agents", "markdown": "https://wpnews.pro/news/agentrove-self-hosted-ai-workspace-for-orchestrating-coding-agents.md", "text": "https://wpnews.pro/news/agentrove-self-hosted-ai-workspace-for-orchestrating-coding-agents.txt", "jsonld": "https://wpnews.pro/news/agentrove-self-hosted-ai-workspace-for-orchestrating-coding-agents.jsonld"}}