TigrimOSR is a native desktop AI agent platform for orchestrating teams of specialist AI agents from a single self-contained binary — and for building your own agentic loop. Define swarms in YAML, wire them with inter-agent protocols (TCP, Bus, Queue, Blackboard), and let them collaborate autonomously. Then shape how the loop itself runs: pick the tools, MCP servers, and skills each agent may use, override its model and system prompt, tune self-verification and context compaction — all in simple YAML profiles you can edit from the desktop app or any browser. When the job is done, TigrimOSR doesn't take the agent's word for it: an independent tool-using judge verifies the deliverables actually exist before the answer reaches you. And you don't have to be at your desk for any of it — chat with your agent and drive it with slash commands straight from Telegram or LINE.
/agents, /model, /mode, /loop, /new, /stop, /status): live progress while it works, approve/deny buttons for tool approvals, and fail-closed user allow-lists. Telegram needs no public URL at all — see Telegram & LINE Bots.100.x addresses, nothing is published to the internet. Opt-in toggle, an alternative to the public Cloudflare tunnel.Install it on your machine and run the UI as a native Rust app — a single, fast binary with quick startup and low memory.

Above: the native desktop app — ask for a plot and the agent runs Python (matplotlib) and embeds the chart inline in its answer.
Because TigrimOS is native Rust end-to-end — the app and its Obscura browser engine — the whole stack stays remarkably light. On an idle desktop session with browser control on and a live browser attached, measured resident memory is:
TigrimOS (app + embedded server) ≈ 210 MB
obscura (Rust browser engine) ≈ 60 MB
────────────────────────────────────────────
Total, with a live browser ≈ 270 MB
That's roughly where a Chromium browser process alone tends to start. The reason is structural: most agent stacks pay for two heavy layers TigrimOS doesn't — an interpreted runtime (Node.js/Python) plus a multi-process Chromium driven by Playwright. TigrimOS replaces both with a single Rust binary and a single-process Rust browser.
For rough context, here's how that compares to two popular open-source browser agents. Only the TigrimOS figure is our own measurement; the others are third-party/community-reported and vary widely with workload — treat them as ballpark, not benchmarks:
| Stack | Runtime + browser | Agent with a live browser |
|---|---|---|
| TigrimOS | Native Rust + Rust Obscura engine | ≈ 270 MB (measured) |
| Hermes | Node/Python + Chromium (Playwright) | ~1.2–1.8 GB (reported) |
| OpenClaw | Node.js + Chromium (Playwright) | 2–4 GB typical; 7.5 GB+ multi-agent (reported) |
A single Chromium instance commonly uses 800 MB–2.5 GB depending on the page, and per-agent-browser setups multiply that. Chromium/Playwright stacks also have to actively manage renderer-process accumulation and orphaned browsers across restarts (e.g. OpenClaw #29685) — failure modes TigrimOS avoids with per-session process groups and per-agent browsers that shut down with the session.
Not fixed: ~270 MB is the idle baseline with a browser attached. Real usage grows as Obscura renders heavy pages (its V8 heap climbs per page/tab) and as the app holds conversation, session, and swarm state — expect more under load, but still far below a Chromium-based stack.
Run TigrimOS anywhere — as a native desktop app, headless on a machine, or in Docker — then connect from any browser or your phone. The screenshots below show a cloud server controlled entirely from a mobile browser: full chat with inline charts, tool execution, and file browsing.

/agents, /model, /mode, /loop, /new, /stop, /status), with live progress and approve/deny buttons for tool approvals — see Telegram & LINE Botsdata/theme.yamldata/agent_history/skills/ directoryTwo ways to install TigrimOS — pick one:
| Install in Docker | Install & run on your machine | |
|---|---|---|
| What you get | Headless web server you use from a browser | Native desktop app (and optional headless server) |
| You install | Just Docker Desktop | Rust toolchain + Python (build from source) |
| Best for | Quickest, safest start; servers; Windows | Mac/Linux desktop UI, VM/QEMU terminal, hacking on the code |
| Setup time | One command | ~5–15 min first build |
Not sure? Use Docker — it's the fastest and safest, and the agent's code execution stays isolated inside the container.
Run TigrimOS as a self-contained web server in a container — no Rust toolchain, Python, or system libraries to install on your machine. You use it from your browser, and all agent code execution stays sandboxed inside the container, isolated from your host.
bash
docker --version && docker compose versionThree ways to start, fastest first:
docker-start.sh script (auto-token, builds, opens the browser).All three build the same container and share the same data, commands, and security model documented further down.
If you just want it running, this single script checks Docker, auto-generates your
login token, builds the container, starts the server, and opens the browser for
you — no manual .env editing:
curl -sSL https://raw.githubusercontent.com/Sompote/TigrimOSR/main/docker-start.sh | bash
Want Browser Control too? Add INSTALL_BROWSER=true (bakes the
browser into the image, ~400 MB):
curl -sSL https://raw.githubusercontent.com/Sompote/TigrimOSR/main/docker-start.sh | INSTALL_BROWSER=true bash
Already cloned the repo? Run it in place instead:
./docker-start.sh # or: INSTALL_BROWSER=true ./docker-start.sh
It prints your token (also saved to .env) at the end — paste it into the web UI to
log in. Re-running is safe: it reuses your existing token. Prefer to do it by hand?
Follow the four steps below.
1. Get the code
git clone https://github.com/Sompote/TigrimOSR.git
cd TigrimOSR
2. Create your login token. Copy the example env file and put a strong random token in it. This token is what you'll type into the web UI to log in.
cp .env.example .env
# Generate a token and write it into .env:
echo "ACCESS_TOKEN=$(openssl rand -hex 32)" > .env
Keep
.envprivate — it holds your login secret. It is already git-ignored. (On Windows, see Headless on Windows for the PowerShell equivalent.)
3. Build and start. The first build compiles the Rust binary and takes a few minutes; later starts are instant.
docker compose up -d --build
4. Open the app. Go to http://localhost:3001/web/ in your browser and log
in with the token from your .env. Then set your AI provider and API key under
Settings (saved to ./data, so it
$ claude mcp add TigrimOSR \
-- python -m otcore.mcp_server <graph>