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

LLM Text Assistant

s1t5s1t5

Process, translate and refine selected text with any OpenAI-compatible LLM directly in the editor.

Add to Obsidian
  • Overview
  • Scorecard

Process, translate and refine text in your Obsidian notes with LLMs, directly in the editor

This is the Obsidian edition of LLM Text Assistant — the browser extension (Chrome/Firefox/Thunderbird) by the same author, with the same actions, prompts and streaming behaviour, adapted to the Obsidian editor.

✨ Key Features

📌 Core Features

  • Four built-in actions: 🌐 Translate, ✍️ Expand, 📋 Summarize, ✅ Grammar & Spelling, available via the editor context menu (right-click), the command palette, the ribbon icon ✨ and its action menu
  • Custom actions: Define your own actions with emoji, title and system prompt
  • Free Prompt (Chat mode): Open a chat window with the current selection as context and give iterative instructions with full context; apply the result back into the note
  • Copy responses: Hover any response for its ⧉ copy button, use "Copy last response", or press Ctrl/Cmd+C with nothing selected
  • Streaming results (live typing): Text appears token by token as the model generates it, no waiting for the full response
  • Selection or whole note: Processes the selection — or the entire note when nothing is selected

⌨️ UX

  • Undo toast: After every replacement a toast appears with an Undo button (8 seconds)
  • Cancel requests: Abort a running request by clicking the "Processing…" toast or the stop button in chat, already received text is kept
  • Native Obsidian hotkeys: Every action is a command — assign hotkeys via Obsidian's Hotkeys settings
  • Robust error handling: Configurable timeout (default 60s), automatic retries on network errors and rate limits (429/5xx), clear error messages (e.g. "check your API key" on 401)

🔌 Provider Support

  • Works with any OpenAI-compatible Chat Completions API:
    • Cloud: OpenAI, Mistral, Groq, Google Gemini (OpenAI-compat endpoint) and more
    • Local: Ollama, LM Studio, llama.cpp, vLLM; no API key required, data never leaves your machine
  • Flexible configuration: API URL, API key, model, temperature, timeout
  • Customizable system prompts for every built-in action (e.g. {TARGET_LANGUAGE} placeholder for translation)

🌍 Internationalization

  • Full UI and default prompts in English and German (auto-selected by Obsidian language)
  • Target language for translation is freely configurable

🚀 Quick Start

Prerequisites

  • Obsidian 1.8.7 or newer (Restricted Mode off for community plugins)
  • An OpenAI-compatible API endpoint (cloud or local)

🛠️ Installation

Install the plugin directly from the Obsidian Community directory:

👉 https://community.obsidian.md/plugins/llm-text-assistant

Or from within Obsidian: Settings → Community Plugins → Browse → search for LLM Text Assistant → Install.

Then:

  1. Enable LLM Text Assistant under Settings → Community Plugins
  2. Configure your endpoint under Settings → LLM Text Assistant
Manual install (if the directory is temporarily unavailable)
  1. Download main.js, styles.css and manifest.json from the latest release
  2. Create the folder <your-vault>/.obsidian/plugins/llm-text-assistant/ and copy the three files into it — or use Obsidian 1.8+: Settings → Community Plugins → Install from files
  3. Enable the plugin and configure your endpoint as above

⚙️ Configuration

Open Settings → LLM Text Assistant:

Setting Description
API URL Chat Completions endpoint, e.g. https://api.openai.com/v1/chat/completions
API Key Your API key (leave empty for local endpoints)
Model e.g. gpt-4o-mini, llama3.1, mistral
Temperature Creativity (0–2, default: 0.3)
Timeout (seconds) Max wait time per attempt (default: 60). Retries twice on timeout.
Target language (Translate) Language to translate into (e.g. English, German, French)
System prompts Per-action instructions, e.g. {TARGET_LANGUAGE} placeholder for translation
Custom actions Your own actions with emoji, title and prompt
Free prompt Show/hide the 💬 Free prompt entry

Hotkeys: every action appears in Obsidian's command palette — assign hotkeys under Settings → Hotkeys.

Local endpoint examples

Provider URL API Key
Ollama http://localhost:11434/v1/chat/completions leave empty
LM Studio http://localhost:1234/v1/chat/completions leave empty

📖 Usage

  1. Select text in the editor (or select nothing to process the whole note)
  2. Choose an action via right-click context menu, command palette (Ctrl/Cmd+P), the ribbon icon ✨ or its action menu
  3. The processed text replaces the selection live (streaming)
  4. Cancel: click the "Processing…" toast or ⏹ Stop in the chat
  5. Undo: use the button in the toast (8 seconds)
  6. Copy: in the free prompt chat, hover a response and click ⧉, use "Copy last response", or press Ctrl/Cmd+C with nothing selected

💬 Free Prompt (Chat mode)

Open it via the context menu or the action menu. Your current selection is loaded as context — give instructions one after another, e.g. "Improve the text" or "Translate into English". ✓ Apply writes the result into the editor, ⧉ copies it to the clipboard, ↺ Reset restarts the chat with fresh context.

🔒 Privacy & Security Notes

  • No data collection: The plugin collects nothing. API calls go directly from Obsidian to the endpoint you configured, there is no intermediate server
  • API key storage: Your API key is stored in the plugin settings of your vault (.obsidian/plugins/llm-text-assistant/data.json) and only sent as Authorization header to the configured endpoint

🏗️ Development

Prerequisites: Node.js ≥ 20 and npm.

npm install
npm run build      # type-check (tsc) + bundle main.js
npm run typecheck  # TypeScript check only
npm run smoke      # core tests without an Obsidian runtime (streaming, retry, abort, i18n)
npm run dev        # watch mode for development

The smoke tests mock Obsidian's requestUrl via a Node loader hook (scripts/smoke-hook.mjs) — no Obsidian installation required. See AGENTS.md for conventions and release details.

🤝 Contributing

We welcome contributions from the community!

For code changes by third parties, please coordinate with us via email at [email protected] before making any changes.

You can also:

  • Open an Issue for bug reports or feature requests
  • Submit a Pull Request for improvements
  • Help improve documentation

💖 Support the Project

If you find this project useful and would like to support its continued development, you can buy me a coffee! Your support helps me dedicate more time and resources to improving the application and adding new features. While financial support is not required, it is greatly appreciated and helps ensure the project's ongoing maintenance and development.


📄 License: GNU GENERAL PUBLIC LICENSE Version 3 (see LICENSE file)

HealthExcellent
ReviewPassed
About
Process and refine text in notes with LLMs directly in the Obsidian editor using built-in actions like Translate, Expand, Summarize and Grammar & Spelling. Open a chat from the selection for iterative edits, stream token-by-token responses, copy or apply results, and run cloud or local OpenAI‑compatible models.
AIEditingWriting
Details
Current version
1.0.2
Last updated
2 weeks ago
Created
2 weeks ago
Compatible with
Obsidian 1.8.7+
Platforms
Desktop, Mobile
License
GPL-3.0
Report bugRequest featureReport plugin
Author
s1t5s1t5
GitHubs1t5
  1. Community
  2. Plugins
  3. AI
  4. LLM Text Assistant

Related plugins

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

ChatGPT MD

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

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.

LanguageTool

Unofficial integration of the LanguageTool spell and grammar checker.

Local GPT

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

AI Agent

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

Claudian

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

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.