Elton AI
A voice and text assistant right inside your vault. It searches your notes, answers from them, creates and files them — by voice, by typing, or from your phone.
⚡ Quick start — four steps
- Installed the plugin from the Obsidian catalogue: Community plugins → Browse → “Elton AI” → Install → Enable.
- Connected the “brain” — pasted an AI API key (the Elton AI provider, OpenRouter, OpenAI or a local model).
- Connected a Telegram bot — optional, to message the assistant from your phone.
- Switched the Connector on — also optional: then you can reach the vault from the phone app, with no app store and no sync.
That’s it, you can use it. The rest is up to you: indexing for smart search, voice, scenarios.
💰 What it costs
The plugin itself is free and open source. You only pay for the “brain” — the AI model:
- Elton AI — its own provider, from 490 ₽ (≈ 1 credit ≈ 1 ₽), key straight from the Telegram bot;
- your own key for OpenRouter or OpenAI — you pay them directly;
- a local model — free, everything runs on your computer.
Indexing for smart search costs mere pennies.
Not a chatbot — an agent inside your vault.
It understands the ask. Finds the right notes itself. Does the job — and shows the result with links to its sources.
The plugin ships no key of its own: every request goes to your provider. With a local model, nothing leaves at all.
The full demo — two minutes that show it all: voice, vault search, actions on notes.
📺 Video walkthrough on YouTube
Below — the full guide
Everything in order: installation, every setting, scenarios, the Telegram bot, payment and privacy. In a hurry — the Quick start above is enough. Want the detail — follow the contents.
What it is and who it suits
Elton AI is a plugin for Obsidian. A plugin is a small add-on that slots into the program and gives it a new ability.
It lives in the side panel next to your notes. You speak or type — it searches your vault and does what you asked.
Not sure what Obsidian is?
Start with the “Everything about Obsidian” section — the basics are there: notes, links, folders. Come back here once the program is installed.
The plugin is free. You only pay for the “brain” — the AI model that thinks for it. You pick the provider yourself, and there are four options — see the Connection section for details.
It works on desktop and on your phone. The one exception is the Telegram tab: that is set up on a computer only.
How it works — for newcomers
Arrived without a technical background? Expand the block you need 👇. Already know what file-based notes and models are — skip to installation.
📄 Notes are just files on disk
An Obsidian vault is an ordinary folder on your computer, and each note inside is a text file that opens even in Notepad. Not a cloud service, not a database. So the assistant reads the same files you do, it doesn’t “connect to your account” — and that’s where privacy comes from.
🔗 Links and the graph — why notes aren't a junk drawer
[[Double brackets]]turn a word into a link to another note, and those links add up to a graph — a map of your thinking. The assistant follows the links and collects a whole topic, instead of answering from one random file. Add links even when you can’t be bothered — each one tells it these notes belong together.
🧠 Search by meaning, not by words
Ordinary search looks for letters: “productivity” won’t find “efficiency”. Search by meaning turns each note into numbers — an embedding — and compares meaning, not spelling. So “how to stop putting things off” finds “fighting procrastination”. Word search stays too — always on and free.
⚙️ What indexing is (and why it's pennies)
For smart search to work, those numbers have to be calculated once per note — that’s indexing. Done once, then only new and changed notes get added. Cost-wise it’s mere pennies: the text goes to the provider one time and costs literally cents. It’s this one-time send that keeps meaning search off by default.
🤖 What kinds of models there are
The model is the “brain”: it reads your question and writes the answer (the plugin isn’t the model, it talks to one). They differ in smarts, speed and price — usually you get two of three. Smart ones (
claude-sonnet,gpt-5.5) hold complex tasks; fast, cheap ones (claude-haiku,gemini-flash) are great for routine. The plugin can hold two at once: the smart one answers, the fast one searches.
🔊 Why the voices are so different
The voice is a separate “text → sound” program, and there are three — the choice is always a trade-off. The cloud one sounds the most alive, but every phrase goes out and spends tokens. The system one is free and offline, but robotic. Piper is the middle ground: it synthesises right on your CPU, free and sending nothing, and sounds far more human than the system voice.
🔒 What goes out, and what never does
To answer, the assistant sends the provider only the fragments of notes it needs — not the whole vault. Along with them go a folder map and your context note, if set. The contents of your private folders never leave: to the assistant they simply don’t exist. Want zero outbound traffic — take a local model.
⏱️ Why the wait is normal
Between your question and the first character — about a second and a half: in it the assistant works out the request, goes into your vault and reads notes, and only then writes. An ordinary chat only does the last step, which is why it seems faster. Vault size barely matters — author’s measurements: 1.25 s with one note vs 1.36 s with a stack of ~12 thousand characters. The first answer after a pause is always twice as slow — that’s the connection warming up.
Install in three steps
The plugin is in the official Obsidian catalogue
You install it like any other plugin — straight from the app, nothing to download by hand.
In the video — the whole path end to end: Community plugins → Browse → search → Install → Enable:
The add-on catalogue opens in the same place as all the other community plugins in Obsidian.
The first-run wizard
Right after you enable it, the plugin opens the wizard itself — four short screens: introduction, provider, assistant name, permissions.
Going through it is faster than digging into the settings by hand. Whatever you pick there can be changed later anyway.
In the video — all four wizard steps in order:
You can call the wizard back
In the plugin settings there is a “Where to start” (С чего начать) card above every tab with an “Open step-by-step setup” button. That is the shortest path for a newcomer: provider, name, permissions — two minutes.
Besides the icon, the plugin adds commands to the Obsidian palette: “Open panel”, “Start a conversation”, “Open step-by-step setup”, “Run a scenario” and “Ask about the selected text”.
There is also an “Ask the assistant” item in the editor’s context menu whenever you have something selected with the mouse.
The panel: reactor and text
The panel has two views. You switch between them with a button in the header at any moment — the conversation survives. The engine is identical: the same tools, the same permissions, the same search.
In the video — both modes and the button that switches between them:
It is one and the same conversation
Switching doesn’t reset the dialogue: start talking by voice in the reactor, move to text — and read what it just said.
The microphone mode (talk freely, or hold a button) is switched in the panel’s own header, not in the settings — there’s no need to hunt for it among them.
Settings in order — all eight tabs
There are around sixty settings, but they are laid out across eight tabs, and each tab is about one job. The order is:
Connection → Assistant → Voice → Vault → Tasks → Telegram → Connector → Interface (Подключение → Ассистент → Голос → Хранилище → Задания → Telegram → Интерфейс)
Below they are covered in exactly that order, setting by setting: what it is, what it does, what to set it to and why.
Click around right here
This is not a picture. Press the tabs on the left — you’ll see what is actually on each of them.
1. Connection (Подключение)
The first tab. This is where the plugin learns whom to ask for answers. Without it nothing works.
AI provider (Провайдер ИИ)
Where requests go. A dropdown with four entries; Elton AI by default.
| Provider | What you need | Who it suits |
|---|---|---|
| Elton AI | a key from the Telegram bot | Ready immediately: no account of your own, no foreign card, no extra tools |
| OpenRouter | your own key | Hundreds of models, pay as you go |
| Local model | Ollama or LM Studio on your computer | Privacy: nothing leaves the device |
| OpenAI | your own key | Straight to the source |
In the video — the same four providers one after another: what each needs and who it suits:
All four speak the same protocol, so switching providers keeps the rest of your settings.
Switching providers changes the neighbouring fields
With Elton AI the address field disappears entirely. With a local model the key field disappears and a “Cloud for voice” block shows up. The model list pulled from the previous address is reset — that’s normal.
💡 Why people pick Elton AI out of the four
- It works immediately. The bot issues a key in a minute and the models are already chosen and tested — nothing to compare, pick or configure.
- Roubles, no VPN. No foreign account, no overseas card, no VPN at any step.
- One balance for everything. The plugin, the Telegram bot, the phone app and the site all spend the same balance. It is not a subscription: what you spend is what comes off, and the rest does not expire.
- The person who answers is the one who wrote it. The provider and the plugin come from the same author. If something breaks, nobody tells you “that is a question for the plugin developer” — it is the same developer.
- There is a promo code for newcomers. It gives you credits to try it and decide, without putting anything in.
When something else is the honest choice. Already paying for an OpenRouter or OpenAI key — use it, the plugin works with them exactly the same. Need that not a single letter leaves your computer — only a local model, and no provider helps there.
What to set. If you don’t want to open foreign accounts — Elton AI. If it matters that not a single letter leaves your computer — Local model.
API key (API-ключ)
A field hidden behind dots. The key is a long password-string that tells the provider whose request this is and whose account to bill.
The note inside the plugin is honest: the key is stored in this vault’s plugin folder, in plain text, the same as with any Obsidian plugin. It isn’t encryption, it’s just a file.
Don't keep the key in a vault you share publicly
If your vault syncs into a shared repository or a shared folder, the key travels with it. More in the Privacy section.
A local model has no such field: it doesn’t need a key.
Server address (Адрес сервера)
Where exactly to knock. An ordinary text field.
The Elton AI provider has no such field — the address is baked into the service, there’s nothing to change.
The others come with a default filled in: OpenRouter https://openrouter.ai/api/v1, OpenAI https://api.openai.com/v1, local model http://localhost:11434/v1.
For a local model
Ollama’s default address is
http://localhost:11434/v1, LM Studio’s ishttp://localhost:1234/v1. If you haven’t changed the port, leave it alone.
Model (Модель)
The one that writes the answers and calls the tools. A dropdown plus a refresh button.
The model must support tool calling
“Tool calling” is the model’s ability not just to talk but to press buttons: search, read, create notes. Without it the assistant can only chat, and won’t see your vault at all.
In the video — you can tell straight away: a model without tools reasons, a model with tools goes into the vault:
Every model in the catalogue below can do it. You only need to check by hand the ones you typed in yourself via “Other model…” or launched locally.
The catalogue is the same for Elton AI and OpenRouter:
| Model | Label in the list |
|---|---|
anthropic/claude-sonnet-4.6 | smart, best balance |
anthropic/claude-sonnet-4.5 | proven, a bit cheaper |
anthropic/claude-haiku-4.5 | fast and cheap |
openai/gpt-5.5 | smart |
openai/gpt-4.1-mini | fast and cheap |
google/gemini-3.5-flash | fastest |
google/gemini-2.5-pro | large context |
deepseek/deepseek-chat | cheapest |
OpenAI has its own set: gpt-5.5, gpt-4.1, gpt-4.1-mini, gpt-4o-mini.
A local model has no catalogue at all — just an input field and a “refresh” button that asks Ollama itself for the list. The default is qwen2.5:3b.
What to set. Elton AI and OpenRouter default to anthropic/claude-sonnet-4.5 — a good start. Want better — claude-sonnet-4.6. Saving money — claude-haiku-4.5.
Model identifier (Идентификатор модели)
Appears only if you pick “Other model…” from the list — or if there is no catalogue at all.
Write it exactly as the model is named at the provider, for example anthropic/claude-sonnet-4.6.
Fast model for search (Быстрая модель для поиска)
Finding the right notes is a lot of small decisions, and a fast model makes them no worse than a smart one, but roughly three times quicker. The answer itself is still written by the model you chose above.
The default is “Automatic”. That means google/gemini-2.5-flash for Elton AI and OpenRouter, and gpt-4.1-mini for OpenAI.
A local model doesn’t have this setting: you couldn’t run a second model on one graphics card anyway.
What to set. Leave it on “Automatic”. The “Off — one model for everything” option is only for when you want full predictability.
Show what it cost (Показывать стоимость)
A switch, on by default. A quiet line appears under every answer: how much came off your balance and how many tokens were spent.
Leave it on at least for the first week — that’s how you learn what long conversations actually cost you.
Test the connection (Проверить связь)
A button. It sends one short request and honestly reports “Connection works” — or shows the error.
Press it right after pasting the key. It’s faster than guessing why the assistant is silent.
Show the answer as it’s written (Показывать ответ по мере написания)
Hidden under the collapsible “Advanced” heading. On by default.
The answer appears word by word instead of all at once at the end. If the provider can’t do that, the plugin falls back to the normal mode by itself.
Cloud for voice (Облако для голоса)
A separate block that appears only with the “Local model” provider. Off by default.
A local model neither recognises nor synthesises speech — it only handles text. Turn this block on and supply a cloud key: the voice starts working while the text stays local.
Inside there are two fields: the provider (any except a local model) and its API key.
A local model: privacy in exchange for hardware
A local model is a “brain” that runs entirely on your computer. You launch it with a separate program: Ollama or LM Studio.
It needs no key, has no bill, and needs no internet. Not a single letter of your notes leaves the device.
The price is this: it thinks with your graphics card. Hence the limits — answers are slower and the quality is lower than with the big cloud models.
In the video — an honest comparison: what you gain and what you pay with:
Small models are worse at calling tools
The smaller the model, the more often it answers with words instead of acting. If your local assistant “describes what it would do” but doesn’t touch the vault, take a bigger model.
Who it suits. Anyone whose notes hold things that must never go out, and who has a powerful enough machine.
Who it doesn’t. Anyone who just wants to open it and use it: setting up Ollama is an evening’s project of its own.
2. Assistant (Ассистент)
The second tab is about who it thinks it is and how it talks to you. Five fields, all optional.
What should it be called? (Как его будут звать?)
A text field, Assistant by default. It answers to this name and introduces itself with it.
Pick something short and easy to say out loud. You’ll get tired of pronouncing a long name by day three.
How should it address you? (Как обращаться к вам?)
Your name, so it isn’t all impersonal. Leave it empty and you stay anonymous. Empty by default.
Character (Характер)
A dropdown with four entries: Calm and precise (default), Warm and chatty, Short and direct, Custom.
Each preset inserts one ready-made phrase into the system prompt, and that phrase sets the tone of every answer.
Custom character (Свой характер)
A large four-line field. It appears only if “Character” is set to “Custom”.
The text here fully replaces the preset. Write in plain words: “Answer briefly, no preamble, always suggest the next step”.
Answer length (Длина ответа)
A dropdown with three entries: Short (a few paragraphs), Normal (a full explanation, the default), Long (detailed and thorough).
It's a budget, not a cut-off
If an answer doesn’t fit, the remainder is pulled in and stitched on — a sentence never breaks off mid-word. It’s just that long answers spend more tokens, which is money.
Context note (Заметка с контекстом)
A field with a path inside your vault and a “Create this note” button next to it.
This is the note the assistant reads before every answer: your projects, your goals, how you prefer things phrased. One note like this removes half the follow-up questions.
It goes to the provider with EVERY request
The plugin says so in red right above the field. Absolutely do not put passwords, keys, financial or medical data, or information about other people in it.
Don’t confuse it with the “Anything else worth knowing about your system” field — that one lives on the Vault tab and describes how your folders are arranged, not you.
3. Voice (Голос)
The third tab. This is where you decide whether it hears you and whether it talks back.
Voice replies (Ответы голосом)
A switch, on by default. Whether to speak answers out loud or not.
If you turn it off, everything from “Speech engine” downwards disappears from the screen. But the speech language and the hotkey stay: you can talk to the assistant even when it doesn’t talk to you.
The language you speak (Язык, на котором вы говорите)
A dropdown: “Same as interface” (empty, the default), Russian, English.
There’s only one reason to change it: you read the plugin in one language but speak another.
Hold a key and talk (Зажать клавишу и говорить)
A section heading, and under it the Keyboard shortcut. Not set by default.
It works anywhere in Obsidian, from any note. Hold, speak, release — the panel opens itself if it was closed.
The plugin listens for the shortcut directly, so you don’t type it, you press it: the “Set” button, then the keys you want. A bin icon next to it turns it off.
In the video — what it looks like in practice: hold, speak, release:
This is the most useful setting on the tab
And it sits above the speech engine because it works even with voice replies turned off. Take any modifier combination that isn’t already taken.
Speech engine (Движок озвучки)
A dropdown with three entries:
- Cloud voice — the best quality, spends tokens. The default.
- Piper — local, a lifelike voice, synthesises speech right on the CPU. Free.
- System voice — free and offline, but sounds robotic. Has no settings of its own.
Piper server address (Адрес сервера Piper)
Appears only with the Piper engine. http://localhost:5000 by default.
Piper runs as a small local HTTP server. Leave it as is unless you changed the port.
Cloud voice (Облачный голос)
Appears only with the cloud engine. The list of voices depends on your provider — this matters.
For Elton AI, OpenRouter and a local model (via the “Cloud for voice” block) these are available: Puck (default), Charon, Kore, Fenrir, Aoede, Leda, Orus, Zephyr.
OpenAI has a completely different set: alloy, echo, fable, onyx, nova, shimmer.
When you switch providers the plugin repairs an incompatible voice by itself on load — no need to panic.
What to set. Puck. It’s lively and reads Russian well.
Speech speed (Скорость речи)
A slider from 0.6 to 1.6, 1.1 by default. Slightly faster than ordinary speech, so answers don’t drag.
Test the voice (Проверить голос)
A button. Lets you hear the chosen voice without starting a conversation.
Under “Advanced”
| Setting | What it does | Default |
|---|---|---|
| Allow interruptions | Start talking while it’s answering — it goes quiet and starts listening | off |
| Interruption sensitivity | Lower means it yields the floor sooner. Raise it if background noise keeps cutting it off | 8 (scale 3–25) |
| Waiting sound | A quiet signal while the answer is being prepared, so silence doesn’t read as a freeze | on |
| Waiting sound volume | A slider plus a “Play” button | 0.28 |
| Custom waiting sound | A .wav file from your vault. Keep it short: it repeats every few seconds | empty |
Why "allow interruptions" is off by default
While it speaks, the microphone stays open. Through speakers (rather than headphones) it hears itself and goes quiet on the very first phrase. Turn it on if you’re wearing headphones.
Either way, you can always interrupt it by clicking the reactor.
4. Vault (Хранилище)
The fourth tab is the most important. This is where you decide what the assistant may do, where it puts notes, what it knows about them and where it searches.
This is not a list of switches but four square tiles. Each shows a name and “chips” with the current state. Clicking a tile opens a separate window.
The “What it’s allowed to do” window (Что ему можно)
At the top of the window there’s a note worth reading: “A permission that’s switched off is not a request for the assistant to respect it: the tool simply stops existing for it. You can’t talk it into anything.”
The “Notes” section
| Setting | What it does | Default |
|---|---|---|
| Read notes | Search and read. Without it, it can only chat — it won’t see your vault | on |
| Create notes | Make new ones | on |
| Edit notes | Change existing ones. A copy is taken before every edit, so “undo that” always works | on |
| Delete notes | Even when it’s on, every deletion waits for your confirmation from the keyboard | off |
| Confirm every edit | Ask before any write, not just before deletions. Safer, but slower | off |
Want to control everything — switch things on, not off
If handing edits to the assistant makes you nervous, the right move is to turn on “Confirm every edit”, not to turn off “Edit notes”. Then it can do everything but does nothing without your yes.
The “Your screen” section
Manage tabs and windows — on by default. It lets the assistant open notes side by side, open web pages right inside your vault, and close tabs you’re done with. It doesn’t touch its own panel, and closing several tabs still asks for confirmation.
This is the broadest permission of them all
Along with tabs it gives the assistant the ability to run any Obsidian command, including commands from other plugins. Handy — and worth understanding what you’re agreeing to.
If this permission is on while Obsidian’s built-in “Web viewer” plugin is off, the plugin warns you right away: pages will open in your normal browser instead of inside the vault.
The “Private folders” section — covered separately, in the Privacy section. It is the single most important setting on this page.
The “Where it may work” section
A dropdown: The whole vault (default), Only these folders, Everything except these folders. The last two reveal a “Folders” field — one path per line.
This is a narrower question than privacy: which part of the vault it works in day to day. Private folders stay hidden whatever you choose here.
The limit applies to search as well: notes outside the scope won’t even appear in results.
The “Where things live” window (Где что лежит)
The note in the window: “If you leave these empty the assistant guesses — and guessing is precisely why a project note ends up in the root with nothing linking to it.”
| Setting | What it does | Default |
|---|---|---|
| Folder for new notes | Where created notes land if it hasn’t come up with a better place | empty = root |
| Daily notes folder | Lets it answer “what did I do yesterday”. Empty — taken from Obsidian’s daily notes settings | empty |
| Templates folder | Before creating a note it will read a matching template. Empty — it asks the “Templates” plugin or Templater for the folder | empty |
| Template for an ordinary note | The assistant sees this in every request — which is why the note it writes comes out with your properties and headings instead of bare text | ”Decide for itself” |
“Template for an ordinary note” appears only if something was found in the templates folder. At the bottom of the window the plugin lists what it found: “Templates it can create from: N” and their names.
Fill in these three fields and answer quality jumps immediately
A project or a book has its own template and it finds those by itself. But an “ordinary” note, without a hint, it will write its own way.
In the ready-made template all of this is already filled in and wired up.
The “What it knows about the vault” window (Что он знает о хранилище)
Learn the vault’s structure — a switch, on by default. It puts a map of your vault into every request: the folders, what’s in them, which templates exist.
This is exactly what stops it dumping a project note into the root and inventing a shape for it. The map is built from Obsidian’s file list — nothing is asked of the model.
The window shows the map itself, as text — exactly as it goes out with a request. Worth looking at at least once.
Anything else worth knowing about your system — a large five-line field, empty by default.
Look at the map above and add what the folder names don’t reveal. One line like “Projects live in 1. Projects, one note per project, always linked from a MOC” saves a dozen wrong guesses.
If you turn the map off, everything else in the window disappears.
The plugin was written and tested against the System — my ready-made Obsidian vault.
Every feature worked there first, on real notes, before it went into a release. Which is why inside the System the assistant starts out already configured:
- Folders are named the way it looks for them. The vault map reads correctly on the first try — nothing to explain about where projects, books and the inbox live.
- Templates are in place and wired up. A note it creates comes out with your properties and headings rather than as bare text.
- Scenarios and automations are not from scratch. The morning review, the weekly summary, the inbox sweep — all written for this structure.
- Updates and support. Every new version of the plugin is checked against the System first, and questions are answered in a private chat.
The plugin works perfectly well on an empty vault and on your own — the System simply removes the setting-up and the guesswork.
Take a look at the System →The “Search and the web” window (Поиск и интернет)
The “In your notes” section. The note: “Word search always works: the index is built over your vault in a second, costs nothing and needs no key.”
Also search by meaning — a switch, off by default. It finds notes where the same thought is expressed in different words.
Turning it on sends the provider the text of your entire vault
This is the only operation that sends everything out wholesale: every note goes to the provider once, so it can enter the index. The pass costs tokens, which is money.
Details and what to do about it — in the Privacy section.
If you turn it on, a large explanatory block appears, “What indexing is, in plain words”, and under it the index panel: how many notes are in the index, how many are queued, and an “Index new ones: N” button. While it runs, that button becomes “Stop”.
The “Beyond your notes” section
Web search — a switch, on by default. It lets it look online: news, facts, anything that isn’t in your vault. It will still answer from your notes first.
How many results — a slider from 1 to 10, 5 by default. More results mean a fuller answer and a slightly higher price per search.
Not everyone can go online
Both entries are missing if the provider is neither Elton AI nor OpenRouter. Instead the plugin says you need to switch to one of them on the “Connection” tab.
The “Don’t index” section — appears only when search by meaning is on. A large three-line field.
Folders that stay out of the index. The assistant will still open such a note if you ask for it by name — they just don’t travel out in bulk. Private folders are excluded anyway; no need to repeat them here.
Under “Advanced” — also only when search by meaning is on:
- Embedding model —
baai/bge-m3by default. No need to touch it unless you know why. - Index file — already have an index from another script? Point it at the
.jsonand it will be picked up as is, with no re-indexing and no cost. If another program maintains the file, the plugin only appends new notes and rewrites nothing.
5. Tasks (Задания)
The fifth tab. It holds two sub-tabs: “By phrase” (По фразе) and “On a schedule” (По расписанию).
“By phrase” — scenarios
A scenario is a long instruction hidden behind a short phrase. You say the phrase, and the assistant receives the whole instruction instead of the two words you spoke.
How the phrase is recognised:
- a one-word trigger fires only if you said exactly that;
- a trigger of two words or more is also caught inside a longer sentence — “what was I thinking about” catches “hey, what was I thinking about yesterday”;
- everything said around the trigger goes to the assistant as a clarification.
Each scenario is a row with its own emoji, a name, a list of triggers and three buttons: ▶ run now, 🗑 delete, and an on/off switch. Clicking the row opens the edit window.
What’s in the edit window:
| Field | What it is |
|---|---|
| Name | Emoji plus text. That’s what it’s called on the button and in the bot’s menu |
| Trigger phrases | Comma-separated. Say any of them and this scenario runs |
| What it asks for | The instruction itself, ten lines. Write it the way you’d ask out loud, in full |
| Show as a button | It appears under the reactor and in an empty chat — for days when pressing is easier than talking. On |
If the bot is connected, there’s a line right there: “In Telegram this scenario answers to /name”.
Three scenarios create themselves
On first install the plugin already has three of them — enabled and pinned as buttons.
"What was I thinking about"
Retells your daily notes from the last few days as a coherent story. Triggers: thoughts, what was I thinking about, recent thoughts.
"What's on today"
The plan for today plus whatever is left over from yesterday. Triggers: what’s on today, plan for the day.
"Explain this note"
Explains the open note in plain words. Triggers: explain, summarise the note.
If you delete all the scenarios they won’t come back on their own — but you can always add them again from the list below.
Sixteen ready-made presets
The “Add a scenario” button opens the list. The ones you’ve already added are marked ”· already added”.
| Scenario | Triggers | What it does |
|---|---|---|
| ✨ Custom scenario | — | Empty, you write everything yourself |
| 📋 Set up a project | set up a project, new project, start a project | Looks at how your projects are built, reads the template, creates a project like the rest and adds it to the board |
| ✍️ Tidy up this note | tidy up the note, clean this up | Edits the open note: structure, headings, fixes dead links |
| 🧭 What to do next | what to do next, what should I work on | At most three concrete next actions, with reasoning |
| 📚 Bring me up to speed | bring me up to speed, what do I know about | Gathers everything on the named topic into one coherent briefing |
| 💭 What was I thinking about | thoughts, what was I thinking about | Retells your daily notes from the last few days |
| 📅 What’s on today | what’s on today, plan for the day | Today’s plan plus yesterday’s leftovers |
| 🌙 End of day | end of day, wrap up the day | A summary of the day and one question to think about |
| 📊 End of week | end of week, how was my week | A review of seven days and one thing for the next |
| 📥 Sort my inbox | inbox, sort my inbox | Sorts your inbox into “bin it / file it / a real idea”. It moves nothing itself |
| 🧵 Loose ends | loose ends, what didn’t I finish | Finds things started and abandoned |
| 📖 Explain this note | explain, summarise the note | Explains the open note in plain words |
| 🔗 Find connections | find connections, what’s this related to | Finds notes about the same thing said in different words |
| 🎓 Test me | test me, what do I remember | Asks one question at a time and waits for your answer |
| 🕸 Forgotten notes | what have I forgotten, forgotten notes | Notes on the current topic you haven’t touched in a long time |
| ✍️ Draft this up | draft this up, gather material | Gathers material on a topic into a draft, marking the gaps |
"Sort my inbox" — what it looks like
It reads everything that has piled up and sorts it into three piles. It moves nothing itself — the decision is yours.
“On a schedule” — automations
Jobs that write into your vault by themselves at a chosen time. Each one is the assistant answering a saved request.
An automation row shows ⏰ and the name, and under it the time, the days, ✈️ (if it goes to Telegram) and the state: “off”, “already ran today”, “time’s up — will run within a minute”, “waiting”.
What’s in the edit window:
| Field | What it is | Default |
|---|---|---|
| Name | What it’s called in the list | from the preset |
| Time | Hours and minutes | 09:00 |
| Days | Seven buttons, Mon–Sun. Nothing selected means every day | every day |
| Where it writes | Into today’s daily note or into a new note | into the daily |
| Section heading | Under this heading in the daily note. Only when writing to the daily | from the preset |
| Folder | Where the new note lands. Only when writing to a new note | empty |
| Request | What the assistant should do. Same tools as in an ordinary chat | from the preset |
| Show the result in a window | Open the answer in a window when it finishes. Turn it off for things that run while you sleep | on |
| Notify when done | A notification | on |
| Send it to Telegram too | The result arrives in the chat — and is still written into the vault | off |
A new automation is created switched off
You have to enable it with the toggle by hand. This is a common reason for “why did nothing arrive”.
Also: “Send it to Telegram too” is blocked until the bot is connected.
Three ready-made presets:
| Preset | When | Where | What it does |
|---|---|---|---|
| Morning digest | 08:30, every day | into the daily note | A short morning brief from yesterday’s note and the entries of the last 2–3 days |
| Round-up of recent thoughts | 09:00, Monday | into a new note | A coherent retelling of the last few days: thoughts, ideas, tasks, topics |
| Custom automation | 09:00, every day | into the daily note | An empty request, you write everything yourself |
6. Telegram
The sixth tab. It connects your own bot so you can message the assistant from your phone.
This tab doesn't work on a phone
Instead of the settings it says “Set this up on a computer”. And that’s right: the bot is answered by the computer your vault sits on.
At the top of the tab there’s a “Connect a bot” card with a “Set up Telegram” button. It’s a four-step wizard, and it’s simpler than filling the fields in by hand. Full instructions are in a separate section below.
| Setting | What it does | Default |
|---|---|---|
| Reply to messages | The master switch. Works only while Obsidian is open on this computer | off |
| Bot token | The one BotFather gave you. It’s a password: whoever has it can message your bot | empty |
| Linked account | The one and only Telegram account the bot answers | empty |
| Show an animation while it thinks | The picture shows up immediately, and the caption says what it’s busy with: searching, reading, writing | on |
| Custom animation | A link to a .gif or .mp4. Under “Advanced” | empty |
Next to the token are two buttons: “Check the token” and “Send me a test message”. Between them is a live status line — “No token yet”, “Waiting for /start”, “Listening. Linked to your Telegram account”, “Not running — restart the vault”.
Clearing the linked account gives the bot away
If you empty the field, the bot belongs to the next person who sends
/start. Only do this if that person will be you.
What the bot can and can’t do:
- it searches, reads, creates and edits notes exactly like the panel;
- it cannot delete — deletion needs a keypress, and there’s nobody to press anything in a chat;
- voice messages are transcribed by your provider;
/newin the chat wipes the conversation’s memory;- it must be set up on one computer only, otherwise two of them will each answer half the time;
- anything that arrives while Obsidian is closed waits for the vault’s next launch.
7. Connector (Коннектор)
The seventh tab, and the newest: it arrived in version 2.2.0. This is the part of the plugin that answers the app on your phone.
The idea is simple: your vault, from any browser. Open the address on your phone, type a code once, and write into your notes the same way you do in the panel. And the one answering is not a server and not a cloud — it is this computer.
Off by default, and not by accident
The Connector opens your notes to the outside. Until you switch it on, nobody reaches them.
| Setting | What it does |
|---|---|
| Answer from the browser | The main switch. Works only while Obsidian is open on this computer |
| Connection code | The password the phone introduces itself with. Generate and Reset buttons |
| Check the connection | Asks the relay whether it hears this computer, and how many messages wait in the queue |
| Connected devices | The list of phones: name, last seen, whether encryption is in place. A Disconnect button on each |
The tab and the main toggle:
Next you need a code. Press Generate — the plugin makes one up and shows a card with the address app.eltonlabs.org and the code itself. That is everything the phone needs.
The button, the card with the address and code, and the status line:
The code is a key to your notes
Anyone who has it can write to your vault. Do not show it on streams or in screenshots. Reset clears the code and disconnects every phone at once.
The code is needed exactly once
On connecting, the phone swaps the code for a key of its own. After that you can reset the code — the connected phone keeps working, while a new one cannot join without one.
Quick capture — a key for a phone button
A separate key that can do exactly one thing: create a note. No reading, no searching, no editing, no deleting — a message from it is diverted before it ever reaches the assistant.
It exists for one purpose: capturing a thought without opening the app. A button on the lock screen, a small input box, done.
The whole path on video — the section, the button and the key:
This key is its own device
It appears in the connected-devices list as its own row and is disconnected with the same button as a phone. Leaked — revoke it, done.
It sends without end-to-end encryption
Shortcuts and widgets cannot derive a shared secret — that needs a browser. Which is why the key is cut down to a single action: even in the wrong hands it can only dump notes into your inbox, never read your vault.
About the queue. If Obsidian is closed or the computer is off, whatever you send from the phone is not lost — it queues and is handled when you open the vault again. So you can capture things at night with the computer off.
About encryption. Everything is end-to-end encrypted: the phone and the computer exchange public keys through the relay, and each derives the shared secret on its own side, never sending it over the network. The relay carries ciphertext it cannot read. Each device has its own secret — the phone cannot read the tablet’s messages.
About private folders. The permissions are the same. What the assistant cannot see on the computer, it will not see from the phone: there is no separate “mobile access”.
The full app guide is a separate article
This section is only about the plugin tab. How to add the app to your home screen, why signing in from a browser tab is disabled, how payment works and what it can do — in the app guide.
8. Interface (Интерфейс)
The seventh tab. The small things that decide whether it’s pleasant to use day to day.
| Setting | What it does | Default |
|---|---|---|
| How the panel opens | Reactor (voice first) or Text (a conversation you read). Also switchable from the button in the header | Reactor |
| Where the panel opens | The right sidebar, the left sidebar or the main area as a tab | Right |
| Open on startup | Show the panel as soon as Obsidian starts | off |
| Language | Same as Obsidian, Russian, English. It doesn’t affect the language of the answers — it replies in whatever language you addressed it in | Same as Obsidian |
| Show the answer text | Off — the text keeps pace with the speech. On — the whole answer appears at once | off |
| Show what it’s doing | Print every search and edit in the dialogue, so you can see how it got to the answer | on |
| Save conversations | Every conversation becomes a note you can find by search | on |
| Conversations folder | One note per conversation, with the assistant’s name and the time in the title | empty |
Conversations are saved by default
If “Conversations folder” is empty, they go into a folder called “Conversations with the assistant”, created by itself on the first save.
Don’t want any trace — turn off “Save conversations”: then the conversation disappears along with the closed panel.
The interface switches immediately, but windows that are already open stay in the old language until you restart Obsidian.
At the bottom of the tab there’s a footer with the plugin version (2.2.0) and a link to the site.
What it can do in your vault
The list of abilities is built dynamically. A permission switched off isn’t a request, it’s a tool that has vanished: you can’t talk the assistant into using it, because for it the tool doesn’t exist.
If reading is allowed:
- search your notes — by words and by meaning;
- read a whole note;
- show a note on screen;
- list the notes in a folder (you can name the folder loosely);
- list every folder in the vault;
- find notes by name or path pattern (
*budget*,MOC*); - find exact text inside notes, with the line number;
- look at what was written or changed in the last N days — the only way to answer about “the last few days” and “this week”;
- open the daily note for a date — and create today’s with Obsidian’s own command, so your template runs.
If creating is allowed: create a note with content; read a vault template; create a real kanban board with columns and cards.
If editing is allowed: append to a note (optionally under a specific heading); replace an exact piece of text; rewrite a note entirely; create a folder; move or rename a note — links update automatically; undo the last edit with “undo that” or “put it back”.
If deleting is allowed: delete a note — always with confirmation from the keyboard, and the file goes to the system trash.
If tab control is allowed: see what’s open; open a web page inside the vault; close a tab or all of them; open several notes; open a note next to the current one; run any Obsidian command.
If web search is on: search online with links to the sources.
A live example: a kanban board on request
“Make a board for this project” — and it appears as a real board, not as text about a board.
Which Obsidian formats it understands
Inside the plugin there are nine short instructions about formats — “skills”. The assistant is offered only the ones whose plugin is actually installed in your vault.
| Format | About | Plugin needed |
|---|---|---|
| Obsidian notes | Properties, links, callouts, tasks, embeds | — |
| Kanban boards | The exact file format of a board | Kanban |
| Dataview | Live lists and tables across your vault | Dataview |
| Bases | .base — Obsidian’s own database | — |
| Templater | Templates with live values: dates, queries, file names | Templater |
| Excalidraw | Drawings and diagrams as notes | Excalidraw |
| Charts | Bar, line and pie charts inside a note | Obsidian Charts |
| Meta Bind | Buttons, toggles and fields bound to a note’s properties | Meta Bind |
| Mermaid | Diagrams: flowchart, sequence, gantt, mindmap, timeline | — |
The plugin does not support Canvas
.canvasboards are a separate Obsidian format, and the plugin has no built-in knowledge of it. There is no dedicated tool for creating.canvasfiles either. It draws diagrams with Excalidraw and Mermaid.
How to install the missing ones is in the community plugins section. The plugin also finds by itself your daily notes folder, your templates folder and the standard note template — it will only ask you about them if it didn’t find them.
The Telegram bot: full instructions
The bot will be your own. You create it in a minute, and what answers you is not somebody else’s server but your computer with your vault.
Step 1. Create a bot in @BotFather
BotFather is Telegram’s official bot that hands out other bots. It’s free.
bot and be free. For example elton_my_helper_bot.The token is the password to your bot
Whoever has it can message your bot. Don’t forward it to anyone and don’t leave it visible in screenshots.
Step 2. Paste the token into the plugin
Step 3. Send the bot /start
Open your bot in Telegram from the phone you’ll actually be using it from and send /start.
Whoever writes first owns it
The bot binds to the first account that sends it
/start, and from then on answers only that account. To everyone else it stays silent.So you need to be first. If you got it wrong — clear the “Linked account” field on the Telegram tab and send
/startagain.
The status line changes to “Listening. Linked to your Telegram account”. Check it with the “Send me a test message” button.
Now you can type and record voice messages straight from your phone — the assistant works with your vault on the computer.
A note about Telegram connectivity
The plugin warns you about this right on the Telegram tab:
On some carriers the connection to Telegram can be unstable
Messages to the bot may arrive late or not at all.
What that means in practice. Obsidian on your computer has to reach Telegram’s servers itself, to pick up messages and send answers back.
If your carrier’s connection to Telegram is unstable, the bot behaves the same way: messages arrive late or not at all. That’s a property of the network, not of the plugin.
A calm clarification: this concerns the optional Telegram part only. The assistant itself in the Obsidian panel works as usual — the Elton AI provider was built specifically so you need nothing extra.
How to get a key and pay
You only need this if you chose the Elton AI provider. Keys for OpenRouter and OpenAI come from them, and a local model needs no key at all.
The bot hands out the key
The message with the key deletes itself after 2 minutes
It’s safer that way. The key is always available from the “My key” button — you can’t lose it.
The key is issued if you have a subscription or trial access. If the account is empty there’s nothing to pay the models with, so there’s no key.
The key works like a password
Whoever holds it spends your credits. Don’t show it to anyone — not even to the plugin’s author. If it leaks, press ”🔄 New key” and the old one stops working immediately.
The “Gift” promo code — try it free
Send the bot the word gift (trial and the Russian подарок work too) or press the 🎁 Try it free button.
Or type nothing at all: open the bot with the code — it travels with the Start press.
It gives you 200 credits for 3 days, no card required. Once only, and only for people who have never had trial access or a subscription.
Trial credits expire after exactly three days, unlike purchased ones.
Plans
A subscription doesn’t unlock features — it tops your account up with credits, and the assistant’s work is billed against them.
The features are the same on every plan
There are no “better models on the top plan” or “automations from Medium up”. The plugin itself is identical everywhere — plans differ only in the number of credits and the support priority.
| Plan | Credits | Price | Term | Support |
|---|---|---|---|---|
| 🥉 Lite | 490 | 490 ₽ | 30 days | Standard |
| 🥈 Medium | 990 | 990 ₽ | 30 days | Priority |
| 🥇 Maximum | 1990 | 1 990 ₽ | 30 days | Top priority |
One credit is roughly one rouble of top-up. The service is young, and the bot says openly that the plans are still being tuned and may change — the current ones are always in the bot itself.
Payment goes through Telegram’s official service @tribute: you press “Pay”, pay, and come back to the bot. Credits usually land within a few seconds, and the bot writes “Payment received” by itself.
Unspent credits don't expire
Not at the end of the month, and not after you cancel the subscription. The remainder stays and keeps being spent — and you’ll still be issued a key.
How much it spends
A short question — barely anything. Working through a long note, or a spoken answer — more noticeable. The longer the request and the answer, the bigger the charge.
In the video — what credits are and what the price of one answer depends on:
Three things cost the most: long answers, voice, and a conversation that drags on over many messages — the whole previous exchange goes out along with the new question.
New question — start a new conversation
That’s the simplest way not to overpay: a fresh conversation doesn’t drag a tail of old messages with it.
To check what’s left, use the 📊 Status button or the /status command: plan, balance, expiry date. And turn on “Show what it cost” on the Connection tab — then the number sits under every answer.
Bot commands
| Command | What it does |
|---|---|
/start | Registration and the main menu |
/status | Plan, balance, expiry date |
/api_token | Show the current key |
/new_api_token | Issue a new key; the old one stops working at once |
/subscribe | Plans and payment |
/guide | A step-by-step guide, five screens |
/help | The essentials, on one screen |
/language | Switch between Russian and English |
Already have an Obsimind AI key?
The same one works here — paste it into the key field, there’s nothing new to get. The key and the balance are shared, as long as it’s the same Telegram account.
Privacy
The plugin works with your notes, so here’s the honest account of what goes out and what doesn’t.
The basic rule: to answer, the assistant sends the provider fragments of notes needed for the answer. Not the whole vault — only what the question turned up. With a local model nothing goes out at all.
Private folders — the key setting
It lives in the “What it’s allowed to do” window on the Vault tab. A large field: one folder per line, path from the root of the vault. Nested folders are closed off too.
Anything in a private folder doesn't exist for the assistant
It doesn’t read, search, index or send such notes anywhere — even if the note is open on your screen.
Put here: medical records, finances, passwords, information about other people, anything under an NDA.
Below the field the plugin shows how many notes are currently hidden. This setting works before all the others — neither search nor indexing nor the working scope gets around it.
An empty field means nothing is hidden. Spend two minutes on it right after installing.
Search by meaning sends the whole vault
You need to know this before you press the switch.
Honestly, with no softening
Turning on “Also search by meaning” means the text of every note in your vault goes to the provider once, to build the index. This is the only operation that sends everything out wholesale. And it costs money.
That is why it is off by default.
Word search meanwhile always works, free and without a key — the index is built over the vault in a second, locally.
If you do need search by meaning, you have two filters:
- Private folders — excluded completely and automatically;
- “Don’t index” — folders that don’t travel out in bulk. The assistant will still open such a note if you ask for it by name. A good place for an archive and for journals.
What else goes out
| What | When | How to limit it |
|---|---|---|
| The context note | with every request, in full | don’t put anything unnecessary in it |
| The vault map | with every request — folders and names, not the text | turn off “Learn the vault’s structure” |
| Web search queries | when “Web search” is on (it is on by default) | turn the switch off |
| Fragments of found notes | with every answer drawn from the vault | private folders and the working scope |
Keys sit in a file in plain text
The API key and the Telegram bot token are stored in the plugin folder inside your vault, as ordinary text. That’s how all Obsidian plugins work.
If your vault syncs somewhere public
The key travels with it. Don’t keep a working vault with keys in an open repository or a shared folder.
No analytics
Your notes stay in your vault. Only the text needed to answer the question goes to the provider — and with a local model nothing goes out at all.
The source is open
The plugin lives on GitHub in full: github.com/swayinfo/elton-ai.
Everything that runs inside your Obsidian is in src/, and each release’s
main.js is built from it by the repository’s workflow, with build provenance
attested. Read the code, compare it with what you installed, build it yourself.
More on what is open, what is not and why — in Why it is not open source on the app page.
Frequently asked questions
It doesn't find anything in my notes
Check the “Read notes” permission in the “What it’s allowed to do” window. Without it your vault doesn’t exist for it. Then check whether you narrowed the “working scope” and whether the folder ended up in the private list.
It's silent, or complains about the connection
The “Connection” tab → the “Test the connection” button. It will tell you straight away whether it’s the key, the address or the model.
It thinks for a few seconds — is that normal?
Yes. A second and a half to the first character is ordinary, and the first answer after a long pause is about twice as slow because of the warm-up. Why that is — in the “Why the wait is normal” block under How it works.
It talks but doesn't do anything
Most likely the model you chose can’t call tools. Take any one from the catalogue — they all can.
It goes quiet mid-sentence while speaking
Turn off “Allow interruptions” under “Advanced” on the “Voice” tab — through speakers it hears itself. Or put headphones on.
The automation didn't run
A new automation is created switched off. Enable it with the toggle in the list.
The bot isn't answering
Three causes, in order of frequency: Obsidian is closed on the computer; the “Reply to messages” switch is off; your carrier’s connection to Telegram is unstable — more.
It deleted the wrong thing
Say “undo that” or “put it back” — a copy is taken before every edit. Deletion always asks for confirmation from the keyboard anyway, and the file goes to the system trash.
How do I limit it to one folder
The “What it’s allowed to do” window → “Where it may work” → “Only these folders” and a path. This applies to search as well: it simply won’t see the rest.
Get the plugin
Pick a plan, pay, take your key. The plans differ only in the number of credits — 490, 990 or 1990 for 30 days.
Open the bot ↗Elton AI is part of my knowledge system. In the ready-made Obsidian template it’s already set up: folders are defined, templates are in place, and scenarios are wired to the knowledge base, projects and the book reader.
Never worked with Obsidian before — start with the “Everything about Obsidian” section, the basics are there in order.