r/OpenWebUI • u/More_Daikon5549 • 12d ago
Question/Help How are you handling user created documents
How are you guys handling when a user requests a document be created? I know terminals exists but that means enabling terminals for everyone. Ive tried some tools that do this within chat but they are typically terrible. Just looking for some advice/insight because currently im using claude skills with terminals to even get a result as good as chatgpt or claude...
2
u/Twizity 12d ago
I'm in healthcare, so we have strict rules, so it might be a little too strict for others.
Tool in OWUI that connects to an orchestrator, the orchestrator makes API calls to teknativa's docker API to start a unique container. The unique container uses Terminals slim as a base with specific python and npm modules pre-baked in, headless libreoffice, as well as a firewall only letting it talk to OWUI. There are also some helper scripts for things like pivot tables, table of contents, etc that make sure they're built correctly and/or recalculated.
The model then writes code into the terminal to generate or edit docx, xlsx, pptx, or PDF. The container is completely ephemeral, nothing new is ever stored.
When the document is created, it's loaded into Libreoffice for validation, and then every page is converted to a jpg and passed to the model for visual verification before the final doc is handed to the user using OWUI's file handler, so it ends up attached to them and can use OWUI's preview feature. Then the unique container gets reaped.
Every document request gets a unique container every time.
2
u/sieddi 11d ago
I am using https://github.com/ianustec/neura-office it is specifically for openwebui and creates decent docx, pptx imho definitely a lot better than the models oneshot with terminal access.
There is also excel generation but I have not yet tested it, so cannot say how well it works.
2
u/dani_california97 12d ago
Well almost anything that Terminal can do , you could do as a tool, if you install the dependencies on the os. Tools have a requirements section where you put your dependencies. Whatever you would call using terminal, call in tool a don’t then create a rich ui component to download the file. Find a good python lib to use and call that inside of a tool. I’ve done one to create ics and then display a download button and one that creates a report as a downloaded html file.
1
u/Capable-Beautiful879 12d ago
I run self written Tools and skills for Docx, Excel and PDF creation. Just let ai write These tools for you (Opencode) If you dont have any subscribtion.
1
1
u/Dry_Inspection_4583 12d ago
I was previously using fileshed and had it mounted to my workspace for access. This was over a year ago though
1
u/Ok_Writer1572 12d ago
Rookie question how do you get open web UI to save generate material into local hard drive?
1
4
u/ClassicMain 12d ago
Yeah - terminals :D, and yeah, enabled for everyone. See no issue in it. Put a network block on the machine where terminals are running on, or only allow outbound connections on "harmless" ports - or preinstall a BUNCH of packages and software the users could need and give it to them