diff --git a/README.md b/README.md index ff01802d..c06a3860 100644 --- a/README.md +++ b/README.md @@ -1,553 +1,149 @@
-
-Godmode logs into a portal: the password and the 2FA code are filled from the vault — the AI never sees them. The live browser preview on the right shows where it is; Take control jumps in anytime.
+macOS, Windows, Linux, or headless with a web dashboard ·
+[Features](docs/FEATURES.md) ·
+[Security](SECURITY.md) ·
+[Architecture](docs/ARCHITECTURE.md) ·
+[usegodmode.com](https://usegodmode.com)
-
-Phone app — what your agents are doing right now, a chat that streams as it's written, the agent's browser live (tap to take control), and the answer.
-
-![]() Chat first — hand over a task, pick up where you left off |
- ![]() Agents — persistent coworkers with memory, schedules and tools |
-
![]() Task board — tickets for your agents; Todo starts them, coding tickets end in a pull request |
- ![]() Task detail — live progress, branch, pull request and follow-ups |
-
![]() Agent detail — runs, routines, memory (git), history, settings |
- ![]() New agent — describe it in plain words or start from a template |
-
![]() Routines — everything your agents do on a schedule, at a glance |
- ![]() Working folders — point a chat or an agent at any folder on your machine |
-
![]() Slash commands — every Claude Code command, right in the composer |
- ![]() Browser — live view of the agent's Chromium, take over anytime |
-
![]() Logins — encrypted, scoped per workspace, filled for agents |
- ![]() 2FA codes — import Google Authenticator QR screenshots |
-
![]() Password import — Chrome, 1Password, Bitwarden, Apple Passwords and more |
- ![]() Import review — new, updated and already saved logins at a glance |
-
![]() Integrations — custom MCP servers and Composio toolkits, scoped per workspace |
- ![]() Inbox — agents report missing or broken logins |
-
![]() Activity — every run, its cost, duration and result |
- ![]() Security — fill-only secrets, device keychain and auto-lock |
-
![]() Workspace folders & repos — every agent in the workspace works with them |
- ![]() Add a repository — paste a URL, Godmode clones it and keeps it up to date |
-
![]() Connect a phone — scan a one-time code; the phone gets its own key |
- ![]() Phone settings — Tailscale status, paired phones, remove one anytime |
-
![]() Claude Code & MCP — connected apps, their access and the tools they can call |
- ![]() One click — Godmode adds itself to Claude Code; ask for an agent in your next session |
-
![]() Messaging — talk to agents from Slack, Telegram and Microsoft Teams |
- ![]() Bot settings — approve people, pick agents, see every chat |
-
![]() Own tab per chat — the preview shows only this chat's page, while others browse alongside |
- ![]() Parallel chats — one browser profile, one tab per chat; switch between them live |
-
![]() Follow-ups — the agent sets itself a time to continue; move it, cancel it or continue now |
- ![]() Back on it — at that time the agent picks the chat up again, with all the context |
-
![]() My tasks — everything your agents need from you on one board: things to do, questions, approvals, open decisions |
- ![]() Open decisions — an agent that finishes with a question for you gets a ticket; your answer continues its chat |
-
![]() Heartbeat — the agent wakes on its own rhythm to move its tickets forward and run its checklist |
- ![]() Beats & watchdog — every beat leaves a trail; stalled or looping runs are stopped with a precise report |
-
![]() Dreaming — agents keep their memory short enough to load into every chat; every dream is a diff you can undo |
- ![]() Your rules — when agents dream, with which model, and how long their memory may get |
-
![]() Pause & continue — the agent finishes its step, stands still and picks the work up where it stopped |
- ![]() Usage limit — the work waits for the reset and continues by itself, with what you wrote meanwhile |
-
![]() Bot check — what bot detection sees in the agents' browser |
- ![]() Without hardening — headless Chrome gives itself away |
-
![]() Tools — APIs agents use with your keys, scoped globally, per workspace or per agent |
- ![]() Add a tool — presets bring the address and docs, you add the key |
-
![]() SSH servers — password or key, sealed in the vault; host keys pinned on the first connection |
- ![]() Work on servers — pick servers for a chat; the agent runs commands and edits files there |
-
![]() Plugins — what each one brings, what it can reach, whose runs load it, and an update one click away |
- ![]() Featured — Claude Video and oh-my-claudecode from GitHub in one click, guardrails made by Godmode below |
-
![]() Version and updates — the commit that runs, what changed upstream, update or uninstall |
- ![]() Contents — the skills, subagents, commands, hooks and servers a plugin brings |
-
![]() Install from GitHub — any Claude Code plugin by owner/repo or link |
- ![]() In the chat — plugins refuse steps, mask secrets and post notes while the agent works |
-
![]() Read and edit the code — a small plugin Godmode drafted waits for your review; Claude Code's validator checks every change |
- ![]() Options — set what a plugin protects or refuses without touching its code |
-
![]() Cleanup — what the data folder holds, and a self check of everything Godmode relies on |
- ![]() Free up space — safe items are picked for you; whatever may still hold work stays |
-
-Open a computer's dashboard from any browser and reach it from your phone without Tailscale: deploy
-[`apps/cloud`](apps/cloud/README.md) (Coolify or Docker Compose; the only setting is its address), then link Godmode in
-**Settings → Cloud**. The computer keeps one outbound connection to the cloud; there is no port to open. The cloud
-relays, and can see, everything done through it, so link only to a cloud you trust.
+A real screen recording on a Mac, sped up (typing 1.5x, browsing about 4.5x, the answer in real time). Godmode
+looks up three pricing pages in its own Chrome window and answers with a table.
+Full-quality video (MP4, 22 s)
-### Runners — another Mac that works while yours sleeps
+## How it works
-1. In Godmode open **Runners → Add runner** and copy the command.
-2. Run it in Terminal on the other Mac (a Mac mini, a laptop that stays plugged in — on the same network or in your
- Tailscale). It installs Godmode as a runner that starts whenever you log in there, installs Claude Code and a
- browser, and pairs itself with your Godmode.
-3. Start a chat and pick the runner under **Run on** in the message box.
+- Every agent turn is one `claude -p` call of the official, unmodified Claude Code CLI, in the agent's own folder,
+ signed in with your Claude account or an Anthropic API key. Godmode adds its tools over MCP and streams the output
+ into the app.
+- Each agent is a git repo: `CLAUDE.md` (instructions), `MEMORY.md`, transcripts and run logs. Every run is committed,
+ so you can read, diff and undo what an agent learned. At night agents rewrite their own memory under a size limit.
+- Agents browse in a Chromium that [browser-use](https://github.com/browser-use/browser-use) drives over CDP, and can
+ reuse your Chrome sessions. You watch the browser live next to the chat and can take over.
+- Logins, TOTP secrets and passkeys sit in a local encrypted vault. The agent calls a fill tool and Godmode types the
+ value into the page, only on the login's own site. The value is not returned to the model.
+- A scheduler starts agents on a schedule, on app events (a new email, a Slack message), on conditions you describe or
+ from a webhook, and agents set their own follow-ups ("check again tomorrow at 10"). A main agent creates and
+ supervises the others; a task board and an inbox show what they do and what they need from you.
-The runner keeps its Mac awake while it serves. Sign in to Claude Code on it once (`claude`), and grant Accessibility
-and Screen Recording on its screen if agents should use apps there — the runner's health view says what's left. On the
-runner: `godmode runner status`, `godmode runner pair` (a new pairing code to paste under **Add runner → Enter a
-pairing code**), `godmode runner uninstall`.
+The full feature list with screenshots is in [docs/FEATURES.md](docs/FEATURES.md).
-### Claude Code & other AI tools — set Godmode up from your terminal
+## Install
-1. In Godmode open **Settings → Claude Code & MCP → Connect Claude Code**. Godmode adds itself to Claude Code on this
- computer as an MCP server, for every project.
-2. Start a new Claude Code session and ask: *“Create a Godmode agent that checks our competitors' pricing every Monday
- morning and sends me a summary.”* The agent, its instructions and its schedule show up in Godmode.
-
-**Connect another app** gives any other MCP client (Cursor, Codex, Claude Desktop…) its own key, with the config to
-paste. A key either sets up and steers (agents, automations, tasks, VMs) or only looks; remove an app in the same place
-and its key stops working. The same tools work from a shell, for scripts:
+### Free: build from source
```bash
-export GODMODE_CONNECT_TOKEN=gmc_… # the key from Settings → Claude Code & MCP
-godmode tools # what the key can do; `godmode tools agent_create` shows the arguments
-godmode call agent_create '{"name":"Scout","role":"Research analyst","instructions":"…"}'
-godmode mcp # the MCP server itself (stdio) — what the apps start
-```
-
-`godmode` here is the core binary (in the desktop app: `Godmode Bot.app/Contents/MacOS/godmode-core`; the dialog shows
-the full path). Inside Godmode nothing changes: the built-in *Godmode* agent creates and manages agents from any chat.
-
-## ⚡ Quick start
-
-1. **Onboarding** — pick a vault passphrase (enable *Remember on this device* so routines run unattended).
-2. **Add access** — import your Chrome sessions, import or add logins in **Vault → Logins**, and import 2FA QR codes in
- **Vault → 2FA Codes** (Google Authenticator → *Transfer accounts* → *Export* → screenshot).
-3. **Chat** — ask Godmode anything: *“Log into our billing portal and download September's invoice.”*
-4. **Create agents** — *“Create an agent that checks our competitors' pricing every Monday and sends me a summary.”*
- Godmode creates the agent, its instructions and its automation.
-5. **Automate** — *“When I get an email with an invoice, save the PDF to Drive and log it in my sheet.”* Godmode picks the
- trigger (here: a new Gmail message via Composio), the agent and the steps, and it runs whenever it happens.
-6. **Check the inbox** — if an agent couldn't log in, it tells you what's missing.
-
-### Easy and Professional mode
-
-Godmode starts in **Professional** mode: every tool, setting and detail in view. Not a developer? Pick **Easy** during
-onboarding, in **Settings → General → Interface**, or with ⌘K → *Switch to Easy mode* (or just ask Godmode). Easy mode
-shows the everyday pages in plain words (Passwords, Connected apps, My to-dos, History), keeps everything else under
-**More** and **Advanced settings**, folds an agent's work steps into a short summary with the technical details one click
-away, and asks agents to answer without jargon. Both modes have exactly the same features.
-
-### Computer use — share a window or your screen
-
-Click **Share** (the screen icon) in the message box and pick what the agent may see and control in this chat:
-
-| Share | How the agent works |
-|---|---|
-| **A window** | Only that app window, **in the background**: clicks, typing and scrolling go straight to the window's process (accessibility-first via [Cua Driver](https://github.com/trycua/cua)), so your cursor and focus stay where they are — even when the window is covered. |
-| **A display / the entire desktop** | The real mouse and keyboard, across every monitor (the agent picks a display per screenshot). |
-| **A browser tab** | One tab of Godmode's browser, over CDP, in the background. |
-
-The chat shows a live view of what's shared; **Take control** lets you click and type into it yourself (a window keeps
-running in the background). **Stop sharing** takes effect immediately, even mid-run. Agents can also get unattended
-desktop access for routines (agent settings → *Computer*). Setup lives in **Settings → Computer**:
-
-- **macOS** asks once for *Accessibility* and *Screen Recording* for Godmode (restart Godmode after granting).
-- **Cua Driver** (`cua-driver` from PyPI, MIT) is downloaded via uv the first time an agent needs it (or with one
- click), and kept at the version Godmode was tested with. Without it, Godmode's built-in macOS helper controls
- windows on its own.
-- **Windows / Linux**: single windows need Cua Driver; the whole desktop uses a built-in PowerShell helper (Windows) or
- `xrandr` + ImageMagick + `xdotool` (Linux/X11), and falls back to Cua Driver's primary display.
-
-### Virtual machines — give an agent its own Mac
-
-Open **Virtual machines** in the sidebar and click **New VM** (first time: **Set up** downloads Godmode's own copy of
-[Tart](https://tart.run) — no Homebrew needed). Pick an image — *macOS Tahoe* is a ~27 GB download once (in parallel,
-resumable; Settings → Virtual machines lists downloaded images); every further VM from it is ready in seconds — and
-assign the VM to an **agent** (agent settings → *Virtual machine*), a **chat**
-(the *VM* chip in the message box) or a **workspace**. A run works in its chat's VM, else its agent's, else its
-workspace's, and boots it when needed. You can also just ask Godmode: *"Give the iOS agent its own Mac."*
-
-| | |
-|---|---|
-| **What the agent gets** | A `vm` tool set: `shell` (zsh as `admin`, passwordless sudo, Homebrew), `read_file` / `write_file` / `edit_file`, `screen` — screenshots, clicks and typing on the VM's display — and `permissions`: the agent grants (and revokes, lists) the macOS privacy permissions of the VM's software itself — Accessibility, Screen Recording, Full Disk Access, Automation, Camera, Microphone and more — and sees what macOS refused, instead of waiting for you at a dialog. Plus Godmode's agent *inside* the VM: **Google Chrome with browser-use** for the web and **Cua Driver** for apps and windows. They're installed into the VM the first time an agent needs them (a few minutes, once per VM); no browser, app or shell of these runs opens on your Mac. Claude Code's own Bash tool is turned off for these runs and its file tools only reach the agent's own folders (Settings → Virtual machines → *Keep agents with a VM off this Mac*). |
-| **Moving files** | Every VM has a shared folder: `~/Godmode` in the VM is `~/.godmode/vm/shared/
+
+Phone app — what your agents are doing right now, a chat that streams as it's written, the agent's browser live (tap to take control), and the answer.
+
+![]() Chat first — hand over a task, pick up where you left off |
+ ![]() Agents — persistent coworkers with memory, schedules and tools |
+
![]() Task board — tickets for your agents; Todo starts them, coding tickets end in a pull request |
+ ![]() Task detail — live progress, branch, pull request and follow-ups |
+
![]() Agent detail — runs, routines, memory (git), history, settings |
+ ![]() New agent — describe it in plain words or start from a template |
+
![]() Routines — everything your agents do on a schedule, at a glance |
+ ![]() Working folders — point a chat or an agent at any folder on your machine |
+
![]() Slash commands — every Claude Code command, right in the composer |
+ ![]() Browser — live view of the agent's Chromium, take over anytime |
+
![]() Logins — encrypted, scoped per workspace, filled for agents |
+ ![]() 2FA codes — import Google Authenticator QR screenshots |
+
![]() Password import — Chrome, 1Password, Bitwarden, Apple Passwords and more |
+ ![]() Import review — new, updated and already saved logins at a glance |
+
![]() Integrations — custom MCP servers and Composio toolkits, scoped per workspace |
+ ![]() Inbox — agents report missing or broken logins |
+
![]() Activity — every run, its cost, duration and result |
+ ![]() Security — fill-only secrets, device keychain and auto-lock |
+
![]() Workspace folders & repos — every agent in the workspace works with them |
+ ![]() Add a repository — paste a URL, Godmode clones it and keeps it up to date |
+
![]() Connect a phone — scan a one-time code; the phone gets its own key |
+ ![]() Phone settings — Tailscale status, paired phones, remove one anytime |
+
![]() Claude Code & MCP — connected apps, their access and the tools they can call |
+ ![]() One click — Godmode adds itself to Claude Code; ask for an agent in your next session |
+
![]() Messaging — talk to agents from Slack, Telegram and Microsoft Teams |
+ ![]() Bot settings — approve people, pick agents, see every chat |
+
![]() Own tab per chat — the preview shows only this chat's page, while others browse alongside |
+ ![]() Parallel chats — one browser profile, one tab per chat; switch between them live |
+
![]() Follow-ups — the agent sets itself a time to continue; move it, cancel it or continue now |
+ ![]() Back on it — at that time the agent picks the chat up again, with all the context |
+
![]() My tasks — everything your agents need from you on one board: things to do, questions, approvals, open decisions |
+ ![]() Open decisions — an agent that finishes with a question for you gets a ticket; your answer continues its chat |
+
![]() Heartbeat — the agent wakes on its own rhythm to move its tickets forward and run its checklist |
+ ![]() Beats & watchdog — every beat leaves a trail; stalled or looping runs are stopped with a precise report |
+
![]() Dreaming — agents keep their memory short enough to load into every chat; every dream is a diff you can undo |
+ ![]() Your rules — when agents dream, with which model, and how long their memory may get |
+
![]() Pause & continue — the agent finishes its step, stands still and picks the work up where it stopped |
+ ![]() Usage limit — the work waits for the reset and continues by itself, with what you wrote meanwhile |
+
![]() Bot check — what bot detection sees in the agents' browser |
+ ![]() Without hardening — headless Chrome gives itself away |
+
![]() Tools — APIs agents use with your keys, scoped globally, per workspace or per agent |
+ ![]() Add a tool — presets bring the address and docs, you add the key |
+
![]() SSH servers — password or key, sealed in the vault; host keys pinned on the first connection |
+ ![]() Work on servers — pick servers for a chat; the agent runs commands and edits files there |
+
![]() Plugins — what each one brings, what it can reach, whose runs load it, and an update one click away |
+ ![]() Featured — Claude Video and oh-my-claudecode from GitHub in one click, guardrails made by Godmode below |
+
![]() Version and updates — the commit that runs, what changed upstream, update or uninstall |
+ ![]() Contents — the skills, subagents, commands, hooks and servers a plugin brings |
+
![]() Install from GitHub — any Claude Code plugin by owner/repo or link |
+ ![]() In the chat — plugins refuse steps, mask secrets and post notes while the agent works |
+
![]() Read and edit the code — a small plugin Godmode drafted waits for your review; Claude Code's validator checks every change |
+ ![]() Options — set what a plugin protects or refuses without touching its code |
+
![]() Cleanup — what the data folder holds, and a self check of everything Godmode relies on |
+ ![]() Free up space — safe items are picked for you; whatever may still hold work stays |
+