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

ChatGPT MD

bramsesbramses129k downloads

A seamless integration of ChatGPT, OpenRouter.ai and local LLMs via Ollama into your notes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates62

Your AI writing companion, living inside Obsidian.

Chat with AI directly in your notes. Reference your other notes with [[wiki links]]. Keep everything in your vault—where it belongs.

Chatting with links about vacation plans


✨ What's New

Provider Reliability (v3.2) — Updated provider integrations, safer tool calling, and more reliable model selection and streaming across cloud and local providers.

Agents (v3.1) — Create AI personas like a writing coach, code reviewer, or brainstorming partner. Apply them to any note instantly.

Tool Calling (v3.0) — Let AI search your vault, read your notes, and browse the web. You approve everything. Your data, your control.


🚀 Get Started in 30 Seconds

  1. Install — Settings → Community Plugins → Browse → Search "ChatGPT MD"
  2. Add API key — Settings → ChatGPT MD → Paste your key (OpenAI, Anthropic, or OpenRouter)
  3. Chat — Press Cmd+P → Type "ChatGPT MD: Chat"

That's it. You're now chatting with AI in your notes.

💡 Set a hotkey and thank me later: Settings → Hotkeys → Search "ChatGPT MD: Chat" → Press Cmd+J


💰 Free & Private AI

Don't want API costs? Don't want your notes leaving your computer?

Ollama and LM Studio run AI locally on your machine. Completely free. Completely private.

Ollama (Recommended)

# Install from ollama.ai, then:
ollama pull llama3.2    # Download a model
ollama list               # See what you have

In your note:

---
model: [email protected]
---

LM Studio

  1. Download from lmstudio.ai
  2. Load a model in the app
  3. Start the Local Server
  4. Use model: lmstudio@your-model

🎯 What You Can Do

Chat About Anything

Write a question, get an answer. Simple.

user:: What makes a good daily note?

assistant:: Great daily notes are:
- **Specific** — "Had coffee with Sarah" not "Met a friend"
- **Actionable** — Include next steps or open questions
- **Connected** — Link to related ideas and people

Reference Your Other Notes

This is where it gets magical. Use [[wiki links]] and AI reads those notes too:

user:: Based on my [[Meeting Notes]] and [[Project Ideas]],
what should I focus on this week?

AI reads your linked notes and gives you a contextual answer. No more copy-pasting context.

Create AI Agents

Make AI personas for different tasks:

# agents/WritingCoach.md
---
model: [email protected]
temperature: 0.8
---
You are a supportive writing coach. Help the user:
- Clarify their ideas with questions
- Suggest improvements without being harsh
- Celebrate their progress

Apply with "Choose Agent" command. Switch between agents instantly.

Let AI Search Your Vault

Enable in Settings → Tool Calling. Then:

user:: What have I written about machine learning?

AI: "I'd like to search your vault." You: Approve ✓ AI: "Found 5 notes. Here's what you've written..." You: Select what to share ✓

You're always in control. AI only sees what you approve.


🔌 AI Providers

Provider Why Use It Cost
OpenAI Reliable, GPT-4 Pay per use
Anthropic Claude, great for long docs Pay per use
Gemini Google's models Pay per use
OpenRouter Access to ALL models Pay per use
Z.AI GLM models Pay per use
Ollama Local, private Free
LM Studio Local, private Free

Model prefix examples:

  • OpenAI: [email protected] (unprefixed OpenAI model IDs also work)
  • Anthropic: anthropic@claude-sonnet-4-20250514
  • Gemini: [email protected]
  • OpenRouter: openrouter@openai/gpt-4.1-mini
  • Local: [email protected] or lmstudio@model-name

OpenAI search-preview models such as openai@gpt-4o-mini-search-preview are supported through OpenAI's chat-completions endpoint.


⚙️ Commands

Command What It Does
Chat The main event. Send message, get AI response
Select Model Switch between models/providers
Choose Agent Apply an AI persona to current note
Create Agent Make a new agent (manual or AI-generated)
Infer Title Auto-generate title from conversation
Clear Chat Start fresh, keep settings
Stop Streaming Cancel a long response

⚙️ Settings

In Your Notes (Frontmatter)

---
model: [email protected] # Which AI to use
temperature: 0.7         # Creativity (0-2)
max_tokens: 4096         # Response length
system_commands:        # Give AI a role
  - You are a helpful assistant
agent: WritingCoach      # Apply an agent by name
---

Global Defaults (Settings → ChatGPT MD)

  • API Keys — One secure Obsidian credential per cloud provider (with legacy text fields on older Obsidian versions)
  • Default Model — Which AI to use by default
  • Folders — Where to save chats, templates, agents
  • Stream Mode — See responses appear word by word

Priority: Note settings beat Agent settings beat Global settings beat default chat frontmatter/provider defaults


❓ Common Questions

Q: How do I actually use this?

A: Open any note. Write something. Press Cmd+P, type "chat", hit Enter. Watch AI respond in your note.

Q: Can I use my existing notes?

A: Yes! Just add a frontmatter block at the top with your settings, then use [[wiki links]] to reference other notes.

Q: Which local model should I use?

A: llama3.2 is great for general use. deepseek-r1:7b for reasoning. Try a few and see what works for you.

Q: Is my data private?

A: With OpenAI/Anthropic, your messages go to their servers. With Ollama/LM Studio, everything stays on your computer. Your choice.

Q: What's an "agent"?

A: A reusable AI persona. Like having different experts on call—writing coach for drafts, code reviewer for programming, researcher for learning.


🔒 Privacy

With cloud providers (OpenAI, Anthropic, etc.):

  • Your messages are sent to their servers
  • They may use messages to improve services (check their policies)

With local AI (Ollama, LM Studio):

  • Everything stays on your computer
  • No internet required
  • Completely private

Credentials:

  • When both Obsidian SecretStorage and its native secret control are available, provider and web-search keys are stored as vault-local Obsidian credentials; plugin data contains only opaque references.
  • Existing plaintext keys migrate automatically on plugin load. Failed migrations retain a usable plaintext key and retry on the next load or settings-tab opening.
  • If a valid secure credential and plaintext copy coexist, settings explains the risk and offers an explicit Delete insecure copy action. The copy is retained if saving fails.
  • Replacing or clearing a selection removes only this plugin's reference. Old credentials remain available for management in Obsidian.
  • Older or partially capable Obsidian versions keep the legacy plaintext controls and behavior. After migrating and then downgrading, re-enter keys because secure references are never sent as credentials.

Always:

  • Chat messages and automatically expanded [[linked notes]] are sent to the selected provider
  • AI tools require approval before execution, and vault/web search results must be selected before sharing
  • Custom web-search endpoints receive your query and any configured bearer credential
  • No tracking from this plugin

See SECURITY.md for vulnerability reporting and the full data model.


🛠️ For Developers

git clone https://github.com/bramses/chatgpt-md.git
cd chatgpt-md
npm install
npm run dev

Project structure:

src/
├── Commands/     # User actions
├── Services/     # AI providers, adapters, tools
├── Views/        # UI, modals
├── Utilities/    # Pure functions (tested)
└── core/         # Dependency injection

Contributions welcome! Fork → Branch → PR.


🧪 Beta Testing

Want the latest features? Use BRAT:

  1. Install BRAT plugin
  2. Add bramses/chatgpt-md as beta plugin
  3. Select "latest version"

Test beta versions in a separate vault.


👋 About

Bram Adams made this. He writes at bramadams.dev and builds Your Commonbase.

Deniz Okcu keeps it running. Say hi on Bluesky.


Happy note-taking! 📝

HealthExcellent
ReviewCaution
About
Chat with ChatGPT, OpenRouter, or local LLMs (Ollama/LM Studio) from any note for drafting, editing, summarizing, and conversation. Create agent personas as Markdown files or auto-generate them with the AI Wizard, and use privacy-first tool calling so the AI asks before accessing your vault or the web.
AIWritingFiles
Details
Current version
3.2.0
Last updated
3 weeks ago
Created
3 years ago
Updates
62 releases
Downloads
129k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Support
Author
bramsesbramses
stenography.dev/
GitHubbramses
  1. Community
  2. Plugins
  3. AI
  4. ChatGPT MD

Related plugins

Claudian

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

Text Generator

Generate text content using GPT-3 (OpenAI).

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

Gemini Scribe

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

Local GPT

Local Ollama and OpenAI-like GPT's assistance for maximum privacy and offline access.

Novel word count

Display a word count, page count, creation date, or other statistics for each file, folder and vault in the File Explorer pane.

Claude Code IDE

Connect your vault to Claude Code and share editor context with the CLI.

Better Word Count

Count the words of selected text in the editor.

AI Agent

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

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.