The AI Assistant Now Reads Your Document Before It Edits It
The old assistant got one look at your document and had to guess every change in a single shot. The new one works the way you'd expect a person to: it opens the document, finds the part you meant, makes the change, checks its work, and tells you what it did — while you keep editing.
The short version
- Nothing to configure. No provider dropdown, no model picker — type what you want and send.
- The assistant reads the document first, then edits. You see each step as it happens.
- Translation and rewording preserve your formatting exactly — tags, classes, and every {placeholder}.
- It can restyle now: "make the section headings blue and bold" is a request it can actually carry out.
- The editor stays usable while it works. No more full-screen lock while you wait.
- The document highlights what the assistant is touching, and the canvas scrolls to it.
- One click undoes everything a request changed — not just the last step.
- Chats are saved per document, so you can reopen an old conversation and pick it back up.
The old AI panel had a structural problem, and it wasn't the model. It was that the assistant never got to look at your document. It received a summary once, up front, and everything it did after that was a guess made from that summary. Ask it to translate page three and it had to imagine what page three said.
That is a bad deal on a five-page contract and a hopeless one on a fifteen-page agreement. This release changes the shape of the thing rather than the wording of its instructions.
It looks before it writes
The assistant now has tools. It can list your pages and sections, read the text of any one of them, search for a phrase, and check what styling an element already carries. Only then does it change anything.
You watch this happen. Each step appears in the chat as it runs — Reading the document · 4 pages, Reading the text · 12 text nodes, Rewriting text · 29 updated — with the element it touched named, not a generic "working…". Long runs of reading collapse into one line so a big job doesn't bury the part you care about.
Why it recovers from its own mistakes
If you edit a paragraph while the assistant is mid-request, the thing it was about to change may no longer be where it was. Instead of failing, it gets told the target moved, re-reads the document, and carries on. You never see it — the step just takes a moment longer. The same mechanism handles anything else that goes wrong, which is why a single hiccup no longer ends the whole request.
Translation that keeps your layout
"Translate this document to Spanish" is the request that shows the difference most clearly. The naive way to do it — hand the AI your markup and take back whatever it writes — loses formatting, because the model is rebuilding your document from memory while it translates.
The assistant doesn't touch your markup at all. It reads the individual pieces of text, sends back new text for each one, and the editor swaps them in place. Headings stay headings, tables stay tables, spacing stays where you put it. Your {client.name} placeholders come through untouched — the words around them get translated, the keys don't.
It can restyle, not just rewrite
Previously the assistant could write new content but couldn't change how existing content looked. "Make the section headings blue and bold" had no path to an answer. Now it checks what styling an element already has, then adjusts it — so it removes the old text colour rather than layering a new one on top and hoping.
Structural styling is protected. The classes that hold your pagination together can be read but not removed, so no styling request can quietly break where your page breaks land or how the PDF comes out.
The editor stays yours while it works
The old panel threw a full-screen overlay over the editor for the entire request and you waited. That's gone. A thin progress bar in the assistant panel tells you it's working, and everything else stays live — keep typing, drag a block in, switch tabs.
To keep it from being invisible, the document itself shows the work: a blue ring around each element the assistant reads, green around each one it changes, and the canvas scrolls to keep up. It never takes your selection, and the moment you click or type in the document it stops moving the page — the rings keep appearing, but the view stays where you put it. Being shown something you might miss is a much smaller cost than having the page yanked away mid-sentence.
One undo for the whole request
A single request can touch thirty elements. Undoing that with thirty presses of Ctrl+Z is not an undo, it's a chore. Every completed request now carries an Undo button that reverts everything it did, in one click.
It greys out if you've edited the document since — at that point rolling back would take your own work with it, so the button steps aside and leaves you with normal undo. There's also a Stop button while a request runs. Stopping keeps what's already been applied; it doesn't secretly revert anything, because "stop" and "undo" are different things to want.
Chats stick around
Conversations are saved per document, on the server. Open the history icon in the assistant panel to see every chat you've had about that document, titled from what you asked, and reopen any of them to continue where you left off — including everything the assistant already knew about the document.
A chat is only saved once it has actually done something, so opening the panel and changing your mind doesn't leave clutter behind. If your connection drops mid-request, the conversation stays on screen and syncs when you're back — you'll see a quiet note rather than an error.
Long documents, long jobs
"Translate the whole thing" on a fifteen-page agreement is a large amount of work, and the assistant now has the room to finish it — several times the previous budget, batching reads and edits rather than plodding one element at a time.
If a job is big enough to reach the ceiling anyway, it pauses instead of failing and offers Continue. Nothing is lost, and whether to spend more on it stays your call.
Nothing to configure
The provider and model dropdowns are gone from the main panel. Connect a key in Integrations — Gemini, OpenAI, or Anthropic — and the assistant picks the right model for the job. If your first choice is overloaded it quietly falls back to another rather than handing you an error. The model actually serving your request is shown in the panel header, and you can still pin a specific one if you want to.
Keys stay yours. Requests run against your own account with your own key, and each one is logged with its token count and estimated cost so you can see what the assistant is costing you.
What to try first
Open a document you already have and ask for something you'd otherwise do by hand:
- "Translate this document to Spanish, keep the placeholders."
- "Make every section heading blue and bold."
- "Add a payment terms section after the scope of work."
- "Rewrite the introduction to sound more formal."
- "Remove section 7 and renumber the rest."
Watch the steps as they run. If it does something you didn't want, hit Undo and tell it what you actually meant — the conversation continues, and it now has the context of what just happened.
Nothing to do on your side
This is live. Existing documents keep working, no migration and no re-saving. If you had a chat open, it's still there.
If the assistant does something odd, tell us — the fastest route is @gjsdocs on X. The most useful report is the request you typed and what it did instead; several fixes in this release came from exactly that.
Related reading:
Try the assistant
Open any document, connect your AI key, and ask for the change you'd otherwise make by hand. Free to start, no credit card.
Start free