No description
Find a file
Evan Harris edd21015c2 Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service)
npm run test:e2e builds the plugin, type-checks the specs, stages a clean
copy into test/plugin-dist/, and runs 13 Mocha specs against a real,
sandboxed Obsidian instance (downloaded to .obsidian-cache/ on first run;
~6s wall-clock after that). No API keys or network providers needed.

Coverage: plugin load + command registration + built-in skill seeding,
widget open/focus-or-open/new-chat-always-fresh/per-tab input isolation,
slash menu open/Escape/filtering, chat modal, chats panel, chat details
panel, and the header settings toggle.

Design notes (details in test/README.md):
- The service copies data.json from the plugin dir into test vaults, so
  plugins: ["."] would leak the developer's real API keys. The staging
  script writes a deterministic test data.json instead (rootVaultFolder
  "AI" so built-in skills seed; nothing else).
- Specs read the plugin id from the staged manifest at runtime rather
  than hardcoding it.
- Specs live under test/ with their own tsconfig (root tsconfig now
  excludes test/); OBSIDIAN_APP_VERSION / OBSIDIAN_INSTALLER_VERSION pin
  the Obsidian version under test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 14:16:18 -05:00
.claude Split CLAUDE.md feature sections into path-scoped .claude/rules/ 2026-06-06 13:26:23 -05:00
.github fix 2026-05-15 17:58:47 -04:00
docs docs: update provider support for Ollama, Mistral, and new models 2026-03-07 21:57:50 -05:00
README_images updating README to include assistant instructions 2024-07-24 16:39:25 -04:00
scripts Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
src Restore full ESLint coverage and fix all lint errors 2026-06-05 16:58:27 -05:00
test Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
.editorconfig initial plugin push 2024-01-16 16:30:04 -06:00
.gitignore Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
.npmrc initial plugin push 2024-01-16 16:30:04 -06:00
bash.exe.stackdump rm console logs 2025-06-04 18:09:18 -04:00
CLAUDE.md Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
esbuild.config.mjs Fix plugin failing to load: shim import.meta.url in CJS bundle 2026-06-06 14:16:02 -05:00
eslint.config.mjs Restore full ESLint coverage and fix all lint errors 2026-06-05 16:58:27 -05:00
LICENSE Update copyright 2025-04-08 07:45:28 +03:00
manifest.json folder update 2026-05-17 16:35:01 -04:00
package-lock.json Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
package.json Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
README.md fix 2026-05-15 17:58:47 -04:00
SECURITY.md Create SECURITY.md 2025-06-22 23:16:45 -05:00
SKILLS.md skills update 2026-05-10 11:02:17 -04:00
styles.css onboarding tooltip 2026-05-23 16:49:25 -04:00
tsconfig.json Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
version-bump.mjs initial plugin push 2024-01-16 16:30:04 -06:00
versions.json fixes 2026-05-15 17:52:54 -04:00
wdio.conf.mts Add local E2E suite driving real sandboxed Obsidian (wdio-obsidian-service) 2026-06-06 14:16:18 -05:00
whisper-server.py speech to text mvp 2026-05-14 18:29:25 -04:00

Shows project promo image in light and dark mode

Large Language Models

The Large Language Models (LLMs) Plugin gives Obsidian users access to LLMs through cloud providers (OpenAI, Anthropic, Google, and Mistral) and locally via GPT4All and Ollama. Models can be interacted with in the sidebar, main window, and a newly added, floating action button popup window.

Shows project promo image in light and dark mode

Instructions

Installation: Download the plugin via the community plugin browser.

Using models from cloud-based providers:

  1. In the plugin settings menu, enter an API key from one of the supported model providers
  2. To interact with models, open one of the chat views using the newly added commands (see Commands section below)

Using models locally (GPT4All):

  1. Download GPT4All
  2. Download a model through GPT4All's model browser
  3. In the setting menu of GPT4All, toggle on the "Enable Local Server" setting
  4. Models downloaded via GPT4All will be selectable via the model switcher in each chat view

Using models locally (Ollama):

  1. Install Ollama and pull the models you want to use
  2. In the plugin settings, configure the Ollama host (default: http://localhost:11434)
  3. Click "Discover Models" to detect your locally available models
  4. Select an Ollama model from the model switcher in any chat view

Commands

Command Description
Open modal Opens the chat modal
Toggle FAB Toggles the visibility of the Floating Action Button (FAB) used to open and close the chat popup window
Open chat in tab Opens the chat window in a tab
Open chat in sidebar Opens the chat window in the Sidebar

Models

Cloud-based:

Model provider Status
OpenAI Supported
Anthropic Supported
Google Supported
Mistral Supported

Local:

Model provider Status
GPT4All Supported
Ollama Supported

Credits

  • Johnny
  • Ryan Mahoney
  • Evan Harris
Shows project promo image in light and dark mode