src="./static/local-operator-icon-2-light-clear.png"> Local Operator An open-source AI agent hub: organizations of collaborating agents that run on your own machine, around the clock. Local Operator is the runtime that hosts, supervises and connects your agents. One session plans its work, runs tools, browses and remembers what it did. Give it a team and it becomes a manager that delegates to tool-restricted…
AI agents platform that gives you a workspace with an integrated team of personal assistants that can work behind the scenes to handle daily monotonous tasks.
An open-source AI agent hub: organizations of collaborating agents that run on your own machine, around the clock.
Local Operator is the runtime that hosts, supervises and connects your
agents. One session plans its work, runs tools, browses and remembers what it
did. Give it a team and it becomes a manager that delegates to
tool-restricted workers, messages sibling sessions in other repos, schedules
its own follow-ups and picks them back up after you close the terminal. It
runs on your machine, asks before it writes or executes, draws on the ChatGPT,
Claude, Kimi, Grok, Z.AI and Qwen subscriptions you already pay for, and is
MIT licensed.
lop # opens the setup screen
/login radient # recommended: one browser sign-in, many models, no API key needed
/login also lists every subscription (ChatGPT, Claude, SuperGrok, Kimi, Z.AI),
API key (OpenAI, Anthropic, xAI, Google, DeepSeek, OpenRouter, Mistral, Qwen)
and local server (LM Studio, Ollama, vLLM, llama.cpp). After sign-in Aida,
your chief of staff, says hello and helps you set up your first agents and
teams. esc stops the agent, /help lists commands, lop update upgrades.
Subagents fan parallel work out into background workers; a live dock
shows each worker’s status, spend and progress.
Roles are capability boundaries: a reviewer keeps read and test access
but loses the tools to edit what it reviews, and the restriction is
inherited at any depth. Starter roles (reviewer, coder, architect,
manager, designer, scout, ux-reviewer, …) ship in the package.
Teams are saved rosters (a manager plus members) with a collaboration
brief and a project brief; swap the project brief to staff a different
product. Teams nest; /team chart <name> draws the org chart.
/team <name> <request> hands a request to a team; lop agents and
lop teams manage them from a shell.
A manager peeks at, questions, steers, pauses and resumes its workers through
hub. Independent sessions in different repos message each other with send
(lop send from a shell): leave a note, wake an idle peer, or redirect one
mid-turn. Every delivery leaves a receipt on both ends; it is loopback only and
bounded by your OS account.
lop sessions # every session on this machine
lop send "release cutter" --wake "the deploy finished; verify prod"
lop network pairs your own machines into a peer-to-peer mesh: their
sessions appear in one sidebar, and you can start, move, warm or stop a session
on another device without leaving yours. Pairing is a single-use token plus a
code two people compare on two screens; logins are brokered, not copied.
lop network init devmesh && lop network invite --role drive # on the owning device
lop network join @/path/to/token # on the other device
lop mobile install runs a supervised daemon that serves a phone web client
for every lop session on the machine: watch transcripts stream, steer a
turn, switch model, run slash commands, drill into subagents and start new
sessions. It binds loopback only; reach it remotely through a
Cloudflare Tunnel
with Access, or Tailscale. Or just ask the agent to
“set up phone access”.
The native Local Operator Mobile
app for iOS and Android talks to the same relay. It is in development: no
build is published in any app store yet.
The free Local Operator extension
lets the browser tool drive Chrome, Edge, Arc or Brave with your real logins,
through a loopback bridge pinned to your extension by a pairing code. The agent
asks before reaching a new site.
lop browser install && lop browser pair # then enter the code in the extension popup
Sign in with accounts you already have. Two accounts on one provider form a
rotation pool; when a pool is spent, the request walks your model fallback
chain. /usage shows quota windows and spend, /failovers the cascade.
Provider
Sign in / key
ChatGPT / OpenAI
lop login openai (Plus/Pro; openai-device headless), or OPENAI_API_KEY
Claude / Anthropic
lop login anthropic (Pro/Max), or ANTHROPIC_API_KEY
The prompt is laid out for provider prompt caches: a stable prefix,
cache-aware pruning of stale tool output, a longer Anthropic cache window for
large contexts, and lazily loaded skills and MCP tools.
A full-screen Textual app: every tool call is
an expandable card or a one-line receipt, approvals show the exact command, and
the status line tracks step, tokens and cost.
Command / key
What it does
/model, /effort, /fast
Switch model · reasoning effort (shift+tab cycles) · fast mode
/approvals
Whether tools ask first (ask / auto)
/resume, /new, /reload, /update
Past sessions · fresh conversation · relaunch · upgrade
/goal, /loop
Set an objective a judge checks each turn · iterate toward it
/team, /skills, /mcp, /search
Teams · loaded skills · MCP servers · web-search providers
/usage, /context, /session, /failovers
Quota and spend · context contents · session cost · model cascade
/credential
Hand over a secret as a masked chip the model never reads
/network, /move
Mesh peers and sessions · move a session between devices
/btw, f8
Side question off the record · aside without losing your draft
$<skill>
Run a named skill on the rest of the line
esc · ctrl+b · ctrl+t / ctrl+g
Stop the agent · sidebar · to-do list / subagent panel
Type while the agent works and your message lands as steering at its next step.
Configuration lives in ~/.local-operator/config.yml (lop config list, or
/settings in the TUI); machine-wide instructions in
~/.local-operator/system_prompt.md, plus ~/.agents/AGENTS.md if present.
Provider keys (lop credential), OAuth logins (lop login), session
credentials (/credential) and the AES-256-GCM encrypted long-term store
(lop secret) are separate, each with its own guarantees and limits.
Optional extras (server, mcp, images, tokenizer, fetch, lsp, all),
Nix and Docker are covered too.
Approval-gated by default: reads run; writes, commands and scheduled
wakes ask first, showing the exact command. /approvals auto or --yolo
opt out explicitly.
Visible receipts for every tool call; peer messages arrive as distinct cards.
Roles cannot escalate, and neither can anything they delegate to.
Loopback only: peer messaging, the mobile daemon and the browser bridge
bind to loopback and authenticate.
Local-first option: a local model with lop search off and
lop fetch set enabled off keeps every prompt on the machine.
See CONTRIBUTING.md for bug reports, development setup and
pull requests; AGENTS.md is the working guide for agents
changing this codebase, and docs/REWRITE.md covers the
architecture; benchmarks/ holds the exploratory benchmark kit and docs/
the verification evidence.
评论