Skip to content

What plugins are

A plugin adds what Yttri lacks: an integration with an external service, a new tool for the AI agent, a background sync. It runs in a sandbox and gets exactly the rights you granted.

  • Read and create your data — notes, tasks, projects, contacts, calendar events; read documents, mail and meetings; search your base.
  • Give the AI agent tools — they enter the agent’s registry and are called in conversation alongside the built-in ones.
  • Run in the background — on a schedule or on demand, through Yttri’s shared task queue with retries and timeouts.
  • Reach the network — only hosts declared in the manifest.
  • Store secrets — in the plugin’s isolated, encrypted namespace.
  • Show its own settings — Yttri generates the form from a manifest schema.
  • A third-party plugin has no UI of its own. No panels, tabs or editor blocks: the js_ts_v1 contract has no host.ui and no host.editor.
  • No direct access to files, the database, the system keychain, processes or internal app APIs — only the typed YttriHost.
  • No external sync for calendar and contacts: writes land in Yttri’s local data, not in CalDAV, Google or Exchange.
  • No delete operations in most domains.

Tell the agent in conversation what is missing: “build me an integration with service X”. It writes the code, checks it, and offers to install it as a card in the chat — with a name, a description and the list of requested rights. No programming needed. See Agent-authored plugins.

The decisions stay with you: installing, granting rights, entering keys and enabling are four separate confirmations, and the agent performs none of them.

A plugin is a folder with a manifest and one ES module; a bundler is optional. See Building a plugin and Manifest and API.

Obsidian, Atlassian and Bank SMS ship with the app. They use a different runtime kind (first_party_ui): they may have their own UI and native background jobs because their code is part of Yttri and passes the same review as the rest of the app. This kind is not available to third parties.

js_ts_v1 first_party_ui
Who writes it any developer, the agent Yttri only
Where it runs a separate sandboxed process inside the app
Own UI no yes
Install file, URL, dev folder, catalog with the app