Christian Lempa65 downloadsChat with Pi using context from your notes, links, backlinks, tags, and search results.
Chat with Pi in Obsidian using context from your current note, links, backlinks, tags, explicit search results, and selected text.
Thanks to Mario Zechner, the developer of Pi, for building the agent this plugin runs on top of.
Pi Agent is desktop-only and requires the Pi coding agent to be installed separately. The upstream Pi coding agent package is @earendil-works/pi-coding-agent, from earendil-works/pi-mono:
npm install -g @earendil-works/pi-coding-agent
pi --version
If Obsidian cannot find pi, restart Obsidian after installation so it picks up your updated PATH.
First run checklist:
Tool modes, briefly:
Privacy reminder: prompts, selected text, note content, search excerpts, attachments, and local chat history can be sent to the Pi CLI and then to your configured model provider.
/ autocomplete for Obsidian context commands and /skill:name commands.Tool modes control which Pi CLI tools are enabled. They are not an operating-system sandbox.
Pi Agent can send note content and selected text to the local Pi CLI, which may forward prompts to configured model providers. See PRIVACY.md for details before publishing or using the plugin with sensitive vaults.
Short version:
.pi/ and .agents/ folders, plus any absolute or vault-relative skill folders you configure.After approval, install from Obsidian's Community Plugins browser.
Download the latest release and copy these files into:
<vault>/.obsidian/plugins/pi-agent/
Required files:
main.js
manifest.json
styles.css
Then enable Pi Agent in Obsidian settings.
Use a dedicated test vault. Do not develop or test plugin changes in your main vault.
npm ci
npm run build
npm run build:check
npm run ci
npm run dev:install -- /path/to/vault/.obsidian/plugins/pi-agent
Then reload Obsidian, or disable and re-enable the plugin.
See docs/development.md and docs/architecture.md.
main.manifest.json, package.json, and versions.json; promote CHANGELOG.md Unreleased entries into the new version section.npm run ci
main.main, for example:git tag 0.0.1
git push origin 0.0.1
The release workflow uses the current CHANGELOG.md entry as release notes, publishes the Obsidian-supported assets, and generates artifact attestations:
main.jsmanifest.jsonstyles.css