Browse by type
TigrimOSR is a native Rust AI agent platform in a single self-contained binary. Orchestrate swarms of specialist agents, and build your own agent loop — which tools, models, skills and MCP servers each agent uses — in simple YAML, editable from the desktop app, any browser, or your phone.
Add your own tools in YAML, connect Gmail / Calendar / Drive in three clicks, search 250M+ scholarly papers with one tool, chat with your agents from Telegram or LINE, and let an independent tool-using judge verify the work is really done before the answer reaches you.
⬇️ Install in under a minute — no build needed: macOS (DMG) · Windows (MSI) · all releases — or run in Docker.
What's new (July 2026):
tigrim — a Claude Code-style terminal agent: copy one binary into any folder and run it there. The folder becomes the agent's workspace, .tigrimos/ holds project-local YAML agents and profiles, and slash commands (/agents, /model, /mode, /loop, /graph, …) drive everything from the terminal — plus a tigrim -p "prompt" one-shot mode for scripts..yaml file in data/tools/ — an HTTP/REST call or a sandboxed shell command — no Rust, no rebuild. They honor per-tool config, approval, and timeouts like built-ins.search_papers tool queries 250M+ scholarly works: titles, authors, year, venue, DOI, citation counts, open-access PDFs and abstracts. No API key, no configuration.search_papers tool queries OpenAlex (250M+ scholarly works) for titles, authors, citations, DOIs and open-access PDFs — no API key needed. See Academic paper search.tigrim CLI right in your terminal — then connect from any browser or phone via the built-in web UI.tigrim CLI runs the same engine in under 10 MB — see Memory footprint.Install it on your machine and run the UI as a native Rust app — a single, fast binary with quick startup and low memory. Download it prebuilt for macOS and Windows — no toolchain needed.

Above: the native desktop app — ask for a plot and the agent runs Python (matplotlib) and embeds the chart inline in its answer.
App + embedded server + a live embedded browser idle at ~270 MB RAM — a fraction of a Chromium/Electron stack. The tigrim CLI and headless server run the same agent engine in under 10 MB. Numbers and comparison below.
📉 Measured numbers & comparison
All three run modes share one agent engine — what you pay for is the interface on top. Measured resident memory (RSS) on macOS, release builds, after full startup:
| Mode | Idle | During an agent run |
|---|---|---|
CLI (tigrim) |
≈ 4 MB | ≈ 10 MB peak (live LLM run with a tool call) |
Headless server (--headless) |
≈ 7 MB | grows with sessions; same engine as CLI |
| Desktop app | ≈ 190 MB | + conversation/swarm state |
The desktop's ~190 MB is almost entirely the GUI rendering stack (window surface, font atlases, GPU textures) — the agent engine itself is single-digit megabytes, which is why the CLI and headless modes are ~45× lighter. Tool children are extra while they run (a Python matplotlib process is typically 100–150 MB, then exits), and long sessions with large contexts add a few tens of MB — the tigrim process itself stays in the single digits, so it runs comfortably on the smallest VPS.
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.

New in v0.7.2 — TigrimOS in your terminal, Claude Code-style. No installation: download the single tigrim file, copy it into the folder you want the agent to work in, and run it. That folder becomes the agent's workspace, a .tigrimos/ directory holds your project-local YAML agents, agent-loop profiles and graph profiles (with fallback to your global TigrimOS settings, so a fresh folder needs zero setup), and every major feature is a slash command away — /agents, /model, /mode, /loop, /graph, /skills, /mcp and more. Type a message to chat with streaming answers, tool-call progress and y/n approval prompts; or script it with ./tigrim -p "prompt" for one-shot runs in CI and pipelines. The desktop app and headless server are unchanged — all three share the same engine, settings and profiles.
📖 detail_CLI.md — the complete CLI reference: every flag, slash command, settings.json key, and every field of the agent-loop, agent-team, and graph YAML files.
cd my-project # the folder you want the agent to work in
# download the binary into this folder (Apple Silicon; more platforms below)
curl -L https://github.com/Sompote/TigrimOSR/releases/download/v0.7.2/tigrim-0.7.2-macos-arm64.tar.gz | tar xz
./tigrim # interactive agent REPL — that's it
./tigrim -p "summarize the CSV files here" # one-shot: answer on stdout
⌨️ Full CLI guide — install per platform, slash commands, project folder, one-shot flags
There is nothing to install system-wide: tigrim is a single self-contained binary. Copy it into any folder and run ./tigrim there.
# macOS — Apple Silicon (M1–M4)
curl -L https://github.com/Sompote/TigrimOSR/releases/download/v0.7.2/tigrim-0.7.2-macos-arm64.tar.gz | tar xz
# macOS — Intel
curl -L https://github.com/Sompote/TigrimOSR/releases/download/v0.7.2/tigrim-0.7.2-macos-x86_64.tar.gz | tar xz
./tigrim
Linux (x64, glibc — Ubuntu 22.04+/Debian 12+):
curl -L https://github.com/Sompote/TigrimOSR/releases/download/v0.7.2/tigrim-0.7.2-linux-x86_64.tar.gz | tar xz
./tigrim
Windows 10/11 (x64): download tigrim-0.7.2-windows-x64.zip, unzip tigrim.exe into the folder you want the agent to work in, and run it from a terminal:
.\tigrim.exe
On Windows, ESC-to-cancel is not available yet — use Ctrl-C to cancel a run.
macOS first run: like any unsigned download, macOS may quarantine it. Clear it once:
bash xattr -d com.apple.quarantine ./tigrim
The same file works from anywhere — it always uses the current directory as the workspace, so you can also keep one copy on your PATH (cp tigrim /usr/local/bin/) instead of one per folder. Building from source works too: cargo build --release --bins produces target/release/tigrim.
.env (folder-local, keys never touch git)The CLI is folder-local by design — it never reads the desktop app's global settings, so each folder configures its own provider. The setup file is a .env: the first interactive run asks for your API URL/key/model and writes .tigrimos/.env for you, or copy the seeded .tigrimos/.env.example yourself:
TIGRIMOS_API_KEY=sk-your-key-here
TIGRIMOS_API_URL=https://api.deepseek.com/v1
TIGRIMOS_MODEL=deepseek-chat
Any OpenAI-compatible endpoint works. Quick reference for popular providers — put the matching TIGRIMOS_API_URL / TIGRIMOS_MODEL pair in your .env:
| Provider | TIGRIMOS_API_URL |
Example TIGRIMOS_MODEL |
|---|---|---|
| Anthropic (Claude) | https://api.anthropic.com/v1 |
claude-opus-5 |
| OpenAI | `https://api.openai.com |
$ claude mcp add TigrimOSR \
-- python -m otcore.mcp_server <graph>