# FuseLLM > FuseLLM is a free, browser-only AI workspace. Bring your own API keys for Claude, ChatGPT, Gemini, Grok, DeepSeek, Kimi, Qwen, GLM, MiniMax, Nemotron and Perplexity Sonar, then wire them into circuits where one model builds, another reviews, and the loop runs until the work is done. Circuits can generate images, video and music, push code to GitHub, send email and post to Slack. No server, no account, keys never leave your device. FuseLLM is at https://fusellm.lowkey.tools/. Built by [Shrinath Prabhu](https://shrinath.me) ([@shrinath_prabhu](https://x.com/shrinath_prabhu)), from the makers of [OwlEye Analytics](https://owleye.dev), and published on [lowkey.tools](https://lowkey.tools). ## What it does - **Bring your own keys.** Paste an OpenRouter key and every model is live. Or use a Perplexity key, or direct keys for OpenAI, Anthropic, Google, DeepSeek, xAI, Moonshot, Qwen and MiniMax. Every key has an ⓘ with where to get it and how to cap it. Keys stay in this browser and can be locked with a passphrase. - **Circuits, not prompts.** Wire models together like a Zapier zap. Claude Fable writes the code, GPT-6 Astra reviews it, and the review loops back until the reviewer approves. No approval clicks in between. - **Four kinds of wire.** Each connection can carry the Output of the last step, the original Input, the full Context of every step so far, and a shared Memory that any model can write to. Mix all four. - **Roles and skills.** Give every model a role, from senior engineer to data analyst, teacher, copywriter or chief of staff, and stack skills such as code review, SQL, translation, meeting notes or red teaming. Twenty-one roles and twenty-two skills ship built in, and every one can be edited, deleted or cloned. - **MCP tools in the browser.** Eight remote MCP servers are set up and waiting: DeepWiki, Context7, GitHub, Notion, Jira and Confluence, Linear, Asana and Hugging Face. Models call their tools mid-answer, and this is how apps that refuse browser requests are reached. Web search is one switch away. - **Every token on the meter.** Live thinking and generating labels, elapsed time and token counts on every step, like a coding agent in a terminal. Totals and cost at the end. Set a stop-loss and the run halts before it spends more. - **Fast, balanced or deep.** One switch tunes reasoning effort, output length and tone per model. Fast for quick drafts, deep think when correctness matters more than speed. - **Apps and actions, like Zapier.** End a circuit by pushing code to GitHub, emailing from Gmail, Zoho or Outlook, filling a Google Doc, Sheet or Slides deck, filing tasks in Asana, Todoist, Trello, Linear or Jira, deploying to Vercel or Netlify, commenting on Figma, saving to Drive or Dropbox, or publishing the video to YouTube. Eighteen apps, twenty-eight actions, and models can call them as tools too. - **Images, video, music and voice.** The Studio and media stages reach 50+ image models, Veo, Sora, Kling, Runway, Hailuo and Seedance video, Lyria music and a dozen voices on the same OpenRouter key, plus ElevenLabs music, sound effects and voices, and fal.ai. A vision model can critique an image and loop it back for edits. - **A film studio in a circuit.** Script, review, direction, a character sheet, a keyframe and a video clip per shot, narration and score, an audio check, then a final cut with titles and crossfades rendered in your browser, and a screening that sends notes back to the edit. - **Token calculator.** Paste any text to count its tokens exactly, see what it costs on every model, and estimate a whole chat or circuit before you run it: wires, loops, reasoning and all. One click tidies a prompt (typically 20-50% smaller, code and links untouched), and a reply cap cuts the output side, where the money actually goes. - **Sources you can check.** When Sonar, Claude web search or OpenRouter search report the pages they used, FuseLLM lists them under the answer with numbered citations, carries them into later stages, and keeps them in exports. - **Research notes into Superbrain.** Export any run or chat as a Superbrain vault: linked Markdown notes with sources, memory and images, ready to open in the Superbrain notes app on lowkey.tools. - **Installable and offline-first.** A mobile-first progressive web app. It opens with no connection, so your chats, circuits and library are always there. Mirror everything to a folder on your computer, and share circuits as files. Talking to a model needs the internet, nothing else does. ## How it works 1. **Add a key.** Open Models and paste an OpenRouter key, or a direct key from any supported provider. Enable the models you want. 2. **Pick or build a circuit.** Start from a template such as "Code, review, repeat" or "Student and professor", or add stages yourself. Each stage is a model with a role, skills and tools. 3. **Wire the stages.** Choose what flows into each stage: Output, Input, Context, Memory. Add a loop so a reviewer can send work back until it approves. 4. **Run it.** Type the brief and press Run. Watch each stage think and generate with live time and token counts, then copy or download the final result. ## Supported models - GPT-6 Astra (OpenAI): OpenAI flagship. Strongest at hard reasoning, agentic coding and careful review. - GPT-5.6 Sol (OpenAI): Balanced all-rounder for planning, writing and everyday code. - GPT-5.6 Terra (OpenAI): Grounded analysis and research synthesis at a mid-tier price. - GPT-5.6 Luna (OpenAI): Small, quick and cheap. Good for drafts, summaries and triage steps. - Claude Fable 5.1 (Anthropic): Anthropic's most capable model. Long-horizon coding and the hardest reasoning. - Claude Opus 5 (Anthropic): Deep reasoning and meticulous review. A natural professor or architect. - Claude Sonnet 5 (Anthropic): Fast, capable and affordable. Great builder, editor and technical writer. - Gemini 3.8 Flash (Google): Fast, cheap, a million tokens of context. A tireless research assistant. - Kimi K3 (Moonshot AI): Agentic coder with long context and strong tool use. - DeepSeek V4 Pro (DeepSeek): Frontier-level reasoning at a fraction of the price. A sharp critic. - Grok 4.6 (xAI): Direct, contrarian and current. Good debater and fact checker. - GLM 5.3 (Z.ai): Open-weight coder with parallel tool calls. OpenRouter only from a browser. - Qwen 3.8 Flash (Alibaba): Very cheap and quick. Ideal for summaries, drafts and routing steps. - Nemotron 3 Ultra (NVIDIA): Open reasoning model via OpenRouter. The free tier costs nothing to try. - MiniMax M3 (MiniMax): Cheap, long-context agent model. Solid second opinion on a budget. - Perplexity Sonar Pro (Perplexity): Answers from the live web with citations on every claim. The fact-finder of any research circuit. - Perplexity Sonar Deep Research (Perplexity): Runs dozens of searches and reads the sources before it writes. Slow, thorough, cited. ## Facts - Price: free. Users pay their own AI provider for tokens, through their own key. - Account: none. No sign-up, no email, no login. - Backend: none. The browser talks to AI providers directly; data stays in IndexedDB on the device. - Keys: stored only in the browser, optionally encrypted with a passphrase (AES-GCM, PBKDF2). - Offline: installable PWA that opens offline; running a model needs a connection. - Circuits: automated multi-model chains with four wire types (Input, Output, Context, Memory) and review loops that repeat until a verdict of APPROVED. - Metering: live thinking and generating status, elapsed time and token counts per step, totals and cost per run, and an optional token stop-loss. - Modes: Fast, Balanced and Deep think, which tune reasoning effort and answer length per provider. - Tools: remote MCP servers over Streamable HTTP, and web search. ## Answers - **What is FuseLLM?** FuseLLM is a free AI workspace that runs entirely in your browser. You bring your own API keys, chat with leading models, and wire several models into circuits where each one builds on, reviews or extends the work of the others until the task is done. - **Is FuseLLM free?** Yes. FuseLLM itself is free and has no paid tier. You only pay your AI provider for the tokens you use, at their normal rates, through your own key. Some OpenRouter models, such as Nemotron 3 Ultra (free), cost nothing. - **Are my API keys safe?** Your keys are stored only in this browser and are sent only to the AI provider they belong to. FuseLLM has no backend, so there is no server that could see them. You can lock them behind a passphrase, which encrypts them with AES-GCM on your device. - **What is a circuit in FuseLLM?** A circuit is an automated chain of AI models, like a Zapier zap for LLMs. Each stage is a model with a role, skills and tools. Wires pass the output, the original input, the full context or shared memory from one stage to the next, and loops let a reviewer send work back until it is approved. - **Which AI models does FuseLLM support?** GPT-6 Astra, GPT-5.6 Sol, Terra and Luna from OpenAI; Claude Fable 5.1, Opus 5 and Sonnet 5 from Anthropic; Gemini 3.8 Flash; Kimi K3; DeepSeek V4 Pro; Grok 4.6; GLM 5.3; Qwen 3.8 Flash; Nemotron 3 Ultra; MiniMax M3; and Perplexity Sonar Pro and Sonar Deep Research. All of them work through a single OpenRouter key, and a Perplexity key reaches Sonar and eleven of the others with web search built in. - **Can FuseLLM send emails or push code to GitHub?** Yes. Connect GitHub with a fine-grained token and a circuit can create a repository and commit every generated file in one push. Connect Gmail to send mail from your own address, or EmailJS to send through Zoho Mail, Outlook or any SMTP server. Eighteen apps are built in: GitHub, GitLab, Google Workspace (Gmail, Docs, Sheets, Slides, Drive, Calendar, YouTube), Slack, Discord, Telegram, Linear, Asana, Todoist, Trello, Airtable, Netlify, Vercel, Figma, Sentry, Dropbox and webhooks into Make, Zapier, n8n or Pipedream. Each uses a credential you create and can revoke. - **Can FuseLLM generate images, video and music?** Yes, with your OpenRouter key. The Studio and circuit media stages reach more than 50 image models including Gemini 3 Pro Image and GPT Image 2, video models such as Veo 3.1, Sora 2 Pro, Kling 3 and Runway Gen-4.5, Google Lyria for music, and a dozen text-to-speech voices. Images can be edited with reference images, and a vision model can review and loop them. - **Is it safe to put API keys into a browser app?** In FuseLLM the keys are your own and never leave your device except to go straight to the provider they belong to. There is no FuseLLM server and no app-owned secret shipped in the page. Keys sit in the browser’s IndexedDB, can be encrypted with a passphrase, and are protected by a strict Content Security Policy that allows only FuseLLM’s own scripts. Use scoped keys where you can: a spend limit on OpenRouter, a fine-grained GitHub token for chosen repos, Gmail limited to sending. - **How do I get an API key for FuseLLM?** The quickest is an OpenRouter key: sign in at openrouter.ai, add a few dollars of credit, open Keys and create one with a credit limit. One key reaches every model in FuseLLM plus image, video and audio models. In FuseLLM, the ⓘ next to each provider on the Models page gives the steps for that provider and the setting that caps a key if it ever leaks. - **How many tokens will my prompt or workflow use?** Open the token calculator in FuseLLM and paste the text. It counts tokens exactly with OpenAI’s o200k_base tokenizer on your device, shows words and characters, prices the text on every model as input and as output, and estimates a whole chat or circuit: each step’s input from its wires, loops by assumption, typical reply and reasoning lengths, and the total cost. - **Does FuseLLM show sources for research answers?** Yes. When a model reports the web pages it used, as Perplexity Sonar, Claude web search and OpenRouter web search do, FuseLLM lists them under the answer with titles, sites and numbered citations. Sources are passed to later circuit stages, available as the {{sources}} placeholder, and included in Markdown and Superbrain exports. - **Where does FuseLLM store chats and circuits?** In your browser’s IndexedDB, which can hold gigabytes, with persistent storage requested so the browser does not clear it when space runs low. On Chrome, Edge and other Chromium browsers you can also mirror everything to a folder on your computer as JSON, Markdown and media files, and load it back into another browser. API keys are never written to that folder. Circuits export as .fusellm.json files you can share. - **Can FuseLLM upload a video to YouTube or write to Notion and Jira?** YouTube yes: tick the YouTube permission when you connect Google, and a circuit can publish a generated video, private by default. Notion, Jira and Confluence block browser requests, so FuseLLM reaches them through their own remote MCP servers instead, which are set up in the MCP library. Anything else can be reached by sending a webhook to Make, Zapier, n8n or Pipedream. - **How do I make a prompt use fewer tokens?** The token calculator has a one-click optimiser. It runs on your device for free and only makes changes that cannot alter meaning: whitespace, invisible characters pasted from documents, curly quotes, filler phrases, repeated paragraphs, table padding and HTML comments, never touching code blocks, inline code or URLs. It typically removes a fifth to a half of a hand-written prompt. A reply cap saves more, because output is billed at three to five times the input price, and Fast mode cuts the hidden reasoning that is billed as output too. A model can also rewrite the prompt for you if you want it shorter still. - **Can I export FuseLLM research to Superbrain?** Yes. Any circuit run or chat exports as a Superbrain vault: a zip of linked Markdown notes with an index, one note per step, sources, shared memory and generated images. Open superbrain.lowkey.tools, choose Import a vault, and pick the zip. - **Can two AI models talk to each other in FuseLLM?** Yes. That is what circuits are for. For example, Claude Fable writes code, GPT-6 Astra reviews it, and the review goes back to Claude until Astra approves. Or one model plays a student researcher while another plays the professor who grades the work. - **Does FuseLLM need a server or an account?** No. There is no sign-up and no FuseLLM server. Your browser talks to the AI providers directly, and your chats, circuits and library are stored locally in IndexedDB. - **Does FuseLLM work offline?** The app installs as a PWA and opens offline, with all of your chats, circuits, roles and skills available. Running a model needs an internet connection, because the model runs at the provider. - **How do I limit how many tokens a circuit spends?** Set a stop-loss on a chat or a circuit. FuseLLM caps each request to the budget that is left, watches tokens as they stream, and stops the run when the limit is reached. It can also squeeze context to fit. Providers bill hidden reasoning, so the limit is enforced as closely as the provider allows but is not guaranteed to the token. - **Can I use MCP servers in the browser?** Yes. FuseLLM speaks MCP over Streamable HTTP, so any remote MCP server that allows browser requests works, including DeepWiki and Context7. Attach a server to a chat or a circuit stage and the model can call its tools. - **Who makes FuseLLM?** FuseLLM is built by Shrinath Prabhu (shrinath.me) and published on lowkey.tools by the makers of OwlEye Analytics (owleye.dev), a privacy-first, cookie-free web analytics product. ## Links - [FuseLLM](https://fusellm.lowkey.tools/): the app - [Source on GitHub](https://github.com/shrinathprabhu/fusellm): source code and issues - [llms-full.txt](https://fusellm.lowkey.tools/llms-full.txt): every detail, including built-in roles, skills and circuit templates ## More from the same shelf FuseLLM is one of twelve browser-only tools on [lowkey.tools](https://lowkey.tools), built by [Shrinath Prabhu](https://shrinath.me) ([@shrinath_prabhu](https://x.com/shrinath_prabhu)) from the makers of [OwlEye Analytics](https://owleye.dev). - [SuperBrain](https://superbrain.lowkey.tools/): A private, local-first workspace for notes, links and ideas: Notion and Obsidian with none of the ceremony. - [SuperSplit](https://supersplit.lowkey.tools/): Split group expenses, track who paid and settle up fairly. No accounts, no ads, no limits. - [SuperFocus](https://superfocus.lowkey.tools/): An offline focus space: Pomodoro sessions, tasks, goals and quiet music. - [StreakFreak](https://streakfreak.lowkey.tools/): A private, offline habit tracker with templates, flexible goals and streaks worth keeping. - [Credo](https://credo.lowkey.tools/): Share passwords, secrets and small files as encrypted links that expire on their own. - [Converteasy](https://converteasy.lowkey.tools/): Units, currencies, crypto denominations, dates and calculations in one intelligent box. - [Favigen](https://favigen.lowkey.tools/): One SVG or PNG in, every favicon, app icon, manifest and HTML tag out. - [Billgen](https://billgen.lowkey.tools/): Invoices, receipts, memos and bills made locally, then exported, printed or shared. - [MathMagician](https://mathmagician.lowkey.tools/): Race the clock through as many arithmetic problems as you can, then share your best score. - [Chesscape](https://chesscape.lowkey.tools/): Escape today’s near-checkmate position with the one saving move, in thirty seconds. - [SpotFast](https://spotfast.lowkey.tools/): Memorise a grid in seconds, then find the hidden targets before your three lives run out. - [OwlEye Analytics](https://owleye.dev): Privacy-first, cookie-free web analytics. - [Shrinath Prabhu](https://shrinath.me): the developer - [lowkey.tools](https://lowkey.tools): more small, free tools from the same makers ## Providers FuseLLM calls providers straight from the browser. Each one below allows browser (CORS) requests. Z.ai (GLM) and NVIDIA (Nemotron) do not, so those models are reached through OpenRouter. - OpenRouter: https://openrouter.ai/api/v1 (One key for every model here. Recommended.) - Perplexity: https://api.perplexity.ai (Sonar, plus 11 of these models through the Agent API, with live web search built in.) - OpenAI: https://api.openai.com/v1 - Anthropic: https://api.anthropic.com/v1 - Google AI Studio: https://generativelanguage.googleapis.com/v1beta/openai - DeepSeek: https://api.deepseek.com - xAI: https://api.x.ai/v1 - Moonshot AI: https://api.moonshot.ai/v1 - Alibaba Cloud (Qwen): https://dashscope-intl.aliyuncs.com/compatible-mode/v1 - MiniMax: https://api.minimax.io/v1 ## Model details | Model | Vendor | OpenRouter id | Context | Price in / out per 1M tokens (USD) | |---|---|---|---|---| | GPT-6 Astra | OpenAI | `openai/gpt-6-astra` | 1,050,000 | $10 / $50 | | GPT-5.6 Sol | OpenAI | `openai/gpt-5.6-sol` | 1,050,000 | $2 / $10 | | GPT-5.6 Terra | OpenAI | `openai/gpt-5.6-terra` | 1,050,000 | $2 / $12 | | GPT-5.6 Luna | OpenAI | `openai/gpt-5.6-luna` | 1,050,000 | $0.2 / $1.2 | | Claude Fable 5.1 | Anthropic | `anthropic/claude-fable-5.1` | 1,000,000 | $10 / $50 | | Claude Opus 5 | Anthropic | `anthropic/claude-opus-5` | 1,000,000 | $5 / $25 | | Claude Sonnet 5 | Anthropic | `anthropic/claude-sonnet-5` | 1,000,000 | $2 / $10 | | Gemini 3.8 Flash | Google | `google/gemini-3.8-flash` | 1,048,576 | $0.75 / $3.75 | | Kimi K3 | Moonshot AI | `moonshotai/kimi-k3` | 1,048,576 | $3 / $15 | | DeepSeek V4 Pro | DeepSeek | `deepseek/deepseek-v4-pro` | 1,048,576 | $0.96 / $1.91 | | Grok 4.6 | xAI | `x-ai/grok-4.6` | 500,000 | $2 / $6 | | GLM 5.3 | Z.ai | `z-ai/glm-5.3` | 1,310,720 | $1.4 / $4.4 | | Qwen 3.8 Flash | Alibaba | `qwen/qwen3.8-flash` | 1,000,000 | $0.15 / $0.47 | | Nemotron 3 Ultra | NVIDIA | `nvidia/nemotron-3-ultra-550b-a55b:free` | 262,144 | free | | MiniMax M3 | MiniMax | `minimax/minimax-m3` | 1,048,576 | $0.3 / $1.2 | | Perplexity Sonar Pro | Perplexity | `perplexity/sonar-pro` | 200,000 | $3 / $15 | | Perplexity Sonar Deep Research | Perplexity | `perplexity/sonar-deep-research` | 128,000 | $2 / $8 | ## Circuit templates ### 🔁 Code, review, repeat Claude Fable builds it, GPT-6 Astra reviews it, and the loop runs until the review passes. 1. **Builder** on Claude Fable 5.1: Implement what the brief asks for. If you have received review feedback, fix every Blocker and Major and output the full updated code. 2. **Reviewer** on GPT-6 Astra: Review the implementation against the brief. Loops back until it approves, at most 3 rounds. ### 🎓 Student and professor Gemini researches with web search, Claude Opus grades and sends it back, Sonnet polishes the final paper. 1. **Student** on Gemini 3.8 Flash: Research the brief and write a well-sourced draft. If the professor sent feedback, revise the draft to address every point and list what you changed. 2. **Professor** on Claude Opus 5: Grade the student’s draft out of 10 and give prioritised feedback. Loops back until it approves, at most 3 rounds. 3. **Editor** on Claude Sonnet 5: Turn the approved research into a polished final report with a TL;DR, clear sections and a source list. ### 🚀 Plan to product Spec, architecture, build, review, tests and docs. One model per job, one brief to start it. 1. **Product spec** on GPT-5.6 Sol: Write a crisp product spec for the brief: users, requirements with acceptance criteria, and what is out of scope. Save the three most important decisions to memory. 2. **Architecture** on Claude Opus 5: Design the system for this spec and write an ordered build plan. 3. **Engineer** on Claude Fable 5.1: Implement the plan completely. If review feedback arrived, fix it and output the full updated code. 4. **Review** on GPT-6 Astra: Review the implementation against the spec and plan. Loops back until it approves, at most 2 rounds. 5. **Tests** on Kimi K3: Write a thorough automated test suite for the approved implementation. 6. **Docs** on Claude Sonnet 5: Write the README: what it is, setup, usage, architecture overview and how to run the tests. Then list every file produced across the circuit. ### 🔭 Deep research Opus breaks the question down, Perplexity Sonar researches the live web, Grok fact-checks, Fable writes the report. 1. **Research plan** on Claude Opus 5: Break the brief into 4 to 7 sharp research questions and say what evidence would answer each. Save the questions to memory. 2. **Researcher** on Perplexity Sonar Pro: Answer every research question with evidence and sources. If the fact checker flagged problems, fix them. 3. **Fact checker** on Grok 4.6: Fact-check the research and challenge weak conclusions. Loops back until it approves, at most 2 rounds. 4. **Report** on Claude Fable 5.1: Write the final research report: executive summary, findings per question, comparison table where useful, confidence levels and sources. ### ⚖️ Debate and judge Grok argues for, DeepSeek argues against, two rounds of rebuttal, then Opus rules. 1. **For** on Grok 4.6: Argue FOR the proposition in the brief as persuasively and honestly as you can. If the opponent has replied, rebut their strongest points. 2. **Against** on DeepSeek V4 Pro: Argue AGAINST the proposition. Rebut the strongest points made for it. Loops back until 2 rounds are done, at most 2 rounds. 3. **Judge** on Claude Opus 5: Weigh the whole debate impartially. Score each side on evidence and reasoning, name the strongest and weakest arguments, and give a clear ruling with the conditions under which it would flip. ### 🐞 Bug hunt Opus finds the root cause, Fable patches it, Astra audits the fix until it is safe. 1. **Diagnose** on Claude Opus 5: Find the root cause of the problem in the brief. Save the root cause to memory in one sentence. 2. **Fix** on Claude Fable 5.1: Write the minimal correct fix plus a regression test. If the audit found problems, address them. 3. **Audit** on GPT-6 Astra: Check that the fix resolves the root cause without introducing new bugs or security issues. Loops back until it approves, at most 2 rounds. ### 🪙 Pocket-money trio Qwen drafts, MiniMax critiques, GLM finalises. Three models for a few cents. 1. **Draft** on Qwen 3.8 Flash: Write a solid first draft for the brief. 2. **Critique** on MiniMax M3: Critique the draft: what is weak, missing or wrong, and how to fix it. 3. **Final** on GLM 5.3: Produce the final version, applying the critique to the draft. ### 📦 Build and ship to GitHub Opus plans, Fable builds, Astra reviews until it passes, then the code is committed to a new GitHub repo in one push. 1. **Plan** on Claude Opus 5: Write a short build plan: files, responsibilities, and the tests that prove it works. 2. **Build** on Claude Fable 5.1: Implement the plan: every file in its own fenced block with the path on the first line, plus a README.md. If review feedback arrived, output the full updated files. 3. **Review** on GPT-6 Astra: Review the implementation against the brief and the plan. Loops back until it approves, at most 3 rounds. 4. **Push to GitHub** (action: github.push) ### 🎨 Art director loop Claude writes the image prompt, Gemini paints it, GPT-6 Astra looks at the result and sends edits back until it is right. 1. **Art director** on Claude Opus 5: Write one detailed image-generation prompt for the brief: subject, composition, lighting, palette, style, lens, and any text that must appear, spelled exactly. Output only the prompt. 2. **Image** (media: image with google/gemini-3-pro-image) 3. **Critic** on GPT-6 Astra: Look at the image against the brief. List concrete edits (composition, text spelling, colour, artefacts). Approve only when it is ready to print. Loops back until it approves, at most 3 rounds. ### 🎙️ Podcast in a box Sonar researches, Sonnet writes a two-minute script, a voice model reads it, and Lyria scores an intro. 1. **Research** on Perplexity Sonar Pro: Gather the facts for a two-minute audio segment on the brief, with sources. 2. **Script** on Claude Sonnet 5: Write a warm, spoken-style script of about 280 words from the research. Plain sentences only: no headings, lists, links or stage directions, because it will be read aloud verbatim. 3. **Narration** (media: speech with microsoft/mai-voice-2) 4. **Intro music** (media: music with google/lyria-3-clip-preview) ### 📬 Research to inbox Sonar Deep Research digs in, Opus checks it, Sonnet writes it up, and the report lands in your email and a Google Doc. 1. **Deep research** on Perplexity Sonar Deep Research: Research the brief thoroughly and cite every source. 2. **Check** on Claude Opus 5: Fact-check the research and flag anything unsupported. Loops back until it approves, at most 1 rounds. 3. **Write-up** on Claude Sonnet 5: Write the final report: TL;DR, findings, recommended next steps, sources. 4. **Save as Google Doc** (action: gdocs.create) 5. **Email the report** (action: gmail.send) ### 🎞️ Movie studio Script, script review, direction, character sheet, keyframes, one video clip per shot, narration, score, an audio check, an edit plan, a final cut rendered in your browser, and a screening that sends notes back to the edit. 1. **Script** on Claude Sonnet 5: Write the script for the brief: title, a one-line logline, then 5 to 6 scenes. For each scene give what we see and any voiceover. Keep it to the runtime in the brief (60 seconds if none is given). 2. **Script review** on GPT-6 Astra: Review the script as a story editor: hook, clarity, pacing, whether every scene can actually be filmed or generated, and whether it fits the runtime. List concrete fixes. Loops back until it approves, at most 2 rounds. 3. **Direction** on Claude Opus 5: Direct the approved script: {{step:Script}} Reply with exactly these Markdown sections, in this order: ## Characters: each main character described visually in one dense paragraph (age, face, hair, build, wardrobe, colours). These exact words are reused in every shot. ## Style: one paragraph on the look (palette, lighting, lens, film stock or animation style, aspect 16:9). ## Shots: 5 to 6 shots, each starting with a heading line like "### Shot 1". Under it, one paragraph: framing, what the characters do, setting, camera motion, and a duration of 4, 6 or 8 seconds. Each shot must stand on its own as a prompt. ## Narration: only the words the narrator says, as plain sentences, no labels or directions. ## Music: one prompt for the score (genre, instruments, tempo, mood, how it builds). 4. **Character sheet** (media: image with google/gemini-3-pro-image) 5. **Keyframes** (media: image with google/gemini-3-pro-image) 6. **Video clips** (media: video with google/veo-3.1-fast) 7. **Narration** (media: speech with microsoft/mai-voice-2) 8. **Score** (media: music with google/lyria-3-clip-preview) 9. **Audio check** on Gemini 3.8 Flash: Listen to the score and judge it against the direction below: mood, tempo, whether it would sit under a narrator, and anything jarring. Suggest a better music prompt if it misses. {{section:Music}} Loops back until it approves, at most 1 rounds. 10. **Edit plan** on Claude Sonnet 5: Plan the cut. The shots, in the order they were generated, are: {{section:Shots}} If the screening sent notes, address them. Reply with a short rationale, then a fenced json block with: "order" (shot numbers, 1-based, you may drop weak shots), "transition" ("crossfade", "fade" or "cut"), "transitionSec" (0.3 to 1.5), "openTitle" (the film title) and "closeTitle" (a closing line). 11. **Final cut** (media: assemble with fusellm/assemble) 12. **Screening** on Gemini 3.8 Flash: Watch the final cut and compare it with the script. Check story beats, character consistency, pacing, and whether picture, voice and music work together. If you cannot see the video, say so and review the edit plan against the script instead. Give specific notes for the edit. The script: {{step:Script}} Loops back until it approves, at most 2 rounds. ### 📥 Inbox to next actions Paste a pile of email, Slack or notes. It pulls out what you actually have to do, sorts it, and files each task in Todoist. 1. **Triage** on Gemini 3.8 Flash: Read everything below and pull out every real commitment or request aimed at me. For each: a one-line task starting with a verb, who it is for, and a due date in words (today, tomorrow 9am, Friday). Drop newsletters, FYIs and anything already handled. Then list what needs a decision from me, and what can be ignored. 2. **Order the day** on Claude Sonnet 5: Turn that list into today's plan: the three things that matter most first, then the rest, then what to drop. Finish with a fenced json array of the tasks to file, each {"content": "...", "due": "...", "priority": 1-4}, highest priority first, at most eight. 3. **File in Todoist** (action: todoist.task) ### 🚨 Error triage Pulls unresolved errors from Sentry, works out what is actually broken, writes the fix, and opens a GitHub issue for the worst one. 1. **Fetch errors** (action: sentry.issues) 2. **Triage** on GPT-6 Astra: Group these errors by likely root cause, not by message. Rank by user impact (events × users × where it happens). For the top three, say what the stack trace suggests, what you would check first, and how confident you are. 3. **Fix** on Claude Fable 5.1: Take the top error. Write the fix as complete files, with a regression test that fails before it and passes after. If the trace is not enough to be sure, write the diagnostic change instead and say what output would confirm it. 4. **Open an issue** (action: github.issue) ### 🗒️ Meeting to memo A transcript becomes decisions, owners and dates, saved as a Google Doc and sent to the room. 1. **Notes** on Claude Sonnet 5: Write the notes from this transcript. Attribute only what was actually said, and put anything ambiguous under Open questions rather than guessing. 2. **Check** on Gemini 3.8 Flash: Check the notes against the transcript: anything invented, any decision recorded that was not actually agreed, any action without an owner, anything important left out. Loops back until it approves, at most 1 rounds. 3. **Save as a Doc** (action: gdocs.create) ### 🔭 Competitor watch Searches what changed at the competitors you name, checks the claims, writes the brief, and appends the row to your tracking sheet. 1. **Scan** on Perplexity Sonar Pro: Find what these companies changed in the last 30 days: launches, pricing, positioning, funding, notable hires, outages. Date every item and link the source. Ignore anything older or unsourced. 2. **Brief** on Claude Sonnet 5: Write the weekly brief: what changed, what it signals about their strategy, what it means for us, and the one thing we should do about it this week. Keep it under 400 words, with the sources kept as links. 3. **Log to a Sheet** (action: gsheets.append) ### 📣 One idea, every channel One idea becomes a post, an editor tightens it, then it is cut into LinkedIn, X and newsletter versions with a cover image. 1. **Draft** on Claude Sonnet 5: Write the post: 600-800 words, one clear argument, concrete examples, no listicle padding. Open with the specific thing that makes it worth reading. 2. **Edit** on GPT-6 Astra: Edit it hard: cut the weak third, sharpen the opening, kill clichés and hedges. Return the edited post, then the list of changes. Loops back until it approves, at most 1 rounds. 3. **Channel cuts** on Gemini 3.8 Flash: Cut the finished post into: a LinkedIn post, three X posts that stand alone, a newsletter intro of 80 words, and a one-line image prompt for the cover, under a "## Cover" heading. 4. **Cover image** (media: image with google/gemini-3.1-flash-image) ### 🎨 Design review Reads a Figma file, reviews the flow against real usability criteria, and leaves the findings as a comment on the file. 1. **Read the file** (action: figma.read) 2. **Review** on Claude Opus 5: Review this design from its structure: the flow the frame names imply, missing states (empty, loading, error, offline), accessibility risks, and anything a first-time user would trip on. Be specific about which frame each point is about, and rank by impact. 3. **Comment on Figma** (action: figma.comment) ### 📚 Docs from a repo Asks DeepWiki about a repository, writes the docs a newcomer needs, has them checked, and pushes them back to the repo. 1. **Read the repo** on GPT-6 Astra: Use the DeepWiki tools to understand this repository: what it does, how it is laid out, the main flows, and the parts a newcomer gets wrong. Quote file paths. 2. **Write the docs** on Claude Sonnet 5: Write the documentation as files: docs/architecture.md, docs/getting-started.md and docs/contributing.md. Each in its own fenced block with the path on the first line. Concrete commands, real file paths, no filler. 3. **Check** on Gemini 3.8 Flash: Check the docs against what the repository actually is: wrong paths, invented commands, missing setup steps, anything a newcomer still could not do. Loops back until it approves, at most 1 rounds. 4. **Push the docs** (action: github.push) ### 🚀 Landing page, live Copy, then a real page built from it, then a review, then it is deployed and the URL comes back. 1. **Copy** on Claude Sonnet 5: Write the page copy: hero headline and subhead, three benefit blocks, social proof placeholder, FAQ of four questions, and the call to action. Specific, no superlatives. 2. **Build** on Claude Fable 5.1: Build it as a single index.html with inline CSS: responsive, accessible, fast, no frameworks, no external requests, dark mode aware. Put it in one fenced block with index.html on the first line. 3. **Review** on GPT-6 Astra: Review the page: accessibility (landmarks, contrast, focus, labels), responsiveness, performance, and whether the copy survived the build. Return the full corrected file if anything is wrong. Loops back until it approves, at most 1 rounds. 4. **Deploy** (action: netlify.deploy) ## Built-in roles Roles are instructions prepended to every prompt. Every one can be edited, cloned or deleted. - 👩‍💻 **Senior Software Engineer**: Ships complete, production-quality code with sensible trade-offs. - 🔍 **Staff Code Reviewer**: Exacting reviewer who finds real bugs, not style nits. - 🏛️ **Software Architect**: Turns a goal into a clear system design and build plan. - 🧭 **Product Manager**: Clarifies the problem, the user and what done looks like. - 🎓 **Student Researcher**: Eager researcher who drafts thoroughly and revises on feedback. - 👨‍🏫 **Professor**: Rigorous academic who grades work and asks for revisions. - 📊 **Research Analyst**: Synthesises evidence into decisions, with numbers where possible. - 🛡️ **Security Engineer**: Thinks like an attacker to protect users and data. - ✍️ **Technical Writer**: Makes complex things clear, scannable and correct. - 😈 **Devil's Advocate**: Stress-tests ideas by arguing the strongest opposing case. - 📊 **Data Analyst**: Reads numbers carefully and says what they do and do not show. - ✍️ **Copywriter**: Writes marketing copy that sounds human and says something. - 📝 **Editor**: Tightens writing without flattening the voice. - 🎧 **Support Agent**: Answers customers warmly, accurately and briefly. - 🧑‍💼 **Recruiter**: Writes job posts and screens CVs against real requirements. - 👩‍🏫 **Teacher**: Explains a hard thing until it is obvious. - ⚖️ **Contract Reader**: Explains what a document actually commits you to. Not legal advice. - 🗂️ **Chief of Staff**: Turns noise into a decision, an owner and a date. - 🎬 **Screenwriter**: Writes tight, visual scripts for video and film. - 🎥 **Film Director**: Turns a script into a shot list, a look and prompts for generators. - ✂️ **Film Editor**: Decides order, pacing, transitions and titles. ## Built-in skills Skills stack on top of a role. Review skills end with a VERDICT line that a loop can read. - 🛠️ **Write code** (code): Complete, runnable implementation in fenced code blocks. - 🔎 **Code review** (review, verdict): Severity-ranked findings with fixes, and a verdict. - ♻️ **Refactor** (code): Improve structure without changing behaviour. - 🧪 **Write tests** (code): Focused tests for behaviour, edge cases and regressions. - 🐛 **Debug** (code): Find the root cause, then fix it minimally. - 🔐 **Security audit** (review, verdict): OWASP-style audit with severity, exploit path and fix. - 📚 **Research & synthesize** (research): Structured findings with sources and confidence. - ✅ **Fact check** (review, verdict): Verify claims and flag anything unsupported. - 🗺️ **Plan & spec** (planning): Break a goal into a spec and ordered steps. - 🧾 **Summarize** (writing): A TL;DR first, then the essentials. - 📈 **Analyse data** (research): Method, numbers, caveats, and the decision they support. - 🗄️ **Write SQL** (code): One query, explained, with the assumptions about the schema. - 💡 **Explain simply** (writing): A clear explanation with an example, no jargon walls. - ✉️ **Draft an email** (writing): Subject, short body, one ask, right tone. - 🗒️ **Meeting notes** (writing): Decisions, actions with owners, open questions. - 📣 **Social posts** (writing): Platform-shaped posts that are not cringe. - 🌍 **Translate** (writing): Natural translation, with the judgement calls listed. - 🧮 **Extract structured data** (research): Fields pulled into JSON or a table, nothing invented. - ⚖️ **Compare options** (planning): A table on real criteria, then a recommendation. - 📽️ **Build a deck** (writing): Markdown headings and bullets, ready for Slides. - 🌱 **Brainstorm** (planning): Range first, then a ruthless shortlist. - 🧨 **Red team** (review, verdict): Attacks the plan: how it fails and what to do about it. ## Built-in MCP servers - **DeepWiki** (https://mcp.deepwiki.com/mcp): Ask questions about any public GitHub repository and read its generated docs. No key needed. - **Context7** (https://mcp.context7.com/mcp): Up-to-date library and framework documentation for coding. Works without a key; add one for higher limits. - **GitHub** (https://api.githubcopilot.com/mcp/): Search code, read files, issues and pull requests across the repositories your token can see. Paste a GitHub token below. - **Notion** (https://mcp.notion.com/mcp): Search, read and write Notion pages and databases. Notion’s REST API refuses browser requests, so this server is the way in. Needs a token from a Notion integration. - **Jira and Confluence** (https://mcp.atlassian.com/v1/sse): Atlassian’s own server: read and create Jira issues and Confluence pages. Their REST APIs block browsers, so this is the route. - **Linear** (https://mcp.linear.app/mcp): Issues, projects and cycles in Linear, as tools a model can call mid-answer. - **Asana** (https://mcp.asana.com/sse): Asana’s own server: find, create and update tasks and projects by name rather than by ID. - **Hugging Face** (https://huggingface.co/mcp): Search models, datasets, papers and Spaces, and read model cards. A read token raises the limits. ## Apps and actions Circuits can end in deterministic action steps, and models can be given the same actions as tools. Each uses the user's own credential, called straight from the browser. - **Push files to a repo** (GitHub): Commit one or more files to a GitHub repository in a single commit. Creates the repository (private by default) if it does not exist. - **Open an issue** (GitHub): Open an issue in a GitHub repository. - **Publish a gist** (GitHub): Save text or code as a GitHub gist and return its link. - **Send an email (Gmail)** (Google Workspace) · sends to others: Send an email from the user’s own Gmail account. The body is Markdown and is sent as formatted HTML with a plain-text copy. - **Save as a Google Doc** (Google Workspace): Create a Google Doc in the user’s Drive from Markdown text and return its link. - **Append rows to a Sheet** (Google Workspace): Append one or more rows to a Google Sheet. Rows is a JSON array of arrays, one inner array per row. - **Build a Google Slides deck** (Google Workspace): Create a slide deck from Markdown: each "## Heading" becomes a slide, and the bullets under it become its body. - **Save a file to Drive** (Google Workspace): Save text, or a file an earlier stage generated, into Google Drive. - **Create a Calendar event** (Google Workspace): Add an event to the user’s Google Calendar. Times are ISO 8601, e.g. 2026-09-20T15:00:00. - **Upload a video to YouTube** (Google Workspace) · sends to others: Upload a video an earlier stage generated to the user’s YouTube channel. Private unless told otherwise. - **Send an email (EmailJS)** (EmailJS (Zoho, Outlook, any SMTP)) · sends to others: Send an email through the user’s own mailbox (Zoho, Outlook or SMTP) via EmailJS. Body is Markdown. - **Send to webhook** (Webhook (Zapier, Make, n8n…)) · sends to others: POST a JSON payload to the user’s automation webhook (Zapier, Make, n8n, Pipedream), which can forward it to any app. - **Post to Slack** (Slack) · sends to others: Post a message to the user’s Slack channel. - **Post to Discord** (Discord) · sends to others: Post a message to the user’s Discord channel. Long text is attached as a Markdown file. - **Send a Telegram message** (Telegram) · sends to others: Send a Telegram message to the user’s chat through their bot. Long text is sent as a file. - **Create a Linear issue** (Linear): Create an issue in the user’s Linear team. - **Deploy to Vercel** (Vercel) · sends to others: Deploy files (a static site or a framework project) to Vercel production and return the live URL. Plain text is published as a single styled page. - **Create an Asana task** (Asana): Create a task in an Asana project, with notes and an optional due date (YYYY-MM-DD). - **Create a Todoist task** (Todoist): Add a task to Todoist, with an optional description, natural-language due date ("tomorrow 9am") and priority 1-4. - **Create a Trello card** (Trello): Add a card to a Trello list, with a description and an optional due date. - **Add an Airtable record** (Airtable): Create a record in an Airtable table. Fields is a JSON object of column name to value, matching the table exactly. - **Create a GitLab issue** (GitLab): Open an issue on a GitLab project, with a Markdown description and optional labels. - **Run a GitLab pipeline** (GitLab) · sends to others: Start a CI/CD pipeline on a branch, optionally passing variables as a JSON object. - **Deploy to Netlify** (Netlify) · sends to others: Deploy files as a static site on Netlify and return the live URL. Plain text is published as a single page. - **Read a Figma file** (Figma): Fetch the page and frame names of a Figma file, so a model can talk about the design by name. - **Comment on a Figma file** (Figma) · sends to others: Leave a comment on a Figma file, for design review notes. - **List Sentry issues** (Sentry): Fetch the most recent unresolved issues for the project, with counts, so a model can triage them. - **Save a file to Dropbox** (Dropbox): Write text to a file in Dropbox, creating or overwriting it. Services that do not accept browser requests (Zoho Mail's API, Notion's REST API, Resend, SendGrid, Airtable forms and more) are reached through EmailJS for mail or a webhook into Make, Zapier, n8n or Pipedream. ## Studio: images, video, music, speech Through the OpenRouter key: 50+ image models (Gemini 3 Pro Image, GPT Image 2, Seedream, Qwen Image, Recraft vector, Grok Imagine), video models (Veo 3.1, Sora 2 Pro, Kling 3, Runway Gen-4.5, Hailuo, Seedance, Wan, FLUX video edit and upscale), Google Lyria music, and text-to-speech voices (MAI-Voice-2, MiniMax Speech, Grok Voice, Gemini TTS, Deepgram, Kokoro and more). Reference images enable edits, image-to-image and image-to-video. Files are stored in the browser's IndexedDB. ## Superbrain export Runs and chats export as a Superbrain vault: a zip with README.md (index with [[wiki links]]), one note per step with YAML frontmatter tags, Final output, Brief, Sources, Memory, and an assets folder of images and video. Import it at https://superbrain.lowkey.tools/. ## Wires - **Input**: the original brief typed when the circuit runs. - **Output**: the final answer of the previous step. - **Context**: every earlier step in full, labelled with the stage and model that wrote it. - **Memory**: short notes any step saved with tags, shared across the whole run. - **Media**: images from the previous step, shown to a vision model so it can critique or describe them. - A stage can also remember its own earlier rounds, or start fresh each time a loop brings it back. ## Stop-loss A stop-loss is a token limit for a chat request, a stage or a whole circuit, input included. FuseLLM refuses a request whose input alone would not fit, caps max_tokens to what is left, watches tokens as they stream, and aborts when the limit is crossed. With "Squeeze to fit", a circuit sheds full context, trims earlier outputs and drops to fast mode before giving up. Hidden reasoning is billed by providers, so the limit is close but not guaranteed to the token. ## Security - No backend, no analytics inside the app, no cookies. - Strict Content Security Policy: scripts only from the app's own origin; remote images blocked so model output cannot leak data through image URLs. - Model output is rendered as Markdown with raw HTML disabled. - Links written by models open with rel="noopener noreferrer nofollow ugc".