mvmAI
An AI assistant that can actually run the commands — on the desktop and its own public page.
Screenshots
Desktop
7 itemsPhone
6 itemsAbout
mvmAI is a chat assistant wired to your own provider — Gemini, OpenAI, Groq, OpenRouter, DeepSeek, Qwen, Mistral, a local Ollama, or any OpenAI-compatible endpoint you point it at — or to a CLI tool already installed on the server, such as Claude Code, Gemini CLI, Codex CLI or Ollama. You bring the API key or the CLI; nothing is proxied through anyone else. What separates it from a chat window in a browser tab is that it is on the machine. Ask it why a service will not start and it can run the commands to find out, read the output and carry on from there. Command execution stays off until an administrator turns it on, and once on, every command either waits for confirmation or runs automatically, whichever the administrator picked. When an administrator chose automatic execution and talks to Claude Code, Gemini CLI or Codex CLI, the CLI works with all of its own tools and full access to the server, like a coding assistant in a terminal, and can spend many minutes on one task; everyone else stays limited. Commands it judges dangerous are marked, and the really destructive ones are blocked entirely. The same assistant can also be given its own public page, for visitors who are not on the desktop at all, with its own separate switch for whether those visitors may have it run commands too — off by default, and never on by accident. Conversations are kept, renameable and deletable, and the system prompt is yours to rewrite. Images, PDF and text files can be attached to a message, administrators can attach any file or archive, and the assistant can hand a file back as a download. With a subscription, a user can point a chat at one of their apps — add a budget transaction, plan a calendar event and more — for that user only, on the desktop and on the public page. Every change is shown as a form to check, correct and save first. Stop ends a running reply and its CLI process. Messages typed during a reply wait in a visible queue, where you can remove them or send one immediately by stopping the current reply. Other conversations can keep working while you switch chats. The assistant answers and writes into apps in your interface language unless you ask otherwise. Multiple independent app changes are reviewed as pages of one form, where each can be corrected or excluded before saving the selected changes together. The Files gallery lists every file you sent to a chat, and for administrators every file the assistant offered, with filters, a link back to the chat and download or delete. Files sent by other users are kept only for their own gallery and limited in size. Administrators can choose the provider and model for a new chat or change them in an existing conversation, with a visible record of each change. Pinned conversations stay at the top and are excluded from automatic archiving. Sending a new message brings its chat forward; opening a project brings it forward by recent use. Deleting archived conversations also removes their dedicated chat files, preserving copies still referenced by another conversation and leaving project files untouched. Long answers no longer depend on a single open connection, so a reply that takes minutes still arrives when the connection is interrupted.
What it does
- Chat with any OpenAI-compatible provider: Gemini, OpenAI, Groq, OpenRouter, DeepSeek, Qwen, Mistral, Ollama or a custom base URL, or with a local CLI tool such as Claude Code, Gemini CLI, Codex CLI or Ollama.
- CLI provider logins are installation-wide and remain tied to the Linux account that owns their credentials, even when another account opens mvmOS.
- CLI assistants use mvmAI's policy-gated command transport, except for an administrator with automatic execution, whose Claude Code, Gemini CLI or Codex CLI works with all of its own tools and full access to the server.
- The assistant can run shell commands on the server and read their output, once an administrator turns command execution on.
- Two ways to run commands once enabled: ask for confirmation on each one, or let them run automatically.
- Dangerous commands flagged, and destructive ones (rm -rf, dd, shutdown…) blocked entirely.
- Approve or skip each proposed command, with the command and its reason shown first.
- Optional public page so visitors can chat with the same assistant outside the desktop, with its own separate provider and command-execution controls when Premium is active.
- Attach images, PDF and text files to a message; administrators can attach any file or archive, and the assistant can offer a file in its reply as a download button.
- Saved conversations with generated titles, rename, pin, archive, restore and permanent deletion. Claude Code, Gemini CLI and Codex CLI continue each chat’s own session. Administrators can change its provider and model and see which model wrote each answer.
- Editable system prompt and model override.
- Long tasks keep running past proxy time limits, so a CLI with full access can work for up to 30 minutes on one request.
- Long conversations are compacted automatically once they pass twice the configured recent-message count, folding older messages into a running summary so per-message cost stays bounded instead of growing forever. The free plan keeps the most recent 20 messages in full; a subscription lets the administrator choose from 4 to 200.
- Admins can group chats into Projects: a name, optional shared instructions (typed text and/or a file already on the server, such as CLAUDE.md), and an optional working folder.
- A project with a folder offers an expandable View files tree with live Git status and scopes shell commands and CLI edits to that folder. Projects can be created with typed instructions and an instructions file, reread before every message. The current branch remains visible while the files are hidden, and opening the tree avoids intermediate loading layouts.
- If Git Manager is installed, a project's branch line opens that repository there directly, already selected and fetched.
- Your API key stays on your server.
- Premium: choose one of your apps for a chat; only that app's functions are offered, and every change is reviewed in a form before it is saved.
- Stop a running reply, queue follow-up messages, or send a queued message immediately by interrupting the current answer. Other conversations continue while you switch chats.
- Replies and app entries follow your interface language.
- Attached pictures show as small previews before sending and in the chat, and a click enlarges them; an older chat shows them again from the gallery.
- With Premium on the desktop, an interactive terminal opens in the active project folder or your home folder. Float it over the chat, dock it at the bottom or right, or pin it to a conversation. Hiding keeps the shell running; closing ends the terminal session. Works with any AI provider.
- A Files gallery groups the current project’s files first, with other files expandable, filters, chat links, downloads and deletion. Downloads use dedicated chat copies; deleting archived chats cleans up their files without removing project originals.
- Choose a provider and model for a new chat or switch an existing conversation, keeping its history and a visible model-change note.
- Long replies are collected by polling, so they survive a dropped connection.
- Pinned chats stay first and do not auto-archive; other chats are ordered by your latest message, while projects are ordered by recent use. Chat actions are available by right-click or long press, and a phone swipe reveals the action buttons.
- CLI subscription usage appears as rounded color segments progressing from green to red, with readable labels, theme-aware backgrounds and reset countdowns; on phones tap to cycle through limits.
- A compact activity graph and elapsed timer show new CLI output arriving, with the same graph behind each working sidebar chat. New answers keep their response duration next to their timestamp. Graph peaks measure incoming events, not reasoning complexity.
Integrations
mvmAI exposes its chat endpoint to other apps on the same desktop, so they can send a prompt and get an answer using your configured provider without asking you for a second API key. RSS Reader uses this for its AI buttons.
mvmAI exposes an app-to-app API with one function: another app's server code can put a single question to the AI of mvmAI's public page and get plain text back. Nothing is stored, no tools are offered and the asker has no server access. Belot Premium uses it to give bots an AI mentor.
Requires: The mvmAI App API has to be switched on in Apps Hub → Settings → App APIs. It is off by default.
Before you start
- An API key for one of the supported providers, or a local Ollama install, or another supported CLI tool already installed on the server.
Reviews
Reviews and ratings are written from the App Store of an installed mvmOS system.
No reviews yet.