Danny Shmueli41 downloadsLaunch Hermes Agent from your vault. Share highlighted note text with Hermes Agent, then keep writing without switching apps.
Launch Hermes from your vault, send selected note text or cursor context through a local JSON bridge, and keep working while Hermes runs. Hermes Console shows busy state per tab and can notify you when a background Hermes turn finishes, without switching to an external terminal.
Highlight a paragraph in Obsidian, press Enter in Hermes Console, and ask Hermes to rewrite, sharpen, research, or challenge that exact text. Selection in Obsidian becomes context in Hermes.
Already use Hermes? Install the Hermes-side bridge once:
hermes plugins install dannyshmueli/obsidian-hermes-console --enable
Then install Hermes Console from Settings > Community Plugins: search for Hermes Console, install it, enable it, click Download binaries, open the console, and press Enter on your next Hermes prompt. Community Plugins installs the Obsidian plugin only; the command above installs the Hermes plugin that makes selected-note context work. The Hermes-side plugin appears as obsidian-context-bridge; that is expected and no extra Obsidian plugin is needed.
Full install instructions: https://github.com/dannyshmueli/obsidian-hermes-console#installation
Hermes Console is built on a fork of Lean Terminal. We preserve upstream credit and license history, but this README now describes the Hermes Console product, roadmap, and Obsidian-to-Hermes workflow.
Install the Hermes bridge plugin once:
hermes plugins install dannyshmueli/obsidian-hermes-console --enable
In Obsidian, open Settings > Community Plugins.
Search for Hermes Console and click Install.
Enable Hermes Console.
Open Settings > Hermes Console > Download binaries and click Download.
Open Hermes Console from the ribbon icon or command palette.
Highlight text in any note, type a prompt in Hermes Console, and press Enter.
Hermes Console does not install Hermes itself, and Community Plugins does not install Hermes plugins. If hermes is already available in your shell and obsidian-context-bridge is enabled, new console tabs start Hermes automatically and selected-note context is attached on submit.
hermes setup in your normal terminal and confirm hermes starts.hermes plugins install dannyshmueli/obsidian-hermes-console --enable to install the Hermes-side bridge.Hermes Console has three pieces. They are separate on purpose:
Obsidian plugin: Hermes Console
Bridge file: .obsidian/hermes/context.json
Hermes plugin: obsidian-context-bridge
hermes plugins install dannyshmueli/obsidian-hermes-console --enable and loaded by the Hermes process launched inside the terminal.obsidian-context-bridge; that is correct. It is not a second Obsidian plugin.OBSIDIAN_CONTEXT_BRIDGE_PATH or an explicit bridge path.obsidian_context() for large selections, and write busy/idle status for the matching terminal tab.So: this is not two Obsidian plugins. It is one Obsidian plugin plus one Hermes plugin connected by one JSON bridge file.
End-to-end selected-text/cursor behavior requires all three pieces: Obsidian capture, bridge file write, and the obsidian-context-bridge Hermes plugin loading in the integrated Hermes process. Busy/idle tab status uses the same Hermes plugin plus a per-tab status file under .obsidian/hermes/runtime/.
Desktop only. Requires Obsidian 1.7.2+.
$SHELL on macOS/Linuxhermes by default once the shell is ready if the Hermes CLI is installed and in PATH. Restored tabs and resume links do not re-run the startup command[[ in the terminal to pick any vault note and insert as a wiki-link, vault-relative path, or absolute pathOBSIDIAN_CONTEXT_BRIDGE_PATH so the obsidian-context-bridge Hermes plugin can read the right vault bridge fileobsidian_context()Fast path: install Hermes Console from Settings > Community Plugins, then click Settings > Hermes Console > Download binaries. If you want selected-note/cursor context in Hermes, also install the Hermes-side bridge plugin with hermes plugins install dannyshmueli/obsidian-hermes-console --enable.
The plugin needs native node-pty binaries after install. Community Plugins and BRAT users download them from plugin settings. Manual/local development installs them with npm install and copies them into the vault plugin directory with install.mjs.
Hermes Console does not install the Hermes CLI or auto-enable Hermes plugins. Install Hermes separately if you want the default hermes startup command to work. Install obsidian-context-bridge with hermes plugins install dannyshmueli/obsidian-hermes-console --enable if you want selected-note/cursor context to reach Hermes.
Recommended for most users.
node-pty binary for your platformThe upstream community plugin remains available as Lean Terminal.
Use this path only for beta builds before they reach Community Plugins.
If you want selected-note context in Hermes, install the Hermes-side plugin first:
hermes plugins install dannyshmueli/obsidian-hermes-console --enable
Install the BRAT plugin if you don't have it
Open Settings > BRAT > Add Beta Plugin
Enter: dannyshmueli/obsidian-hermes-console
Enable the plugin in Settings > Community Plugins
Go to Settings > Hermes Console > Download binaries and click Download to fetch the native node-pty binary for your platform
Open the console via the ribbon icon or command palette
BRAT installs the Obsidian plugin release assets (main.js, manifest.json, styles.css). It does not run hermes plugins install for you.
npm install to install dependencies, including local node-ptynpm run buildhermes plugins install file://$PWD --enable from the repo root to install the Hermes-side bridge locallynode install.mjs "/path/to/vault" to copy main.js, manifest.json, styles.css, the Hermes bridge plugin files, and node-pty into .obsidian/plugins/hermes-consoleinstall.mjshermes by default when Hermes is available in PATH<vault>/.obsidian/hermes/context.json is updated when you press Enter in a Hermes terminalobsidian-context-bridge plugin enabled and can receive OBSIDIAN_CONTEXT_BRIDGE_PATHIf the console fails to open, check the node-pty native module first:
npm install, npm run build, and node install.mjs "/path/to/vault"If you see "Failed to download binaries" on an ARM64 Windows device (Surface Pro X, Windows Dev Kit, etc.):
node_modules folder: browse to .obsidian/plugins/hermes-console/node_modules/ in your vault and delete itIf the issue persists, check that:
.obsidian folder is not synced to a cloud service (OneDrive, iCloud, Dropbox) that may lock files during syncThe plugin uses xterm.js for terminal rendering and node-pty for native pseudo-terminal support. node-pty spawns a real shell process (PowerShell, bash, etc.) and connects its stdin/stdout to xterm.js via Obsidian's Electron runtime. This gives you a fully interactive terminal - not just command execution.
On Windows, the plugin uses the ConPTY backend (correct UTF-8 and emoji support). A patched windowsConoutConnection.js replaces node-pty's Worker thread with inline socket piping so ConPTY works inside Obsidian's Electron renderer, which does not support Worker thread construction.
See Usage for the full command reference.
See Settings for all configuration options.
See Session Persistence for how tab state is saved and restored.
See Hermes Obsidian Context Bridge for the context handoff and busy/idle status bridge.
See URI Handler for the canonical obsidian://hermes-console protocol reference.
See Security for the security review summary.
See CHANGELOG.md for release history and feature documentation by version.
Use this repo to report bugs, request features, or ask questions.
If you want to support my work, you can use this link to buy me a drink - thank you, I appreciate you.
npm install
npm run dev # Watch mode (auto-rebuild on save)
npm run build # Production build
node install.mjs # Install to default vault (D:\LOS Test)
Hermes Console began as a fork of Lean Terminal, an open-source terminal plugin for Obsidian. Thank you to the Lean Terminal maintainers and contributors for the original terminal foundation.
This project has since diverged into Hermes Console: an Obsidian plugin for Hermes Agent, with its own UI, context bridge, settings, docs, and roadmap.
The following credits refer to contributions made in the upstream Lean Terminal project before or outside this fork:
See this repository's commit history and releases for Hermes Console-specific contributors and changes.