Chat with AI, ask your vault with RAG and let an agent edit your notes, built mobile-first. Works with OpenAI GPT, Claude, Gemini, OpenRouter, NVIDIA NIM or local Ollama. Bring your own API key.
English · Português (Brasil)
Chat, ask your vault, and let an agent edit your notes, on your phone as well as your desktop.
Six providers, your own API keys, every conversation saved as Markdown.

Install · Quick start · Privacy · FAQ · Discussions
[[links]].main.js is about 440 KB, smaller than each of the 12 most-downloaded AI plugins (0.56 to 14.6 MB, median about 3.8 MB, measured October 2026).
Requires Obsidian 1.11.4 or newer, on desktop or mobile, and either an API key for one provider or a local Ollama server.
Test builds are published as GitHub pre-releases. Install BRAT, add axxalab/axxa-agent, and BRAT keeps you on the latest beta. Betas can break; the community directory always serves the stable release.
main.js, manifest.json and styles.css from the latest release.<vault>/.obsidian/plugins/axxa-agent/.http://localhost:11434).Free ways to start: Google Gemini's free tier, OpenRouter's free models, or a local model through Ollama, which needs no key and no account. The first message locks the provider, model and mode for that conversation.
| Mode | What it does |
|---|---|
| Chat | A conversation with the model you pick: streaming answers, Markdown, code blocks with copy buttons. No vault access unless you turn it on. |
| Vault Q&A | Answers grounded in your notes. Search finds the relevant passages and the answer cites them. |
| Agent | The model uses tools on your vault: search, list, read, create, edit, move and delete notes and folders, with confirmations. |
text-embedding-3-small/large, ada-002), Gemini (gemini-embedding-001, text-embedding-004), NVIDIA NIM (nv-embedqa-e5-v5, llama-3.2-nv-embedqa-1b-v2) and OpenRouter's free Nemotron VL.All providers use your own key. You only need one.
| Provider | Type | Free option | Get a key |
|---|---|---|---|
| OpenAI | Cloud | No | platform.openai.com/api-keys |
| Anthropic (Claude) | Cloud | No | console.anthropic.com |
| Google Gemini | Cloud | Free tier | aistudio.google.com/apikey |
| OpenRouter | Cloud, many models | Free models | openrouter.ai/keys |
| NVIDIA NIM | Cloud | Free credits | build.nvidia.com |
| Ollama | Local, no key | Free | ollama.com, then set the server address in Settings |
Model lists come live from each provider. Badges show what each model can do (vision, tools, free tier, image or audio generation), and a banner warns you when a model can't do what the current mode needs.
The agent uses eight tools: vault_search, vault_list, vault_read, vault_create, vault_edit, vault_move, vault_delete and vault_create_folder. Three permission levels decide what it can do without asking:
File paths are sandboxed to your vault, and the confirmation shows exactly what will change.
secretStorage), never in data.json, so they don't travel through Sync or backups.When you use a third-party provider, its own terms and privacy policy apply.
Per Obsidian's developer policies, in plain terms:
Network use. Requests go only to the AI providers you configure (OpenAI, Anthropic, Google Gemini, OpenRouter, NVIDIA NIM, ElevenLabs for optional read-aloud voices, and your own Ollama endpoint) and to any web page you ask it to fetch with + › Link. What each one receives:
There is no telemetry and nothing is sent to us. Answers are rendered as Markdown, so an image link inside an answer is loaded from wherever it points.
Accounts and payment. The plugin is free, but it needs your own key for at least one provider (Ollama, running locally, needs none). Most providers bill API usage per token; some offer free models or quotas.
Vault enumeration. The plugin reads your vault's file list (Obsidian's getMarkdownFiles / getFiles) to build the Vault Q&A index, for the keyword half of vault search (Vault Q&A, Agent context and the agent's vault_search), for the note picker (+ › Notes, [[ mentions and project sources) and, only if you turn on Let it see your note names (off by default), so the creation assistant can suggest notes for a project. The list itself stays on your device, with three exceptions: in that last case the paths of up to 300 recent notes (never their content) go to the assistant's model; in Agent mode the vault_list tool sends the names of the files in a folder (the vault root included) to the chat model, without asking; and vault_search sends the paths and excerpts of the notes it finds.
Automatic context. In Vault Q&A and Agent conversations, a per-chat vault switch starts on: excerpts of the notes that match your message are sent with it to the chat provider. In Chat it starts off.
Files read and written. Chats and the Vault Q&A index are saved inside your vault, in the hidden .axxa/ folder by default. When you ask for them, exports go to axxa-ai/exports/, usage reports to axxa-ai/reports/ and skills to axxa-ai/skills/. In Agent mode the model can read any text file in your vault and create, edit, move and delete notes and folders through its tools. Changes ask for confirmation according to the permission level you set (and Approve all in that dialog stops asking for reversible changes until the session ends), but deletes always ask.
fetch, and the one Node API it touchesObsidian recommends its own requestUrl for network requests, and AXXA uses it everywhere it can. But requestUrl returns the whole response at once and cannot stream, and streaming is what makes an answer appear as it is written (and what lets Stop actually stop the model). So chat replies from OpenAI, Anthropic, Gemini, OpenRouter and Ollama stream through the browser's fetch, in a single helper (fetchStream in src/providers/_shared.ts). That helper calls it as window.fetch, the very same function as fetch (the bare name is just a shortcut to it). Obsidian's review linter only checks the bare name, so it no longer flags this call; we would rather say so here than let the review read as "no fetch". If streaming can't connect (for example, blocked by CORS on mobile), the plugin falls back to requestUrl and shows the answer in one piece.
The NVIDIA NIM provider asks Electron for Node's https to stream on desktop (nim.ts). It is gated behind Platform.isMobile, wrapped in try/catch, checked for shape, and falls back to requestUrl; on mobile that branch is never reached.
Yes. Every feature in the plugin today is free, with no tier, no account and no license key, and it stays that way. If paid options appear later, they will be new things built on top, never a lock on something that already worked. You pay your AI provider directly; the plugin takes no cut.
Yes. Chat, Vault Q&A and the agent with its confirmations all run in the Obsidian mobile app. Cloud providers work anywhere; Ollama runs on a computer, so using it from a phone needs an Ollama server the phone can reach.
Only what goes to the provider you chose: your messages, what you attach, and the note excerpts that Vault Q&A and the agent use. Nothing goes to us. The full list is under Disclosures.
Gemini's free tier, OpenRouter's free models (marked in the model picker), NVIDIA NIM's free credits, and any local model through Ollama.
Yes. AXXA runs in its own panel, its styles are scoped to that panel, and it doesn't depend on or replace other plugins.
Use the bug report form. Your platform, Obsidian version and the steps to reproduce make it much faster to fix. Questions go to Discussions.
Ideas and votes live in Discussions › Ideas.
.md files, so share yours in Discussions.GPL-3.0-or-later, see LICENSE. Use it for anything, including at work, and fork it freely; if you distribute a modified version, ship its source under the same terms. The provider logos come from lobe-icons (MIT) and are credited in NOTICE.md.
© 2026 AXXA Lab™.