Johannes Kaindl1k downloadsAgentic vault companion: chat with an assistant that searches and reads your notes, writes only with your approval, and learns through a transparent memory note.
🇬🇧 English · 🇩🇪 Deutsch
A companion in your Obsidian vault: a chat sidebar that searches, reads and writes your notes, and asks before it touches anything of yours.
Koda runs against an OpenAI-compatible model you choose, typically one on your own machine (LM Studio, Ollama), so your notes do not have to leave it. Everything that steers Koda — its instructions, its memory, its skills — is a Markdown note you can read and edit.

read_image opens an image from your vault: a model that sees images gets the picture, any other model gets the text recognised by Image to Markdown. generate_image asks Local Image Generator for a picture and shows it in the chat, after your approval outside the Koda folder.Koda/Memory.md. Skills are Markdown notes with standing instructions; Koda can write them for you, with confirmation. A skill with pinned: true in its frontmatter (for example your start routine) is always loaded in full; all others Koda sees by name and description and reads with load_skill when a task matches.

lms server start --cors; Ollama: OLLAMA_ORIGINS). The connection test passes without it, the chat does not; Koda names this case when it happens.related_notes tool.generate_image tool.With AnySource Sideloader, add https://github.com/johannes-kaindl/koda-agent as a source and install Koda from there. Updates then arrive like any other plugin update.
Download main.js, manifest.json and styles.css from the latest release into <your vault>/.obsidian/plugins/koda-agent/, then enable Koda under Settings → Community plugins. Each release also ships checksums.sha256 (shasum -a 256 -c checksums.sha256).
http://127.0.0.1:1234) shows a green check mark, and pick the model in the endpoint row (Fetch models).The Getting started guide walks through this in detail.
Everything is under Settings → Koda: endpoints (each with its model), the Koda folder (default Koda), how many tool calls one answer may take, compaction, the working context and model control. The settings reference lists every setting with its default and range.
![]()
Click the preview for the full-size settings page.
A question starts an agent loop: the model answers or calls a tool, Koda runs the tool against the vault and hands the result back, up to a limit you set. Writes go through a single rule — free in the Koda folder, a dialog everywhere else — that no tool can bypass. The system prompt is rebuilt for each conversation from Koda's rules, your memory note and your skills. More in How Koda works.
The canonical repository is git.jkaindl.de/jkaindl/koda-agent; GitHub is its mirror. Issues are welcome on GitHub. Development notes (commands, structure, the smoke checklist) are in CLAUDE.md in the repository.
AGPL-3.0-or-later — © 2026 Johannes Kaindl.