EventideMiles264 downloadsA feedback-first, novelist-focused writing assistant.
A feedback-first, novelist-focused writing assistant for Obsidian.
MIT license. Built from scratch. Mobile-targeted. Local-model first.
Eventide Quill is an Obsidian plugin that reads like a thoughtful editor, not a text generator. It helps novelists write better prose through deterministic linting, AI-powered feedback, a lorebook with an AI coach, and co-writer collaboration — all without leaving your editor.
Requires Obsidian 1.13.0 or later.
It runs locally by default (Ollama, or any OpenAI-compatible local server such as LM Studio) and never sends your manuscript anywhere you didn't explicitly configure.
Writing & prose
ai-cliches, ai-em-dashes, ai-negation, ai-filler-adverbs, ai-hedging, and ai-wrap-ups, plus typo-class gremlins.<!-- quill: -->) and a free-form plot map steer the AI.Manuscript intelligence
Co-writer, tools & subagents
vault_lookup, grep_notes), pull siblings and manuscript mentions, measure folder/file sizes, and propose reviewable edits (edit_note, insert_note, append_to_note, revise_edit). On by default; restrictable in settings.fetch_url, Wikipedia, and Fandom lookups (Fandom gated by a configurable allowlist) for checking lore against external references.Worldbuilding
Vision
fetch_image_url and Fandom image lookups) reach a vision-capable chat model directly, or — when the chat model is text-only — a separate image model describes them and splices the caption in, so a small local text model can pair with a cloud vision model.git clone [email protected]:EventideMiles/eventide-quill.git
cd eventide-quill
npm install
npm run dev
Copy main.js, manifest.json, and styles.css to VaultFolder/.obsidian/plugins/eventide-quill/. Enable the plugin in Obsidian settings.
npm run dev — esbuild watch mode (hot reload).npm run build — production build (SCSS + typecheck + minified bundle; __DEV__ off). Used by release CI; matches the released main.js byte-for-byte.npm run build:dev — dev build (SCSS + Prettier + typecheck + bundle; __DEV__ on, inline sourcemaps). Local iteration only.npm run lint — ESLint + stylelint (SCSS).npm run sass — build styles.css from styles/main.scss.Styles are authored in SCSS and compiled to styles.css — edit the sources under styles/, not the build output. See AGENTS.md for the full architecture, conventions, and tooling.
The dev toolchain targets Linux/macOS and Ubuntu CI. The test:e2e:live script uses inline env-var syntax (E2E_LIVE=1) that doesn't work in cmd.exe. If you develop on native Windows (not WSL), PRs adding cross-env to wrap that script are welcome — the maintainer doesn't have a Windows device to test against.
chat, embed, image, or chat-image); the right model is resolved per task — a non-vision model never receives pixels.isDesktopOnly: false, requestUrl transport, and touch-target sizing, and has been smoke-tested on a real mobile device — issues found were addressed across the 1.x releases. Report mobile issues against the latest milestone.The plugin has three layers of functionality:
No model, no network. The prose linter, manuscript dashboard (word counts, pacing, readability, flow score), context engine (character/location/plot-thread extraction), and lorebook coverage scanner all run locally with zero AI cost and zero network access. The plugin is useful immediately after install.
Local model, no network. Configure a local model (Ollama, LM Studio, or any OpenAI-compatible local server) to unlock AI feedback, co-writer collaboration, critical analysis, manuscript analysis, lorebook coach, and selection transformations. All processing stays on your machine. Cloud providers (OpenAI and other OpenAI-compatible endpoints) also work if you prefer — you choose where your data goes.
Optional network research tools. Wikipedia lookups, Fandom lookups, and URL fetching let the co-writer check lore against external references. These are toggleable in settings and gated by allowlists. A local Fandom cache can sync pages for offline use.
No telemetry. Vault contents are never sent anywhere you didn't explicitly configure. The plugin does not access files outside of Obsidian vaults.
Eventide Quill is MIT-licensed and free for everyone — the same feature-complete plugin for all, no paywalls. If it's part of your writing practice, consider sponsoring on GitHub. Sponsorships keep the tool free, local-first, and open-source forever — no vendor lock-in.
Tiers (rewards are recognition + influence, not gated features — every tier gets the whole plugin):
See the sponsor page for full details.
Be the first — sponsor at the Beta Reader tier.
Be the first — sponsor at the Editor tier.
MIT — see LICENSE.