Rovai AI
Desktop and browser workspace that keeps coding-agent teams together across sessions, tasks and projects.
- Source repo
- murray17/rovai-ai
- Stars
- ★ 125
- Last updated
- 1d ago
- License
- MIT
- Primary language
- Rust
- FA score
- 49/100 · Major gaps
At a glance
- Works with
- Universal · cross-platformCodex · Claude CodeChatGPT (Partial support)
- You'll need
- Typical use
- You already have Claude Code or Codex CLI installed and signed in, and want an implementer and a reviewer to work the same project with different Agents, models and permissions while handing work back and forth.
- Main limitation
- The software is free but you must supply and sign in to your own coding Agents and model services, so real running costs depend on those providers.
- Source review
- 49/100 · Major gaps
What does this agent do, and when should you use it?
Rovai AI is a workspace for long-lived coding-agent teams, shipped as a desktop app for macOS (Apple Silicon and Intel) and Windows x64, plus browser access and a standalone Rovai Server you can host yourself. It brings already-installed, already-signed-in coding Agents — Codex CLI, Claude Code, Pi Coding Agent, DeepSeek Harness, OpenCode — into shared conversations in which each teammate has a name, role, responsibilities and working principles, with its Agent, model and permissions chosen separately. Rovai itself does not perform the coding work: the coding Agents act with their own tools, authentication and configured model services, so model choices, permissions, Skills and MCP support depend on the Agent and host platform. Execution stays visible through execution cards where you follow tool activity, answer approvals, preview files and inspect changes, while tasks record responsibility and execution records show what actually ran. Longer goals live on the Mission board with scheduled work and collaborative memory, and finishing a run, completing a mission and merging code are kept as three separate actions. Desktop and standalone Server share the Host implementation but keep separate data, and channel integration for Feishu and DingTalk is provided by Desktop.
Rovai reads and maintains the team's collaboration state: teammate profiles (name, role, responsibilities, working principles), shared conversations and focused one-on-one threads, Mission board goals with project and team, task ownership, scheduled work and saved collaborative memory. It invokes the coding Agents you have installed and signed in on the host; those Agents run with their own tools, authentication and configured model services, which is why available models, permissions, Skills and MCP capabilities follow the chosen Agent and host platform. Execution surfaces as cards where you follow tool activity, respond to approvals, preview files and inspect changes; tasks record responsibility while execution records show what ran, and finishing a run, completing a mission and merging code are three distinct actions. For remote work, the desktop app can enable Web access or you can run an independent Rovai Server on your own host and continue in a browser, with Agents and project files staying on the host you connect to; the desktop app also connects to Feishu and DingTalk to send requests and receive results. Building from source uses git clone, pnpm install --frozen-lockfile and pnpm dev, and the engineering guides are primarily in Chinese.
- You already have Claude Code or Codex CLI installed and signed in, and want an implementer and a reviewer to work the same project with different Agents, models and permissions while handing work back and forth.
- You are running a multi-day goal such as reworking a download flow or preparing a release, and need a Mission board that keeps the goal, project, team and accumulated file changes in one place.
- You want durable conventions — interface rules, style guides, release steps — stored as collaborative memory so the next teammate does not start from zero.
- You want to leave the desk, open the workspace in a mobile browser, and follow execution while code and Agents stay on your own host.
- You prefer to file requests and receive results inside Feishu or DingTalk and want your Desktop teammates reachable there.
- You want to wire existing services into the team's workflow through native Skills or MCP without switching the coding Agent you already use.
How do you install or deploy this agent?
Desktop (the documented primary path): download the build for your platform. The README lists macOS Apple Silicon, macOS Intel and Windows x64 targets.
https://rovai.dev/download/Self-hosted server: install Rovai Server on your own host. Server packages, host requirements, release limitations and setup are documented separately.
https://rovai.dev/docs/server-install.htmlBuilding from source requires Rust 1.85+, Node.js 24+ and pnpm.
git clone https://github.com/murray17/rovai-ai.git
cd rovai-ai
pnpm install --frozen-lockfile
pnpm devBefore you start, install and sign in to at least one supported coding Agent on the host (Codex CLI, Claude Code, Pi Coding Agent, DeepSeek Harness, OpenCode and others), then confirm it in Settings → Agents.
How do you use this agent?
The README quick start is three steps:
- Prepare one Agent: install and sign in to a supported coding Agent on the host, then check it in Settings → Agents.
- Choose a teammate: set their Agent, model and permissions. One teammate is enough to get started.
- Give it a small task: open a project conversation, ask the teammate to explain the project, and inspect the execution before assigning a change.
For a larger goal, create it on the Mission board with its project and team, continue in that conversation, and inspect the accumulated file changes and delivery. To continue from another device, enable Web access in Rovai Desktop or run a standalone Rovai Server and open the workspace in a browser; the desktop app can also connect to Feishu and DingTalk.
What are this agent's strengths and limitations?
- Teammate identity outlives individual sessions: name, role, responsibilities and working principles persist, and each teammate picks its own Agent, model and permissions.
- Agent connectivity is not tied to one vendor — the README names Codex CLI, Claude Code, Pi Coding Agent, DeepSeek Harness and OpenCode, with models and capabilities following the chosen Agent.
- Execution is visible and separated from ownership: follow tool activity, answer approvals, preview files and inspect changes, while tasks record responsibility and execution records show what ran.
- Deployment boundary is explicit: Desktop and standalone Server share the Host implementation but hold separate data, and a browser connection does not migrate or sync it; Agents and project files stay on the host you connect to.
- MIT licensed, free to use, modify, distribute and use commercially.
- The software is free but you must supply and sign in to your own coding Agents and model services, so real running costs depend on those providers.
- Capabilities are bounded by the chosen Agent and host platform: model choice, permissions, Skills and MCP support all depend on them, and the README points to a separate compatibility document.
- Engineering documentation — developer guide, architecture and runtime-compatibility evidence — is primarily in Chinese, which raises the barrier for English-only readers.
- Remote access is not synchronization: Desktop and standalone Server each keep their own data, so teams must decide up front which host holds the work.
- There is a hard prerequisite: at least one supported coding Agent must be installed and signed in on the host, so a fully offline or Agent-less environment cannot run it.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Rovai AI This agent | 49 · Major gaps | — | ★ 125 | 1d ago | Rust | Codex · Claude Code |
| Omnigent | 62 · Some gaps | CLIFree + model costs | ★ 11k | today | Python | ChatGPT · Codex · Claude Code · Claude.ai · OpenAI API · Claude API |
| Aster | 77 · Good | CLIFree + model costs | ★ 111 | today | Rust | OpenAI API |
| Agentica | 63 · Some gaps | CLIFree + model costs | ★ 352 | 13d ago | Python | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows an Electron desktop plus Rust Core/Host, and SECURITY.md enumerates risk surfaces (approval/permission bypass, cross-Camp data leakage, path traversal, symlink escape, credential isolation), indicating awareness of permission boundaries. However, the repository contains no verifiable permission model, default permission tiers, approval trigger conditions, or data-flow inventory; README defers to external docs. least_privilege = 1: per-teammate permission configuration is asserted but not evidenced. user_confirmation = 1: SECURITY.md implies an approval mechanism and an explicit highest-permission mode, but no default confirmation policy is shown. data_flow_transparency = 1: the architecture diagram and the statement that agents and project files stay on the connected host are directional only; no concrete inventory of storage, logs, or export scope. sensitive_data_handling = 1: SECURITY.md asks reporters to redact credentials and private paths, showing intent, but there is no evidence of secret storage, encryption, or isolation implementation. dependency_security = 2: package.json pins exact versions, CI uses --frozen-lockfile and --ignore-scripts, and all GitHub Actions are pinned by commit SHA — verifiable supply-chain hygiene; no dependency audit/vulnerability scanning is shown, so not full marks. external_effects = 1: README states that finishing a run, completing a mission, and merging code are separate actions, and SECURITY.md flags repeated external actions after cancellation, but no idempotency or external-effect inventory exists. rollback = 1: SECURITY.md mentions cancellation/recovery and update integrity, but no rollback procedure, data migration reversal, or recovery steps are documented in-repo. source_attribution = 1: LICENSE and package.json attribute murray17, but publisher identity is unverified and README leans on external sites and video that cannot be cross-checked in-repo.
self_consistency = 2: workspace version 0.4.5 in Cargo.toml matches package.json 0.4.5, and Rust 1.85 / Node 24 claims agree across README, Cargo.toml, package.json, and CI; no contradictions found. dependency_availability = 2: exact-version dependencies with pnpm-lock.yaml and --frozen-lockfile, plus complete Node 24 and Rust stable setup steps in CI, support reproducibility; no offline/mirror guidance, and one dependency is a beta (dingtalk-stream 2.1.6-beta.1). failure_messages = 1: CI has a fail-closed path-detection fallback that enables all checks, which is good practice, but runtime error messaging, diagnostics, and user-visible failure semantics have no in-repo evidence; SECURITY.md only asks reporters for logs.
audience_and_scenarios = 2: README targets teams using installed coding agents and names concrete scenarios — desktop, self-hosted Server, browser remote access, Feishu/DingTalk channels. capability_boundaries = 2: README states that model choice, permissions, Skills, and MCP depend on the agent and host platform, and that Desktop and Server keep separate data without migration or sync — clear boundaries. trigger_precision = 1: no verifiable definition of agent triggers, delegation rules, or scheduling semantics; only narrative about the Mission board and scheduled work. environment_fit = 1: README lists macOS arm64/x64 and Windows x64, and CI covers Linux/Windows/macOS plus a Debian VM, so environment coverage has evidence; Linux desktop is absent from the README support list and runtime prerequisites beyond minimum OS are unspecified, hence the deduction.
information_architecture = 2: README is well-sectioned by capability, configuration, missions, remote access, quick start, architecture, and docs, with links to docs/development and docs/architecture. install_notes = 2: source build steps (pnpm install --frozen-lockfile, pnpm dev) plus desktop download and Server install entry points are given, but installation detail is largely hosted externally and incomplete in-repo. naming_stability = 2: package name rovai-ai, product name Rovai AI, appId ai.rovai.desktop, and binaries rovai-core/rovai-host/rovai are consistent. examples_and_faq = 1: README has screenshots, a video, and a small first-task walkthrough, but no FAQ, common-error guidance, or configuration examples. known_limitations = 1: SECURITY.md notes the project is pre-release and older builds need upgrades, and README mentions Server 'release limitations', but there is no consolidated limitations list. license = 3: full MIT text in LICENSE, MIT declared in Cargo.toml and package.json, and a matching README badge — three-way corroboration. versioning_changelog = 1: version 0.4.5 is consistent across Cargo.toml and package.json, but there is no CHANGELOG file; release notes point to build/release-notes.md and external Releases. maintenance_responsibility = 1: SECURITY.md provides a private vulnerability channel and response commitment, but publisher identity is unverified and there is no maintainer list, governance, or support lifecycle.
output_usability = 2: positioned as a multi-agent collaboration workspace with shared conversations, execution visibility, file preview, Mission board, and collaborative memory; the output shape is understandable for the target user, though no runnable sample output or artifact is included. marginal_value = 2: lasting teammate identity, cross-task memory, and multi-agent division of labor differentiate it from a single-agent CLI, and README describes this concretely; no quantified comparison against existing tools. cost_benefit = 1: Cargo.toml comments indicate 100-250 MB runtime binaries, the build needs Rust 1.85+ and Node 24+, and users must separately install and sign in to multiple coding agents — high cost with no in-repo performance, resource, or benefit measurements, so only 1.
claim_traceability = 1: most capability claims point to external rovai.dev docs, and in-repo implementation and test evidence is limited, so claims cannot be traced individually. cross_source_corroboration = 1: version, license, and platform support are partially corroborated across README, Cargo.toml, package.json, and CI, but core capability claims lack a second in-repo source. fact_inference_separation = 1: README blends marketing narrative with facts ('lasting teams', 'grows together') and does not clearly separate shipped features from planned ones, making fact versus inference hard to distinguish.
- Publisher identity is unverified and README capability claims rely mainly on external sites and video; in-repo implementation and test evidence is limited, so confidence is low.
- No in-repo evidence of the permission model, default permission tiers, or approval triggers; SECURITY.md itself lists approval/permission bypass, cross-Camp data leakage, path traversal, and symlink escape as risk surfaces — audit before deployment.
- Sensitive-data handling (secret storage, encryption, isolation, export scope) has no in-repo evidence; SECURITY.md only asks reporters to redact, which does not prove runtime protection.
- No CHANGELOG, no consolidated known-limitations list, no maintainer roster or support lifecycle; the project self-describes as pre-release and older builds need upgrades for security fixes.
- Build and run cost is high: Rust 1.85+ and Node 24+, 100-250 MB runtime binaries, plus separately installing and signing in to multiple coding agents; no in-repo performance or benefit measurements.
- A beta dependency is present (dingtalk-stream 2.1.6-beta.1) and no dependency vulnerability scanning is shown; despite exact version pinning and SHA-pinned Actions, run your own audit.