Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Implicit Macros

eriskiieriskii132 downloads

Inline AI macros: type !!prompt! and have it expand in place via an OpenAI-compatible chat endpoint.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates3

An Obsidian plugin for inline AI macros. Type !!prompt!, the closing ! fires a call to an OpenAI-compatible chat endpoint, and the response streams back in place of the source.

While the call is running, the macro text is replaced with animated braille-dot spinners sized to match the original width. As tokens arrive they replace the spinners; each freshly inserted chunk briefly highlights in the accent color and fades to normal over 1.5 seconds.

Install

Install via Obsidian's Community Plugins browser (search for Implicit Macros), or install from source:

  1. Build the plugin from source (see below) — produces main.js.
  2. Make sure you have manifest.json, main.js, and styles.css.
  3. Copy them to <your vault>/.obsidian/plugins/implicit-macros/.
  4. In Obsidian: Settings → Community plugins → disable Restricted Mode if needed → Refresh under Installed plugins → enable Implicit Macros.

For active development, symlink this repo into your vault's plugin directory and use the Hot Reload plugin so rebuilds pick up automatically.

Build from source

git clone <this repo>
cd implicit-macros
npm install
npm run build      # tsc --noEmit + esbuild → main.js
# or
npm run dev        # esbuild watch mode

External imports (obsidian, every @codemirror/* and @lezer/* module, Node builtins) are not bundled — they resolve to Obsidian's runtime copies.

Setup

After enabling, open Settings → Implicit Macros and configure:

Setting Default Notes
API key (empty) OpenAI-compatible bearer token. Encrypted at rest with a per-device AES-256-GCM key kept in localStorage; the encrypted blob is what lands in data.json. You re-enter on each device.
Base URL https://api.openai.com/v1 Any OpenAI-compatible endpoint.
Model gpt-4o-mini Chat completions model id.
System prompt built-in Sent on every macro call; empty falls back to the default.
Context chars 1500 How many characters of preceding note text to include as grounding.
Open delimiter !! Customize to @!, <<, etc.
Close delimiter ! Same — anything non-empty without newlines.

Usage

The Idiot is a novel by !!one sentence on its central theme!

The closing delimiter fires the call. The macro is single-line and won't fire inside fenced code, indented code, or inline backtick spans.

Data flow and privacy

This plugin sends data to a third-party AI service that you configure. Specifically, when a macro fires:

  • What is sent: the macro prompt itself, plus up to Context chars (default 1500) characters of preceding note text, plus the system prompt. Together these become a single chat-completions request.
  • Where it goes: the OpenAI-compatible endpoint set in Base URL (default https://api.openai.com/v1). You can point this at OpenAI, a local server (Ollama, llama.cpp, LM Studio, etc.), or any other compatible provider.
  • Authentication: your API key is sent as a Bearer token to the configured endpoint and nowhere else. It is encrypted at rest in data.json with a per-device AES-256-GCM key.
  • No telemetry: the plugin does not send anything to the author or to any third party other than the endpoint you configure.

If you set Base URL to a remote provider, that provider will receive the prompt and surrounding note context every time a macro fires — review their data-retention policy before pointing this plugin at sensitive notes.

License

GPL-3.0-only. Forks must remain open-source under the same license — see LICENSE.

HealthExcellent
ReviewSatisfactory
About
Run inline AI macros by typing !!prompt! to call an OpenAI-compatible chat endpoint and stream the response back in place of the macro. Show braille-dot spinners sized to the original text while the call runs, then replace them with arriving tokens that briefly highlight and fade.
AIEditing
Details
Payments
Optional
Current version
1.0.1
Last updated
5 months ago
Created
6 months ago
Updates
3 releases
Downloads
132
Compatible with
Obsidian 1.8.7+
Platforms
Desktop only
License
GPL-3.0
Report bugRequest featureReport plugin
Payments
If you choose to use a paid hosted LLM API (OpenAI, Anthropic, etc), you will need to pay them per token you consume.
Author
eriskiieriskii
eriskii.net
GitHubisolyth
Blueskyisolyth.dev
  1. Community
  2. Plugins
  3. AI
  4. Implicit Macros

Related plugins

Gemini Scribe

Allows you to interact with Gemini and use your notes as context.

AI Agent

Lend your vault to an AI agent. It can read, write, and search your notes.

Copilot

Run AI agents such as Claude Code, Codex, and OpenCode inside your vault. Turn your second brain into a smart assistant that gets knowledge work done.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Thino

Quickly capture memos and display them in the sidebar with a heatmap. (Closed source)

Advanced Tables

Improved table navigation, formatting, and manipulation.