Sidekick

unlisted

by anwar3606

Multi-provider AI chat assistant with 30 tools, agent presets, user profiling, auto-RAG, and vault integration. Supports OpenAI, OpenRouter, and GitHub Copilot.

3 starsUpdated 18d agoMIT
View on GitHub

Sidekick

AI assistant that lives inside your Obsidian vault

Chat with 33 tools · 8 agent presets · inline autocomplete · 3 providers

Release License Build

Report Bug · Request Feature

Sidekick chat demo


Sidekick is a multi-provider AI chat assistant for Obsidian, primarily inspired by the VS Code GitHub Copilot Chat extension. It brings the same powerful chat + tools + inline autocomplete workflow to your Obsidian vault. It opens as a sidebar panel and can search your vault, read and create notes, generate images, browse the web, and more — all through natural conversation. It works with OpenAI, OpenRouter, and GitHub Copilot (free tier included).

Quick Start

  1. Install the plugin (instructions below)
  2. Add your API key in Settings → Sidekick
  3. Click the chat icon in the sidebar — done

Why Sidekick?

Most AI plugins give you a chatbox and nothing else. Sidekick gives the AI 33 tools to actually interact with your vault — search, read, create, edit, move, and delete notes; browse files and tags; fetch URLs; generate images; and even search Reddit and Jira. Combined with agent presets and inline autocomplete, it's less of a chat plugin and more of a co-pilot for your knowledge base.

Your data stays yours. Sidekick sends messages only to the provider you choose. No telemetry, no analytics, no third-party servers. Conversations are saved as plain markdown files in your vault.

Features

Chat & Conversation

  • Streaming responses with real-time thinking/reasoning display
  • Chat persistence — conversations saved as markdown in your vault
  • Conversation management — multiple chats, pinning, search, export
  • Custom slash commands — define your own /commands with custom system prompts

Tools & Agents

  • 33 built-in tools — the AI decides what to use based on your request
  • 8 agent presets — switch between specialized personas in one click
  • Sub-agents — delegate complex multi-step tasks
  • Tool approval — risky tools (create/delete/fetch) require your confirmation

Tool calling settings

Intelligence

  • User profiling — learns your preferences over time for better responses
  • Auto-RAG — automatically finds relevant notes via embeddings before answering
  • Smart search — BM25 + fuzzy matching + graph boost + recency weighting

Embeddings and vector search

Writing

  • Inline autocomplete — ghost text suggestions as you type (Tab to accept, Escape to dismiss)
  • Diff view — see proposed edits before applying them

Auto-completion settings

Providers

  • OpenAI — GPT-4o, GPT-4.1, o3, o4, DALL-E, and more
  • OpenRouter — 200+ models from Anthropic, Google, Meta, Mistral, DeepSeek, etc.
  • GitHub Copilot — works with your existing Copilot subscription (including free tier)

Provider and model configuration

Screenshots

Provider & Model Settings

Provider and model configuration

Tool Calling

33 built-in tools with individual toggles

Inline Auto-Completion

Auto-completion settings

Embeddings & Vector Search

Embeddings and vector search configuration

Agent Presets

Switch personas instantly for different tasks:

PresetDescription
🤖 DefaultGeneral-purpose assistant
💻 Code ExpertSenior engineer — reviews, optimizes, explains code
✍️ Writing CoachImproves clarity, tone, and structure
🔬 Research AssistantDeep-dives into topics with citations
🎓 Socratic TutorTeaches through questions, not answers
💡 Brainstorm PartnerGenerates and riffs on ideas
📝 Markdown EditorFormats, restructures, and polishes notes
🔧 DebuggerFinds and fixes bugs step by step

Tools

The AI can call these tools autonomously during conversation:

CategoryTools
Vaultsearch_vault · read_note · read_note_section · read_note_outline · create_note · edit_note · move_note · delete_note · open_note
Browselist_files · grep_search · search_by_tag · get_recent_notes · get_open_notes · get_backlinks · get_note_metadata
Webweb_search · fetch_url · search_reddit · read_reddit_post · jira_search · jira_get_issue · jira_create_issue · jira_add_comment · jira_update_issue
Mediagenerate_image · view_image
AIsemantic_search_vault · delegate_to_agent · spawn_parallel_agents
Userask_user · ask_user_choice · remember_user_fact

Slash Commands

CommandDescription
/helpShow command list
/noteAttach active note as context
/selectionAttach selected text as context
/regenRegenerate last response
/iterateToggle iterate mode
/clearClear current chat
/exportExport chat to a markdown note
/newStart a new conversation
/renameRename current conversation
/duplicateDuplicate current conversation
/modelOpen model picker
/settingsOpen plugin settings
/usageShow Copilot usage quota
/pinToggle pin on current conversation
/infoShow current conversation info
/statsShow vault-wide chat statistics
/favoritesShow favorited (thumbs-up) messages
/searchSearch across all conversations
/undoRemove last user message and response
/summaryShow conversation summary (messages, cost, model)
/agentSwitch agent preset
/profileShow learned user profile

Installation

BRAT (Recommended for now)

  1. Install BRAT from Community Plugins
  2. BRAT → Add Beta Plugin → anwar3606/obsidian-sidekick-ai
  3. Enable "Sidekick" in Community Plugins

Manual

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create <your-vault>/.obsidian/plugins/sidekick/
  3. Copy the three files into that folder
  4. Restart Obsidian → Settings → Community plugins → Enable "Sidekick"

Configuration

OpenAI

  1. Get an API key from platform.openai.com
  2. Settings → Sidekick → Provider: OpenAI → paste your key

OpenRouter

  1. Get an API key from openrouter.ai
  2. Settings → Sidekick → Provider: OpenRouter → paste your key
  3. Access to 200+ models including Claude, Gemini, Llama, Mistral, and more

GitHub Copilot

  1. Settings → Sidekick → Provider: GitHub Copilot
  2. Click "Sign in with GitHub" — authenticates via OAuth device flow
  3. Works with any Copilot plan including the free tier

Privacy

  • No telemetry. Sidekick collects nothing.
  • No middleman. Messages go directly from your machine to the provider you chose (OpenAI, OpenRouter, or GitHub).
  • Local storage. Conversations are saved as markdown files in your vault — visible, searchable, and yours.
  • Open source. Every line of code is auditable in this repository.

FAQ

Does it work on mobile?

Yes. The plugin is not desktop-only. However, inline autocomplete (ghost text) is currently desktop-only due to CodeMirror limitations on mobile.

Which provider should I use?
  • GitHub Copilot — easiest to start with (free tier, no credit card). Limited to models GitHub offers.
  • OpenAI — best for GPT models and DALL-E image generation. Pay-as-you-go.
  • OpenRouter — most model variety (200+). Pay-as-you-go with very competitive pricing.
Can I use local/self-hosted models?

If your local server exposes an OpenAI-compatible API (e.g., Ollama, LM Studio, vLLM), you can point OpenAI or OpenRouter provider URLs to it.

Where are conversations stored?

As markdown files in your vault under Sidekick/conversations/ (configurable in settings). They're regular notes — you can search, link, and edit them.

Contributing

Contributions are welcome! The codebase is split into two layers:

  • lib/ — Pure logic with zero Obsidian dependencies (independently testable)
  • src/ — Obsidian UI layer that imports from lib/
# Requires Node.js >= 25 and pnpm
pnpm install
pnpm dev          # watch mode
pnpm build        # production build
pnpm test         # 1,500+ tests

License

MIT

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.