Pi
unlistedby Yejun Su
Run the Pi coding agent in a sidebar pane, inside your vault.
obsidian-pi-plugin
A Pi-powered reading companion in the Obsidian sidebar.

Commands
| Command | Default key | What it does |
|---|---|---|
| Pi: Toggle focus | Cmd+Shift+/ | Moves the keyboard to Pi, or back to your note if you are already in Pi |
| Pi: Add the note you are reading to thread | Cmd+Shift+> | Describes the note you are in and puts that description into Pi's editor. Inserted, never submitted — add your question and press enter yourself. |
Install
macOS only, Obsidian 1.13.7 or newer. Built and used on Apple Silicon; the Intel binaries are shipped but untested.
-
Download the zip from the latest release.
-
Unzip it into your vault's
.obsidian/plugins/, so the plugin lands at<Vault>/.obsidian/plugins/obsidian-pi-plugin/. -
Clear the quarantine flag your browser attached to the download:
xattr -dr com.apple.quarantine "<Vault>/.obsidian/plugins/obsidian-pi-plugin"Harmless if there is none, and it saves a puzzling
Could not load node-ptyshould macOS decide to enforce it against the unsigned addon. -
In Obsidian: Settings → Community plugins, turn them on if they are off, then enable Pi.
-
In Settings → Community plugins → Pi, fill in Extra PATH directories, so the plugin can find
piandnode, and the DeepSeek API key. The first is normally required, the second always is.
Obsidian's own community-plugin installer could not deliver this plugin: it
fetches main.js, manifest.json, and styles.css and nothing else, and this
plugin also needs node_modules/node-pty in its folder. Hence the zip.
Configuration
Settings → Community plugins → Pi:
- Extra PATH directories — where to look for
piandnode. Obsidian launched from the Finder inherits a barePATHthat usually reaches neither, so this is normally required. One per line or colon-separated; absolute paths only. To find yours, runcommand -v nodeandnpm prefix -gin a terminal — the answers are the directory holding node, and npm's prefix with/bin. A pane that cannot findpisays so and names this setting. - DeepSeek API key — required. A pane opened without one says so and waits.
- Model —
deepseek-flash(default) ordeepseek-v4-pro. Applies to sessions started from then on; both can be cycled inside a running session.
Vault skills
Put vault-specific skills in <Vault>/.pi/skills. The plugin loads that directory
explicitly when it exists, while continuing to disable Pi's automatic skill
discovery, so global, user, and other project skill locations are ignored. If the
directory does not exist, it is simply omitted and Pi starts without a missing-path
diagnostic.
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.