Researcher
Searches the web, dedupes sources, builds an evidence-based answer with footnoted citations. Best for fact-finding and competitive intel.
Features
A composable platform: pre-built agents, raw model access, tool calling, streaming — under one roof.
Specialised agents
Each agent ships with a tuned system prompt, tool set, and output format. Use as-is or override.
Searches the web, dedupes sources, builds an evidence-based answer with footnoted citations. Best for fact-finding and competitive intel.
Long-form drafting with style controls — tone, audience, length, structure. Outputs Markdown by default. Great for posts, emails, proposals.
Generates, refactors, and explains code in TypeScript, Python, Go, Rust, SQL and more. Returns fenced blocks with context-aware imports.
Reads CSVs and tables, extracts insights, builds summary tables, suggests visualisations. Useful for ad-hoc data questions.
Reviews drafts, flags weak claims, suggests edits with reasons. Good as a second pair of eyes before you ship.
Translation that preserves tone, idiom, and formatting. 80+ languages. Optionally returns a back-translation for verification.
Open-ended chat with persistent context, friendly tone, and clarifying follow-ups. Default agent for the Playground.
Triggers agents on a cadence. "Every Monday, summarise last week's news in my niche." Send results via email or webhook.
Chains agents into multi-step workflows. Researcher feeds Writer feeds Critic — one prompt, three passes, a final draft.
Tools & primitives
Token-by-token streaming over Server-Sent Events. Drop-in compatible with the OpenAI SDK pattern — no SDK lock-in. Cancel mid-stream when the user stops reading.
Define tools as JSON schemas. The model decides when to call them, you execute and return the result. Loop until the agent stops asking.
Up to 200k tokens of context on Smart and Pro tiers. Drop in a whole codebase or a 300-page PDF and ask questions about it.
Force responses to fit a JSON schema you specify. No more parsing prose — get strongly-typed objects you can pipe straight into your app.
Bake in role, voice, format, and constraints. Reusable across every conversation an agent has. Override per-request when needed.
Multi-turn history that survives across sessions. Server-side persistence optional — by default everything is in-memory and ephemeral.
Production-ready
Your API key never ships to the browser. The frontend talks to your backend, the backend talks to Ruflo.
Tiered models with documented p50/p95 latency budgets. Swap tiers without code changes.
Transient upstream errors are retried with exponential backoff so they never reach your users.
Join the waitlist for early access.