New Built-in provider resolvers One-line adapters for OpenAI, Anthropic, and Azure OpenAI. Bring your own key; keys never leave your server. Also works with OpenAI-compatible endpoints (Groq, Together.ai, local Ollama) via a BaseUrl override. Demo →
New Streaming responses Tokens render as they arrive — same feel as ChatGPT / Claude. SSE-based wire format; editor.aiToolkit.streamRequest({ onDelta, onDone }) on the client, with XHR fallback for old browsers. Abortable mid-stream. Demo →
New DOCX export Server-side HTML → .docx via MIT-licensed DocumentFormat.OpenXml. Client helper editor.aiToolkit.exportDocx() triggers a browser download. No cloud SaaS subscription. Demo →
New Dictation (Web Speech) Toolbar mic button; interim transcripts render live under the cursor. The only major editor to ship dictation out of the box. Opt-in via dictationEnabled: true. Demo →
New Shared review ledger AI suggestions + human Track Changes + threaded comments all flow through a single editor.reviewLedger store. One drawer, interleaved entries, accept / reject regardless of source. Competitors silo these in separate plugins. Track changes demo →
Preview Yjs concurrent typing Opt in with textSync: true to bind the editor HTML to a shared Y.Text. CRDT merges concurrent inserts / deletes at character level. Per-node binding is next on the roadmap. Demo →
Ask AI Toolbar-first dialog. Proofread, rewrite, shorten, expand, summarize, or translate the selection or the whole document. Ask AI · proofread SOURCE hello world ,bad spacing RESULT Hello world, bad spacing.
AI Chat Docked panel for multi-turn work. Scope-aware: uses the selection or the whole document, with quick prompts built in. AI Chat · document Summarize this for the release notes. Drafted a 2-line recap. Apply to the document? Tighten the tone to be more neutral. Revised the recap, neutral phrasing. Ready to apply.
AI Review Queue of pending, accepted, and rejected suggestions. Preview before applying, batch-accept or reject, or sync with your server ledger. AI Review · 3 pending Proofread intro paragraphPending Translate heading (Spanish)Accepted Shorten section 2Pending
Quick actions Proofread · rewrite · translate Seven one-click modes plus your own: proofread, rewrite, shorten, expand, summarize, translate, justify. Each returns a rationale.
Structured plan Operation contract Resolvers return one or many operations (preview, replace, insert, comment). Users apply step-by-step or as a batch.
Inline preview Accept or reject in place Before/after view with change highlighting, operation summary, and accept/reject controls. Nothing commits until a human says so.
Persistent ledger Review drawer + sync Pending, accepted, and rejected suggestions persist per editor. Hook a remote ledger endpoint to sync across sessions.
Scope control Selection or document Every action knows what it is acting on. Selection-aware by default, with a one-tap switch to whole-document scope.
Multi-turn chat Conversation with context Docked panel with quick prompts, message history, and copy / apply / insert / replace actions on every AI response.
Custom actions Register your own modes Use registerAction to add domain-specific actions (legal clause check, SEO rewrite, tone matcher). They plug into the same UI.
Demo mode No API key required Built-in deterministic resolver ships with the plugin. Evaluate the UX first, wire a real model later - same front-end.