Skip to content

Mng-dev-ai/agentrove

Repository files navigation

Agentrove

Self-hosted AI coding workspace for running Claude Code, Codex, Copilot, Cursor, and OpenCode agents from one interface.

License: Apache 2.0 Python 3.12 React 19 Discord

Agentrove is under active development. Expect breaking changes between releases.

Chat Interface

What It Does

  • Runs Claude, Codex, Copilot, Cursor, and OpenCode through ACP adapters.
  • Gives each workspace its own Docker or host sandbox.
  • Combines chat, code editor, terminal, file tree, diffs, secrets, and git tools in one workspace.
  • Supports workspaces from empty folders, git clones, existing local folders, or GitHub repositories.
  • Streams agent sessions with cancellation, permission prompts, queued follow-up messages, file mentions, slash commands, and attachments.
  • Includes sub-threads, pinned chats, worktree mode, personas, custom instructions, environment variables, and installed agent skills.
  • Provides GitHub-assisted repository browsing, pull request review, PR creation, reviewer selection, and git branch/commit/push/pull helpers.
  • Ships as a Docker web app, a macOS desktop app, and a native iOS app.

Quick Start

Requirements:

  • Docker
  • Docker Compose
git clone https://github.com/Mng-dev-ai/agentrove.git
cd agentrove
cp .env.example .env

Set SECRET_KEY in .env:

openssl rand -hex 32

Start Agentrove:

docker compose up -d

Open http://localhost:3000.

Desktop

Agentrove also has a macOS desktop app built with Tauri. It starts a bundled Python backend sidecar on an available 127.0.0.1 port and connects the frontend to it at launch.

  • Download the latest Apple Silicon build from Releases.
  • Build from source:
cd frontend
npm install
npm run desktop:dev

Mobile (iOS)

Agentrove also builds a native iOS app with Tauri. Since iOS can't run the local backend sidecar, the app is a thin client: it talks to an Agentrove instance you already host (your Docker or production deployment), reachable from the phone over https/wss. Because the project is open source, you build and sign it yourself — nothing is hardcoded to anyone else's server.

Requirements: macOS with Xcode (plus its iOS SDK and Simulator), the Rust iOS targets (rustup target add aarch64-apple-ios aarch64-apple-ios-sim), and CocoaPods.

Point the app at your instance:

cd frontend
cp .env.mobile.example .env.mobile   # then set your https/wss URLs
npm install

Run in the simulator:

npm run ios:dev

Install on your own iPhone with a free Apple ID — no paid developer account needed (the app must be re-signed every 7 days):

  1. npm run tauri ios init generates the Xcode project (first run only).
  2. Open frontend/src-tauri/gen/apple/*.xcodeproj in Xcode once, pick your Team under Signing & Capabilities, and connect your iPhone (Xcode needs to register the device and create the provisioning profile).
  3. On the phone, enable Developer Mode (Settings → Privacy & Security), then after the first install trust the certificate under Settings → General → VPN & Device Management.

Build a standalone .ipa and install it on the connected iPhone:

# from frontend/ — rebuild the bundled UI + native app any time the code changes.
# Sign with your own Apple team (find the ID in Xcode → Signing & Capabilities);
# nothing is hardcoded to anyone else's team. The -c flag injects it into both
# the build signing and the IPA export, so it stays out of the committed config.
npm run ios:build -- --debug --export-method debugging \
  -c '{"bundle":{"iOS":{"developmentTeam":"<YOUR_TEAM_ID>"}}}'
# -> src-tauri/gen/apple/build/arm64/Agentrove.ipa

# find your device id, then install the freshly built .ipa
xcrun devicectl list devices
xcrun devicectl device install app --device <DEVICE_ID> \
  src-tauri/gen/apple/build/arm64/Agentrove.ipa

To update the app later, re-run those two commands — the standalone build runs on the phone without keeping a Mac connected.

Production

For a single-host Docker deployment:

SECRET_KEY=$(openssl rand -hex 32) \
SERVICE_FQDN_WEB_80=https://yourdomain.com \
APP_URL=https://yourdomain.com \
ALLOWED_ORIGINS=https://yourdomain.com \
docker compose -f docker-compose-production.yml up -d --build

Stack

  • Frontend: React 19, TypeScript, Vite, Tailwind CSS, Monaco, xterm.js
  • Backend: FastAPI, SQLAlchemy, SQLite, Redis
  • Runtime: ACP, Docker or host sandboxes, Tauri desktop sidecar

Community

Join the Discord server.

License

Apache 2.0. See LICENSE.

About

Self-hosted AI coding workspace for Claude Code, Codex, Copilot, Cursor, and OpenCode, with ACP-powered sandboxes

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors