jlueschow47 downloadsChat with Infomaniak Euria (Swiss cloud AI) in a sidebar, with a vault agent that reads, searches and writes your notes.
Chat with Infomaniak Euria (Swiss cloud AI, GDPR-compliant) in an Obsidian sidebar, and optionally let the model read, search and write your notes.
Looking for a self-hosted model (Ollama, vLLM, LM Studio, a university server)? Use the sibling plugin Self-hosted LLM Vault Agent (repo). Both plugins share the same core; Euridian used to include those backends up to version 0.3.
The plugin can give the AI model function-calling tools that act on your vault: list notes, read notes, search, create notes, append to notes, and overwrite a note's entire content. This means the model can modify your files.
/summarize, /translate, …)
with placeholders {{input}}, {{selection}}, {{note}}, {{title}}Language: the interface is in English and follows Obsidian's language setting; a German translation is included. Built-in prompt templates and prompts to the model are localized the same way.
With Vault agent enabled (default) and a model that supports function calling, just ask naturally:
"Summarize the note 'Project X'" "Search my vault for notes about network routing" "Append today's meeting notes to my daily note" "What does the PDF in my attachments folder say about warranty terms?"
Each tool call appears as a chip in the chat. Extracted document text is capped at 40k characters per file; scanned PDFs without a text layer return no text. Not every model supports function calling reliably; very small models (≲1B parameters) tend to hallucinate results instead of calling tools.
Adds a search_web tool. It is off by default, independent of the vault agent, and
always runs locally through your own internet connection — so it also works
when your model runs on a server without internet access. Enable it in Settings
→ Enable web search and pick a provider:
Point the plugin at a short markdown file (Settings → instructions file, default
Euria.md in the vault root) describing your vault's structure and conventions.
Keep it short and specific: large general-purpose instruction files written for
another assistant can overwhelm smaller models so that they stop calling tools.
Euridian: open chat, or use the ribbon icon.Euridian is desktop-only and talks to these services only when you use it:
| Service | Purpose | Data sent |
|---|---|---|
api.infomaniak.com |
Chat requests, model list | Your messages, attached files/images, and any note content you ask about or the agent reads |
infomaniak.com (tariff page) |
Fetch model prices for the settings screen | Nothing beyond a normal page request |
html.duckduckgo.com (only if web search is enabled with DuckDuckGo) |
Web search | The search queries the model issues |
api.search.brave.com (only if web search is enabled with Brave) |
Web search | The search queries the model issues |
No telemetry. The API key is stored in plain text in Obsidian's data.json
(standard Obsidian behavior). Anything you ask about is sent to Infomaniak —
anonymize confidential or personal data before asking, not after.
The plugin bundles these libraries (their licenses apply):
| Library | Purpose | License |
|---|---|---|
pdf.js (pdfjs-dist) |
Read PDF files | Apache-2.0 |
| fflate | Unzip DOCX and PPTX files (text is then read with the browser's XML parser) | MIT |
The bundled main.js is minified but not obfuscated; the full source is in this repository. pdf.js contains a one-time feature check (new Function("")) that the plugin does not use for anything else; the plugin itself runs no dynamically generated code.
git clone https://github.com/jlueschow/obsidian-euridian-plugin
cd obsidian-euridian-plugin
npm install
export EURIDIAN_PLUGIN_DIR="/path/to/YourVault/.obsidian/plugins/euridian"
npm run dev # watch, rebuild and deploy on every change
npm run build # production build (dist/main.js)
npm run build:deploy # production build + copy into your vault
src/core is shared with the sibling plugin and is the source of truth here;
src/variant holds what is specific to Euridian (Infomaniak provider, price
catalog, branding). Sibling repos sync the core with scripts/sync-core.mjs.
MIT — see LICENSE.