Mobile Ouaib first

mouaif

Run an AI coding workspace for your local projects, with a web inspector, a CodeMirror-based code editor, subagents, and custom prompts.

npx mouaif serve
npx mouaif serve --auth
npx mouaif serve --auth --port 9000
npx mouaif serve --auth --public-origin https://mouaif.example.com
npx mouaif serve --auth-setup
An empty chat at 390 px: the system-prompt card and the Tools card, listing every tool with a checkbox and an Off / Ask / Allow control, above the "Start the conversation" state.
An empty chat at 390 px: the system-prompt card and the Tools card, listing every tool with a checkbox and an Off / Ask / Allow control, above the "Start the conversation" state.
A new chat — every tool, Off / Ask / Allow
A subagent authorization card at 390 px: the delegated task, the per-run model picker and thinking select, and the Allow once / Allow session / Always allow / Deny buttons.
A subagent authorization card at 390 px: the delegated task, the per-run model picker and thinking select, and the Allow once / Allow session / Always allow / Deny buttons.
Approving a subagent — pick its model first
The Chats tab at 390 px: two project cards, each holding its own scrolling chat list with a New chat button under it.
The Chats tab at 390 px: two project cards, each holding its own scrolling chat list with a New chat button under it.
Chats — projects group their own chats
A chat at 390 px: the model header, an assistant turn with its per-turn cost line, and the Read, Searched, Wrote and Ran tool cards above the composer.
A chat at 390 px: the model header, an assistant turn with its per-turn cost line, and the Read, Searched, Wrote and Ran tool cards above the composer.
Chats — a run reads, searches, edits and tests
Settings → Providers at 390 px: seven connected providers, each row naming its endpoint and whether a key is stored.
Settings → Providers at 390 px: seven connected providers, each row naming its endpoint and whether a key is stored.
Providers — connect them once, app-wide
Project settings at 390 px: the prompt style, then the tool list where every tool carries its own Off, Ask or Allow control.
Project settings at 390 px: the prompt style, then the tool list where every tool carries its own Off, Ask or Allow control.
Project settings — per-tool Off / Ask / Allow
The Inspector tab at 390 px, attached to a page over CDP: the target bar, the panel chips, the live preview of the inspected page, and the console input.
The Inspector tab at 390 px, attached to a page over CDP: the target bar, the panel chips, the live preview of the inspected page, and the console input.
Inspector — attach to a page over CDP
The Settings tab at 390 px: a Providers section, then the app defaults that apply to every project.
The Settings tab at 390 px: a Providers section, then the app defaults that apply to every project.
Settings — providers first, then app defaults

See every app ability →

Install and run

Node.js 20 or newer is required. Run mouaif straight from npm, with a login:

npx mouaif serve --auth

Use the setup link or QR code printed in the terminal to create your username and password, then open http://127.0.0.1:5732/, add a project folder, connect a provider in Settings → Providers, and create your first chat.

Or install from a checkout of the repository:

git clone https://github.com/GjeloshajAntoine/mouaif.git
cd mouaif
npm install
npm link
mouaif serve --auth

Read the complete getting-started guide →

Protect app access

Generate an expiring setup link, QR code, and short code:

mouaif serve --auth-setup

Or set a user while keeping the password out of shell history:

MOUAIF_PASSWORD='a-long-password' \
  mouaif serve --auth --user alice

Read the full authentication guide →

What you can do

  • Organize chats by local project and choose models per chat.
  • Let the assistant read and edit files, run approved commands, track tasks, and delegate to agents.
  • Connect extra tools through MCP.
  • Preview and inspect browser pages from the mobile-friendly Inspector.
  • Use Draft Craft to add selected code or an annotated Inspector image to any chat draft.
  • Control every tool with Off, Ask, or Allow permissions.

See all app abilities and safety tips →