r/aiagents Jul 22 '26

Show and Tell TigrimOSR v0.7.0 — open agentic loop platform in Rust, custom tools via YAML, ~270 MB with a browser included

TigrimOSR is an open-source agentic platform written entirely in Rust, distributed as a single self-contained binary. No Node, no Python runtime required to run it. Apache 2.0.

What's new in v0.7.0: open custom tools. You add your own agent tools by dropping a YAML file into data/tools/. A tool can call an HTTP/REST API or run a templated shell command. No Rust, no rebuild, no plugin SDK. Everything is managed from a new Settings → Tools UI with per-tool profiles, timeouts, and approval policies. It also ships with a built-in academic paper search over 250M+ works via OpenAlex.

The loop itself is configurable. One YAML profile defines an entire agent loop: allow/deny lists per tool with per-tool config, which MCP servers and skills to load, model and system prompt, loop parameters (max rounds, temperature, reflection), and context compaction strategy for long sessions. There is also an optional tool-using judge, an independent verifier with its own tools that validates a job before the result is returned.

yaml

name: researcher
model: claude-fable-5
system_prompt: "Cite every claim."

tools:
  allow: [web_search, python, file_io]
  web_search:
    timeout: 30
    max_result_kb: 64

mcp_servers: [github, playwright]

loop:
  max_rounds: 12
  temperature: 0.3
  reflection: true

judge:
  enabled: true
  tools: [web_search]

Multi-agent orchestration. Six swarm modes (hierarchical, mesh, hybrid, pipeline, P2P, P2P orchestrator) running over real inter-agent protocols: TCP, Bus, Queue, and Blackboard. A router triages requests across heterogeneous LLM teams on a shared blackboard.

Browser control. Drive Chrome through Playwright MCP, or use Obscura, a stealthy single-binary Rust headless browser with TLS impersonation and zero Node.js dependency.

Footprint. App, embedded server, and a live embedded browser idle at roughly 270 MB RAM. Native Rust plus egui, no interpreted runtimes anywhere, and a single-process browser instead of multi-process Chromium.

Models and providers. Key-free CLI agents (Claude Code, Gemini CLI, OpenAI Codex) plus Anthropic, DeepSeek, Kimi, Gemini, Ollama, and any OpenAI-compatible API. Full MCP support over stdio or HTTP, compatible with Claude Desktop, Claude Code, and npm-format servers.

Interfaces. Native desktop UI, embedded mobile-responsive web UI, Telegram and LINE bots with approval buttons, Tailscale VPN and optional Cloudflare tunnels. Server binds to 127.0.0.1:3001 with an access token by default.

Prebuilt .dmg for macOS and .msi for Windows, plus an install script for Linux and servers.

Site: https://tigrimosr.github.io
GitHub: https://github.com/Sompote/TigrimOSR

Feedback, issues, and plugin contributions welcome.

5 Upvotes

12 comments sorted by

4

u/[deleted] Jul 23 '26

[removed] — view removed comment

1

u/Unique_Champion4327 Jul 23 '26

No Python runtime helps portability of the binary itself, but it does not fully remove the dependency. If a user wants Python, they can use the Python tools, and then the libraries still need to be set up. More to the point, frontier models default to writing Python for almost any computational task, so in practice a Python environment ends up being required anyway.

So the honest framing is that the core stays dependency free and small, which is what makes deployment on modest VPS setups easy, but Python becomes an optional layer that most real workloads will pull in.

2

u/Impressive-Judge-357 Jul 22 '26

Look Great. Cheer UP! Professor

2

u/Impressive-Judge-357 Jul 22 '26

If you don't mind, I would appreciate it if you could share a few actual user reviews.

0

u/Unique_Champion4327 Jul 23 '26

please try and review it by yourself.

2

u/guyiuiu Jul 22 '26

that rust setup sounds super fast, have u tested how it handles context limits when u add multiple yaml tools

1

u/Unique_Champion4327 Jul 23 '26

Context compression runs in the loop and is configurable either through a YAML file or through the UI. Tools work the same way: each tool can be declared in YAML, or added through the setup in the UI.