Plugin: Local-Sidekick - local LLM agent IDE-style sidebar chat with Ollama and Pi agent harness

Plugin/Theme Disclaimer

Is this project open source? Yes
Is this project completely free? Yes
Is this project vibe-coded beyond the author’s ability to comprehend how it works? Yes
Community Directory: Local Sidekick


GitHub Repo: obsidian-sidekick

Hey all, sharing a plugin I vibe-coded largely to meet personal needs for my offline travelling and LLM addiction. The idea is, coding IDE agent chat sidebars are great so why not have them in Obsidian, and better yet for local LLM agents for entirely offline Obsidian musings. So here it is, Local Sidekick

Local Sidekick

NOTE this is a early stage Minimal Viable Product (MVP). It’s essentially just a UI sidebar which neatly adopts standard Obsidian Markdown rendering and the user theme whilst displaying an agent chat just like VScode/copilot agent sidebar chats. It has recent chat sessions, vault file searching and referencing with @ symbol, minimal tool usage (restricted by default for safety but can be customised), pdf parsing, web search, chat export and reviewed file editing etc. In other words, most of what you’d expect from your equivalent coding agent IDE. It’s all wired through Ollama and the Pi agent harness for maximum customisability so you can max it with custom prompts and skills via Pi as much as you want.

Please crack at it, break it, criticise it and tell me what you think. If you have any feature requests / ideas, or are interested enough to review my mostly vibe-coded js code then holla! Meanwhile, I’ll keep updating it gradually and reporting back here.

Local Sidekick seamlessly uses your Obsidian theme for its UI, supporting dark and light mode. It can be launched from the command palette or from the small AI agent icon on the left toolbar. Doing so will open the interactive dashboard as a tab in the right hand sidebar. An agent status panel at the top of the sidebar gives real time information on the local models being used alongside interactive buttons to find local models. Below a new chat can be started from an interactive prompt box with model selection or a recent chat from session history continued.

Features

  • Local model workflow through Pi and Ollama.
  • Persistent chat sessions with a history landing page.
  • Compact model rail with discovered Pi/Ollama models and capability badges.
  • Markdown and math rendering through Obsidian’s renderer.
  • Vault file mentions with @, including Markdown, text-like files, attachments, and best-effort PDF text extraction.
  • Prompt context helpers:
    • @search(query) for local vault search.
    • @semantic(query) for lightweight related-note search.
    • @vault-index for filenames and top headings.
    • @links or @links(query) for conservative internal link suggestions.
    • @cmd(command) for exact allowlisted local commands.
    • @url(url) for optional HTTPS web fetch context from explicitly allowlisted hosts.
  • Reviewed Markdown edit proposals with visible diffs and approval before write.
  • Chat export to Markdown, defaulting to a Chats/ folder in the vault.
  • Obsidian command palette actions for opening the sidebar, exporting chats, checking Pi/Ollama, and suggesting internal links.

Chat session agent reply streams are rendered in markdown with your Obsidian theme, handling math and standard formatting. For a full Obsidian IDE experience, use the terminal plugin alongside this so you never have to leave Obsidian.

Please fix the link to the Community Directory in the Disclaimer section. It points nowhere.

If you can’t, I can take care of it. Thanks!

Sorry I can’t edit it (or include the link in this reply)

Mark is as inline code or in a code block

```
[forum](https://forum.obsidian.md)
```

and I’ll take care of it.

edit: this one here, yeah? https://community.obsidian.md/plugins/local-sidekick

that’s the one, thank you!

The link in the disclaimer is updated and looks good to go.

1 Like

thanks!

NEW RELEASE v0.1.8

This new update focuses on the advantages of a local-first approach to agentic Obsidian. The idea is to keep bringing in features that maximise productivity by vault file - agent communication.

This release introduces the following features:

  • Vault-native agent profiles using .agent.md files.
    You can now define reusable agents inside your vault, for example research tutors, writing editors, code reviewers, vault linkers, or glossary curators.

  • Agent profiles can include vault memory files, such as:

    • Sidekick/Memory/vault-summary.md
    • Sidekick/Memory/user-preferences.md
    • Sidekick/Memory/project-index.md
    • Sidekick/Memory/glossary.md
  • Per-agent model selection.
    Agent files can list one or more preferred local models, and Sidekick lets you choose between them from the UI.

  • Per-agent tool preferences.
    Agents can specify whether Pi tools should be disabled or use the safer read-only mode.

  • /agent selection from chat.
    You can reference or switch Sidekick agent profiles directly while working.

  • Starter Sidekick folder structure.
    Sidekick can generate useful vault-native configuration files under:

    • Sidekick/Agents/
    • Sidekick/Memory/
    • Sidekick/Prompts/
  • Prompt library support.
    Reusable prompt templates like custom system prompts can now live as Markdown files in your vault.

  • Project index generation
    Sidekick can generate a lightweight index of Markdown filenames and top-level headings to help local models reason over the vault more reliably. In other words, it’s now super easy to generate a vault glossary.

  • Pi-compatible resource export.
    Sidekick can export selected prompts and skills into a .pi/ structure, making it easier to bridge vault-native configuration with Pi’s agent harness.

  • Improved tool-use rendering.
    Tool events now appear as expandable Tool used: <tool> cards in the chat stream.

  • Safer session folder handling.
    Sidekick now prepares Pi session folders through Obsidian’s vault adapter rather than direct runtime filesystem access.

In this way and through further updates I’m pushing this plugin to be a bit more powerful than just an agent ACP/MCP and UI sidebar. A lot of this hinges off Pi being such a lightweight agent harness that we can do cool things like custom system prompts from Vault files.