Writing Assistant Chat

approved

by Resolve-public

AI Writing Assistant. Connects to local or cloud providers. Features vault-wide RAG retrieval, knowledge graph, agentic tool use. - This plugin has not been manually reviewed by Obsidian staff.

2 stars417 downloadsUpdated 13d agoMIT

Writing Assistant Chat

An AI writing assistant that lives inside your Obsidian vault.

Local or cloud models. Ground your writing, reorganise your vault, assist you in reaching your goals.

Latest release License: MIT

The chat panel beside an open chapter. The assistant has read the writer's research notes and shown where the chapter contradicts them.

What it does

A chat panel that knows your vault. Ask whether a chapter holds up against your research and it reads the notes before it answers. Ask for a change and it shows you the diff and waits. It runs on a local model through LM Studio, or on a cloud provider you choose, and nothing leaves your machine unless you point it somewhere.

  • Grounded in your vault. The open note travels with your message. The assistant can read, search, and semantically search your notes, backed by a vault-wide index and an optional knowledge graph, so it builds on what you have written and researched instead of inventing around it.
  • Edits you review. Changes arrive as diffs, hunk by hunk, and land in the open note only after you approve. New files, moves, and deletions go through the same gate. Deleting means trash, never delete.
  • Local first, multi-provider. LM Studio, Anthropic, OpenAI, or the Claude Code CLI, with saved model profiles you can switch mid-conversation.
  • Theme friendly. The panel is styled with your Obsidian theme's own variables, so it takes on whatever theme you run and tries to blend in rather than stand out.
  • Transparent about cost. Token counts and cost estimates from the providers that bill you, and a session history that lets you organise your work.

Desktop only.

See it work

A chapter checked against two research notes, read before the answer streams in.

Ask whether the draft holds up and watch it read the research before it answers. Every figure in the reply comes from the notes it read.

Edits you can see before they land

An approved edit: the belt crossing rewritten to match the research, the diff on the timeline and the chapter already updated in the editor.

Every edit is a diff you approve in the composer. Approve it and it lands in the editor, with undo one click away. Decline it and you can tell the model what to do instead.

A proposed edit waiting in the composer, with Approve, Approve everything this session, and Other.A synthesis note created after approval, its contents shown on the timeline.
A proposed editAn approved change

At home in your theme

The same conversation under Obsidian's light theme and three community themes. Nothing in the panel is hard-coded; it reads the theme's variables like the rest of the app.

The same conversation in Obsidian's default light theme.The same conversation in the Minimal theme.
Obsidian, lightMinimal
The same conversation in the Things theme.The same conversation in the Obsidian gruvbox theme.
ThingsObsidian gruvbox

Providers

ProviderWhere it runsWhat you need
LM StudioOn your machineLM Studio with a model loaded. No account, no key.
AnthropicCloudAn API key from console.anthropic.com. Metered, billed to you.
OpenAICloud, or any OpenAI-compatible endpointAn API key from platform.openai.com. Metered, billed to you.
Claude CodeThe local claude CLI, which calls AnthropicThe Claude Code CLI installed and signed in. Uses your subscription, no key.

Requires Obsidian 1.13 or later on desktop.

Install

From community plugins. Open Settings > Community plugins > Browse, search for Writing Assistant Chat, click Install, then Enable.

Beta through BRAT. Add Resolve-public/writing-assistant-chat in the BRAT plugin, then enable Writing Assistant Chat under Community plugins.

First run

  1. Open Settings > Writing Assistant Chat > Providers and set up one provider. LM Studio is discovered from its local server, Anthropic and OpenAI take an API key, and Claude Code needs the claude CLI on your PATH.
  2. Open the panel from the ribbon icon or the Open chat command.
  3. Pick a model in the panel header, open a note, and ask something about it.

Tools are on from the start and every kind of change is set to Ask, so nothing touches your vault without your approval. Change that per kind under Vault operations.

Privacy and network

Local providers keep everything on your machine. With LM Studio alone, no data leaves it.

Cloud providers receive what you send. Your messages, the note context you include, and any tool results the model reads go to the provider you enabled:

ProviderEndpointUsed for
Anthropicapi.anthropic.comChat
OpenAIapi.openai.com, or your custom base URLChat, embeddings
LM Studiolocalhost (configurable)Chat, embeddings, model discovery
Claude CodeThe local claude CLI, which calls AnthropicAgentic chat; the CLI runs its own tool loop
  • API keys are kept in Obsidian's secret storage on your device and sent only to their own provider.
  • Conversations, the retrieval index, and the knowledge graph are stored locally.
  • No telemetry, no analytics, and no requests beyond the provider you chose. Pricing tables and model catalogs ship with each release; nothing is fetched at runtime.
  • The plugin is free. Cloud usage is metered against your own key or subscription, including OpenAI embeddings if you pick them for retrieval.

Claude Code reaches outside the vault, and it is the only part that does. It runs the claude command-line tool as a subprocess with your vault as its working directory. To find it, the plugin searches the directories on your PATH; on Windows it also reads the npm claude.cmd / claude.bat shims to resolve the real program. It only ever runs a claude you installed and never downloads, installs, or updates one. The CLI keeps its own login, configuration, and per-conversation session files in its home folder (~/.claude), outside the vault, and the plugin relies on those to resume a conversation after a restart. Every other tool the model is given (read, edit, create, move, trash) is restricted to paths inside your vault.

Support

This plugin and all of its features are, and will always be, free. If it helped you get closer to your creative goals, you can support the project on Buy Me a Coffee. The link is also under Settings > Writing Assistant Chat > General.

Contributing

See CONTRIBUTING.md for setup, project structure, coding standards, and the development workflow. The pictures above come from the plugin itself, driven by the scenario in dev/readme.

License

MIT, see LICENSE.

The distributed build bundles third-party components under their own licenses, including one proprietary Anthropic component that is not covered by this plugin's MIT license. See THIRD-PARTY-NOTICES.md for the full list and terms.

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.