I know that the office suite format is a relic which is hard to get rid of. But I can't help feeling that in these new AI era, that we should focus on leaving that proprietary format behind.<p>It is one of the biggest facilitator of vendor lock in in the history of computing.
I originally started this project just to build a TA agent for a professor who didn't have any TAs (my wife). So as you can imagine, it was critical that it could properly write comments and only edit with track edits mode on... and do all of this without accidentally breaking the structure of the doc that couldn't be read.<p>It's since then expanded to cover everything from editing tables, hyperlinks, footnotes, and a lot more. Now it's a pretty powerful tool that can trivially fill out a MNDA form, mark up a contract, author a poetry booklet, and fill out an invoice, which is now the eval suite where the numbers in the title come from.<p>You might be asking, "why did you do all of this?" Well, I'm building an agent harness for normies that are not gonna know what a token even is but just want their stuff not to take an epoch and a half to run. So I've got to make the tools be MUCH more optimal than they've even been.<p>I figure putting them out to the community and inviting all of you to help me might be a way to do that =).
Nice — CLI-first for document tooling is underrated. How are you handling embedded images in the XML? That was a pain point when I was parsing OOXML in a different context.
If the reader needs the images, there's an explicit extract command that gets them into a folder.
If the writer needs to update them, there's and explicit replace command and insert commands for that purpose.
It all has to go into the relationship files of course.
Very cool. So much of the 'capability overhang' of AI can be addressed with tools like this--data manipulation etc without LLMs having to galaxy brain everything in token space
I've done many custom low token output CLIs like this for my day job and it's something I expect to see much more of.
I haven’t looked under the hood here but to make simple text replacement via command line is an LLM even required? A human driven command line tool to do basic substitution on batches of files reliably would be amazing.
Not really - if you wanna do a text replacement you can extract it yourself and do some work (or just use this CLI).
The library is designed for longer workloads.
there is a python library for docx handling. my thinking was the use case for this was for larger scale automations / document processing.
you've never dealt with ooxml.
sed, awk. docx is just zipped xml.
nice to see others try to solve a problem we also experienced.<p>I'm also working on letting agents read/edit word docs but exposing it as a simple MCP<p>www.vespper.com
I like it
[dead]
[flagged]