Tools & Permissions

Give Yumii hands — web search out of the box, Gmail and more via Composio — with you approving every action.

Yumii can do things, not just talk: search the web, read your inbox, send email. Every one of those actions flows through the same rule:

Anything that touches the outside world asks you first.

When she decides to use an external tool, a small prompt appears — "Allow Yumii to fetch emails?" — and nothing happens until you click Approve. Deny it and she takes it gracefully, in character, and moves on.

Built in: web search and time

Out of the box she has two tools: the current time (runs freely — it's read-only and local) and web search via DuckDuckGo (gated — it's an external call). No setup needed; ask her to look something up and you'll see the permission prompt in action.

Connecting real apps (Composio)

For real integrations — Gmail today, more toolkits over time — Yumii uses Composio as the connection broker: Composio hosts the OAuth flow and holds the account tokens, your Composio API key lives in your local auth.json, and Yumii talks to your apps through it.

Get a free Composio key

Create an account at app.composio.dev → Settings → API Keys → Create. Copy the key (shown once).

Paste it in Settings

Dashboard → Settings → API Keys Composio API key → Save.

Connect an app

Dashboard → Tools → click Gmail (or type another toolkit slug). Your browser opens a Google sign-in — authenticate, grant the scopes, and give it ~10 seconds to propagate.

Just ask

No restart needed — her new tools load the moment the sign-in completes. Ask: "Check my last three emails." Approve the prompt, and she reads them out loud.

The permission gate, tuned to taste

The confirmation behavior is the HITL_MODE setting (Dashboard → Settings → "Tool confirmations"):

ModeBehavior
external (default)Only tools that touch the outside world ask; read-only local tools run freely
alwaysEvery tool call asks, even the clock
neverNothing asks — she acts autonomously. Use deliberately.

A prompt left unanswered times out and counts as a denial. Interrupting her by voice while a prompt is open also cancels it.

Free-tier budgets (honest section)

Every connected tool has a schema the LLM must read on every turn — roughly a thousand tokens per tool. Free LLM tiers cap request sizes (Groq's free tier caps a single request at 8–12k tokens depending on the model), so Yumii deliberately keeps tool loads lean:

  • Gmail connects with a curated set of tools (fetch, send) rather than the full 20+ toolkit, so conversation still fits the budget.
  • Long tool results (a big inbox fetch) are truncated before entering her context.
  • You can override which tools load per toolkit with the COMPOSIO_TOOLS key in config.json — see Settings Reference.
Connecting many apps on a free tier

Each additional connected toolkit costs context on every turn. On free LLM tiers, two or three connected apps is the practical ceiling before requests stop fitting; a paid provider tier removes the squeeze.

Managing connections

Dashboard → Tools lists connected apps. Disable drops a toolkit's tools immediately (the Composio-side account connection remains — revoke that in your Composio dashboard, or revoke Google's grant at myaccount.google.com → Security → Third-party access).