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.
What a plugin can do today
Section titled “What a plugin can do today”- 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.
What a plugin cannot do
Section titled “What a plugin cannot do”- A third-party plugin has no UI of its own. No panels, tabs or editor
blocks: the
js_ts_v1contract has nohost.uiand nohost.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.
Who builds plugins
Section titled “Who builds plugins”You, through the agent
Section titled “You, through the agent”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 developer, by hand
Section titled “A developer, by hand”A plugin is a folder with a manifest and one ES module; a bundler is optional. See Building a plugin and Manifest and API.
Yttri — bundled plugins
Section titled “Yttri — bundled plugins”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.
Two runtime kinds
Section titled “Two runtime kinds”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 |