MCPcopy Create free account
hub / github.com/Sompote/TigrimOSR

github.com/Sompote/TigrimOSR @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
1,334 symbols 3,504 edges 63 files ⚖ custom 500 documented · 37% updated 24d agov0.7.2 · 2026-07-30★ 74

Browse by type

Functions 1,149 Types & classes 185
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

TigrimOSR v0.7.2

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):

  • ⌨️ CLI mode — 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.
  • 🕸️ Graph mode — judge panel — evaluator-optimizer gate: a panel of one or more judge agents reviews the final answer against your YAML rules before it reaches you, and sends a structured verdict back for revision until it passes. Off by default — flip one toggle, pick the Graph (judged) mode, or add two lines to an agent-loop profile.
  • 🧩 Custom tools in YAML — add brand-new agent tools by dropping a .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.
  • 🛠️ Tool management UI — a new Settings → Tools screen (desktop and web/mobile): a Catalog of every tool with live status chips, plus a Custom Tools editor to create, edit, validate, and test-run your YAML tools without invoking the model.
  • 📚 Academic paper search (OpenAlex) — a search_papers tool queries 250M+ scholarly works: titles, authors, year, venue, DOI, citation counts, open-access PDFs and abstracts. No API key, no configuration.
  • 🇬 Connect Google — three-click Gmail / Calendar / Drive access with browser login, on desktop and the remote web UI.
  • 🔧 Per-tool config — per tool: hide it, require/waive approval, pin parameters, cap runtime & output — for built-in, MCP, and custom tools.

Why TigrimOSR?

  • Multi-agent orchestration — 6 swarm modes (hierarchical, mesh, hybrid, pipeline, P2P, P2P orchestrator) with real inter-agent protocols and a shared blackboard.
  • Your agent loop, your rules — YAML profiles control tools, MCP servers, skills, model & prompt, self-verification and compaction — down to per-tool config (hide, pin params, approval, caps).
  • Don't trust — verify — after the job, an independent tool-using judge checks the result against your rubric and opens the output files before the answer reaches you — or turn on Graph mode for a full judge panel with YAML rule files and a revise-until-pass loop.
  • Any LLM, any provider — OpenAI, Anthropic, DeepSeek, Kimi, Gemini, Ollama, any OpenAI-compatible API — plus Claude Code / Gemini CLI / Codex with no API keys.
  • Full tool calling — web search, Python, file I/O, shell, MCP servers, ClawHub skills. Charts, images and docs render inline.
  • Academic paper search — a built-in 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.
  • Your Google, connected — three-click Gmail / Calendar / Drive access; tokens stay on your machine — see Connect Google.
  • Browser control — the agent drives a real browser (Chrome/Chromium, or the Node-free Rust Obscura engine) — no paid search API. Opt-in, off by default.
  • Plugin system — zip plugins bundling skills, MCP servers, agents and connectors. Claude Desktop/Code and npm MCP compatible.
  • Run it your way — native desktop app, headless, Docker, or the tigrim CLI right in your terminal — then connect from any browser or phone via the built-in web UI.
  • Telegram & LINE bots — chat and drive the agent with slash commands, live progress, and approve/deny buttons — see Telegram & LINE Bots.
  • Private remote access (VPN) — reach a remote host over your own Tailscale tailnet instead of a public tunnel.
  • Built in Rust — single binary, no Node/Python. App + embedded server + a live embedded browser idle at ~270 MB RAM; the tigrim CLI runs the same engine in under 10 MB — see Memory footprint.

Native Rust desktop app

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.

TigrimOSR native desktop app

Above: the native desktop app — ask for a plot and the agent runs Python (matplotlib) and embeds the chart inline in its answer.

Memory footprint

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

The same engine, three sizes

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.

Desktop with a live embedded browser

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.

Mobile Remote Connection

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.

Mobile Remote Chat    Mobile Remote Chart

CLI mode (tigrim)

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

Install — copy one file, run it

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.

Setup file: .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

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 764
Method 385
Class 164
Enum 21

Languages

Rust98%
Python2%

Modules by API surface

src/server/services/toolbox.rs184 symbols
src/ui/chat.rs68 symbols
src/server/data.rs65 symbols
src/server/services/protocols.rs63 symbols
src/server/services/skill_synthesizer.rs52 symbols
src/vm/manager.rs49 symbols
src/ui/output_panel.rs48 symbols
src/ui/theme.rs47 symbols
src/ui/settings.rs46 symbols
src/ui/files_view.rs39 symbols
src/server/services/plugin.rs36 symbols
src/server/services/compact.rs35 symbols

Datastores touched

dbDatabase · 1 repos

For agents

$ claude mcp add TigrimOSR \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page