EN / JP
← olbin.dev
Obsidian Plugin · v1.1.0

Local LLM Brain Chat

A lightweight Obsidian chat client for your local llama.cpp / OpenAI-compatible server — desktop streaming on Mac, CORS-safe on iPad via requestUrl.

01. Why this exists

Cloud chat plugins assume the public internet. Local llama.cpp assumes a LAN. Mobile Obsidian hits a third wall: browser CORS blocks direct calls to your home server.

Local LLM Brain Chat is the thin client extracted from a real local-first vault workflow — Obsidian as the front door, Apple Silicon as the brain, no vendor chat relay in between.

Layer Typical plugin This plugin
Endpoint Vendor cloud API Your LAN OpenAI-compatible server
Desktop fetch / opaque wrappers Node http streaming (SSE)
iPad / iOS Often broken by CORS Obsidian requestUrl (CORS-safe)

02. Features

Sidebar chat
  • Ribbon icon + command palette
  • Cmd/Ctrl+Enter to send
  • Markdown-rendered replies
Dual transport
  • Desktop: token streaming
  • Mobile: non-streaming requestUrl
  • Same OpenAI chat schema
Settings UI (v1.1.0)
  • Base URL, model, temperature in GUI
  • Connection test (/v1/models)
  • No main.js edits required
Vault context
  • Insert active note into prompt
  • Local-first session memory
  • No third-party relay

03. How it works

One API, two transports

Both paths call POST /v1/chat/completions. Desktop enables stream: true and appends tokens live. Mobile uses Obsidian requestUrl with stream: false so iPad can reach a LAN host that a WebView fetch would refuse.

Platform Transport Behavior
Desktop Node http Streaming SSE → live tokens → final Markdown
Mobile requestUrl Single response → Markdown render

04. Install & configure

Manual install (same pattern as other olbin.dev Obsidian plugins):

# 1. Download main.js + manifest.json from GitHub
# 2. Copy into your vault
YourVault/.obsidian/plugins/local-llm-brain-chat/

# 3. Restart Obsidian → enable Local LLM Brain Chat

# BRAT (iOS / beta)
Add repo: olbin-dev/obisidian-Plugin-LocalLLM

Open Settings → Community plugins → Local LLM Brain Chat (no need to edit main.js):

Field Example Notes
Base URL http://192.168.1.59:8080/v1 OpenAI-compatible base URL (include /v1)
Model qwen-q8 Model id from GET /v1/models
Temperature 0.2 0.0 (deterministic) – 1.0 (creative)
Server label CTS Shown in error messages
Connection test Button Verify /v1/models with current settings

Verify on the server

curl -s http://192.168.1.59:8080/v1/models

Use an id or aliases value as Model. Settings persist in data.json and sync with your vault (e.g. iCloud).

After changing settings — toggle the plugin off → on if the chat still shows the old endpoint.

05. Privacy & source

Requests go only to the endpoint you configure. There is no olbin.dev chat relay. Session history stays in the plugin view memory.

Related toolkit pages: Agent Factory / cAgent · Vault Sync for Dropbox

The plugin source is open on GitHub — same content as this page, in README form.

View on GitHub Back to olbin.dev