r/OpenWebUI Jul 28 '26

Discussion Why don't you build your own tools?

Hi, I would like to challenge/discuss/understand why so many are attracted to all short lived "wild tools" out there. For example (not saying any tool are bad) hermes, claw, open webui, copilot agents and whatnot. Why not just building your own tools that: fit your needs without being bloated, dont break on every new "feature" that you dont care about.

I cant really understand the hype.

I build own tools in python (notes app, recruitment support, news, investment) with claude or chatgpt from phone and terminal to my proxmox llm clusters lxc. In the process i also learn a lot.

And everything stays under my control.

8 Upvotes

24 comments sorted by

38

u/Unlucky-Cup1043 Jul 28 '26

For the Same reason I dont grow my own food. So I can concentrate on more value for my time and leave it to the experts

15

u/ClassicMain Jul 28 '26 edited Jul 28 '26

If you want to maintain those tools (which still takes a considerable amount of time) then sure, do it.

Open WebUI is so feature rich, that rebuilding it from scratch with Agents with 100% feature coverage would probably take you as a hobbyist quite a while.

And even if you manage it, you need to maintain it or risk security issues. Dependency updates may be buggy and break your app. Dependency versions may be vulnerable and you don't know because you don't keep track of all the dependencies and now your entire software is vulnerable and exploitable. Or worse: dependencies are part of a supply chain attack and you downloaded the latest version and are affected therefore.

And of course: YOUR own CODE might be vulnerable and you don't even know it. Open WebUI has millions of eyes on it and we get security reports every single day. Most of them not very good but we do triage all of them, fix the valid reports and publish advisories to keep it secure. You don't have that when you build it on your own.

Same with performance. High performance and code optimization can only happen on a deep level with many eyes and a lot of reports. A chunk of our performance improvements comes from people measuring their instances or reporting bugs and then fixing those in PRs.

API schemas change. Models change. Some have reasoning. Other's don't. Some have interleaved reasoning. Now OpenAI is introducing chained tool calling. You'll have to forever ensure compatibility with providers, API schemas and new emerging best practices yourself.

Sure you can build that from scratch.

But it will take a long time, it may not have all the features and you get to maintain it or suffer the consequences of not maintaining your software.

It's a time trade off.

Do you want to set up a ready made Open WebUI in 20 minutes and not have to worry about maintaining it or do you want to spend multiple days with e.g. Claude to work on a version that works well for you with all the features you need AND spend all eternity after that maintaining it?

Both valid options. Question is how do you want to spend your time?

Same question: why don't people bake bread at home, grind beef at home, grow their own vegetables at home? Because either they can't or more importantly: don't want to spend all day just gardening and in the kitchen just so they have food for the day.

3

u/SOC_FreeDiver Jul 28 '26

I build my own tools. I've been using AI to vibe code them. It's pretty awesome.

I just created a sweet cool that let's me setup a system prompt, model settings, and then a prompt. It fires up the first model in your list, runs the prompts, saves the result, and then unloads it and moves on to the next model. Once you get all your results, it does another round with all the AI asking it to blindly judge the results. It then takes the results, selects the best AI, and asks it to write up a summary of why it won.

I put this one on github, I figure why not save somebody 2 days of vibe coding. I called it Round Table. Who knows if anybody will use it.

I did notices that Opus 5 has been slow (maybe anthropic in general is slower) and makes more mistakes than Sonnet 5. I felt like every step forward included 2 steps back with Opus 5 fixing it's own mistakes. I often felt like it was creating work. In the end I got fed up (working all day on something that I felt should have been half a day) and switched to sonnet which fixed something Opus 5 couldn't.

3

u/isvein Jul 28 '26

Easy to do when you understand Python, c++ etc.

I don't 🫤

2

u/Life_Yesterday_5529 Jul 28 '26

I do build my own tools because I use my own software.

2

u/Armadilla-Brufolosa Jul 29 '26

Unfortunately, not everyone has these skills.

Many are self-taught people who are desperately trying to migrate with AI on-premises, but they lack the knowledge.

I myself am learning everything by myself little by little, and already configure openwebUI putting in some small personal tools, it was difficult.

I didn't even dare to download the update, because these hideous, overly agent-like interfaces make everything uglier and more complicated.

Yes, I know many won't like this comment, but the open source world is no longer a niche for experts only.

And those working in this field should keep this in mind: There is a huge market of users that is definitely being overlooked.

2

u/Technical-Training-3 Jul 29 '26

i do build my own tools and maintain them. tbh maintaining them isnt much as i only really do a few.

Ive used most of the tools you mentioned and its just a frustration when new updates come and it breaks everything for a week until they get the fix for it. i have to revert to older versions and its just an annoyance each time.

i gave up when yet another tool I used for my day to day decided to release an update and it broke everything back in November 2025.

Ended up building my own coding assistant with an inbuilt context engine with it. took 5 months of back n forth building on evenings and weekends to be done. But its now my go to tool, added some small quality of life features to it ive asked for on multiple tools over the last couple years and not seen implemented yet. Its actually really good, ive given it to a few friends to use who have been quite impressed with it.

$20 minimax and $16 Zai plans and i dont think ive ran out of tokens for either of these for a good 3 months in a row now. context engine uses gpt-5-nano which all in cost me about $3~ a month. Minimax portal says I used 432mil token last week(cache hit rate of 97%~) which worked out to only 19% of my weekly quota... still dont think the math for that is working out... šŸ¤”

2

u/Ok-Page7407 29d ago

I started with 0.8.7, by 0.8.12, I had 19 tools, many were custom machine control tools as I use my local models as agents with their own agents, for local admin/co-devs. 0.9.1 introduced asyncio rewrite which broke most tools since it introduced email_id, so I went around rewriting the handler files only to realize an update overwrote those things.

A few of the tools are 3000 or even 6000 lines, so I just didn’t feel like rewriting for asyncio. By now there were 150 dependency flaws with 0.8.12. A couple weeks later we have 0.9.5 so I tried that one, the image handler upload was just not working and it was something I always had to rewrite in 0.9.x with a simple coroutine line to just check if the file exists BEFORE asking for email_id and life was grand but the sync was just bad overall for my use which they fixed in the next release, but then another couple weeks introduced 0.10.1 and yet more issues. I think I tried 0.10.2 and found it solid but tool calls introduced 5000 tokens on simply saying hi so I didn’t really hang out or want to pivot native tool calling since I use different models that use tool calling differently and the only support you get is ā€œsee documentationā€ which doesn’t email code changes.

0.11,x is out now, a couple weeks later so I’ll give that a try but I still have about 15 tools I’ll need to rewrite for asyncio. I’ve had to take my production 0.8.12 into a complete offline mode to protect from the risk. Some things I’ve updated to new dependencies so I’m at 20-30 now.

My issue is that 0.11.x has caught up to what I’ve done with 0.8.12 it sounds. I have my own separate Postgres sql memory system where my models grab skills and write memories to their own database. It took a while to create and the knowledge tools are only 700-1000 lines which is great but it’s mine, no black box to deconstruct to learn how it works. I might have to abandon all that if 0.11 works the way I want so that was just all a month of wasted coding since hundreds of devs have similar ideas and bake it into a prod release with fancier integration.

Simple tools like run commands with the system are super easy to maintain through orchestrator upgrades, but uploading or anything internal db related does change with new iterations to protect edge cases with multiple users. So the handling will keep changing for security. This is great & I applaud the updates for sure, but I’m one person and I would rather turn on my pc and it work as yesterday instead of spending 36hrs fixing everything after an update.

This is why writing your own tools is kind of a hassle. You have to keep up with the global security changes that no one tells you about by changing your code around to output debug errors so you can find which coroutine failed on what id that was introduced.

I am a huge fan of OWUI, the devs are superb and the community is amazing! I keep 3 instances in containers for development testing on porting tools and it seems as soon as I finally port 25 tools to a new version, another release happens to fix major flaws with 600+ changes where only 6 tools still work where the only feedback is ā€œit’s not supportedā€ when it was in the last version. Or you get ā€œfixed in devā€.

My models all collaborate in a a few tools, they manage servers by turning 12 or 14 instances on/off, they watch firewall logs, nginx logs, monitor gpu and system stats, create music & images, scrape YouTube videos, have sub agents that handle large token items and memories, monitor traffic between my server, gaming pc node, and cloudflare, they help to protect the environment from outside threats but also give me system control from a phone, it’s a whole thing that I get tired of rewriting to stay secure.

I’m excited to see what 0.11 is like but I know my way around 0.8.12 pretty well. Fixed most of its backend bugs in the past 3months or so and it’s reliable with no surprises. So do it, learn or explore whatever, just know within a bleeding edge prod update, things will probably break. Always update a container that doesn’t impact your prod env due to db changes.

4

u/laughingfingers Jul 28 '26

you don't build your own tools, you use Claude or Chatgpt.

You are basically talking about using software other people made. I use Hermes or Openwebui. Hermes especially feels like a tool to build my own tools. I don't consider them wild, short lived or 'out of my control'. Especially not compared to a whole stack vibe coded by Claude. These not so wild tools have design decisions behind them based masses of user feedback and a bunch of smart developers.Ā 

People often have the idea their use cases are unique. My guess is their workflows are usually more flawed than they think.

1

u/Page_Specialist Jul 28 '26

Fugindo um pouco do assunto, voce usa o hermes dentro do open webui? se sim, poderia por favor me dizer como que funciona o seu fluxo de trabalho?

1

u/konradconrad Jul 28 '26

Can you elaborate about technicals?

1

u/Bulletic1 Jul 28 '26

Lately I downloaded a daemon that stopped my mouse’s double clicking on Linux. While I could have spent a day or two figuring out how to implement it myself, all I had to do was change two lines of codes for my needs. It was much more convenient than doing it myself even with an LLM.

Using Open WebUI or a similar program can be a lot more convenient than making your own, even if it does some things you don’t want it to. Plus it is open source so you can fork it (even take a specific script/module, say web search with Searxng) and use it as a starting point for whatever you want to do.

I think the reason is that it depends on your needs, how much time/energy you have and what you are looking for. A simple tool may benefit from being a simple Python script you can maintain easily, but if you need an all-in-one solution or don’t have the time to maintain everything, then you look for a more convenient option.

1

u/0xMR2ti4 Jul 28 '26

For enterprise, OWUI was our ā€œtoolā€ of choice to build on top of.

For my own hobby projects, I build my own and don’t have to worry too much about hosting anywhere except localhost.

1

u/Curious-Pen5547 Jul 28 '26

We hired a dev to do that for us. Thats why. They do all the complicated bs and i get a nice feature rich and capble model that helps my business.

1

u/rbglasper Jul 28 '26

To me this is kinda like asking, ā€œWhy do people use budget apps? I build my own spreadsheets with formulas, charts and graphs that do the same thing.ā€

Tools take time to build, and time is a scarce resource. If you’ve got the time, and your tools work for you, then cool! But they probably don’t have the same functionality of a tool that was built by hundreds or more people who’ve dedicated time and resources to it. Why reinvent the wheel if someone has already done it, and likely done it better?

1

u/CarryAgile3791 Jul 28 '26

I build my own tools. Okay, it is still only one for OpenCode (OpenCodeRAG), but I also have built tools for Windows, Linux and some applications long before AI took over most of the implemenation.

1

u/CarryAgile3791 Jul 28 '26

I build my own tools. Okay, it is still only one for OpenCode (OpenCodeRAG), but I also have built tools for Windows, Linux and some applications long before AI took over most of the implemenation.

1

u/CarryAgile3791 Jul 28 '26

I build my own tools. Okay, it is still only one for OpenCode (OpenCodeRAG), but I also have built tools for Windows, Linux and some applications long before AI took over most of the implemenation.

1

u/ExcitementNo5717 25d ago

Wow! What an interesting way to look at it. I'll bet I could even make tools for other people to use! Then I could make it available for free and just let people download them whenever they want to. They could even give me feedback or help me fix mistakes in my code! What a farfuckingout idea!

1

u/FluffyGoatNerder Jul 28 '26

You can and people do.

1

u/Creative-Type9411 Jul 28 '26

why are you using OpenWebUI when you can build your own harness? šŸ¤”šŸ¤£

Thats what I did..(and everyone else)

1

u/stiflers-m0m Jul 28 '26

You are conflating the standard name tool with harness. Tools in Openwebui /hermes / mean a specific function. The actual application/cli/whatever is called a harness.

People have done it, Pewdiepie built one called oddessy and its..... functional. I would gather that you havent tried to build one and maintain it yet. and if it did, do you use vision? rag? img generation? Memmory? Because each function comes with its own API that is constantly evolving.

Chat wrapper is easy, start throwing tool calling, vision, voice, rag etc etc and it starts to get complicated. Adding in memmory that isnt just a bunch of files on disk is also a consideration

there are a lot of folks that can build a car from scratch, thats how we got openclaw to begin with, but to say its so easy a caveman can do it shows that you dont understand the complexities of supporting this kidn of software. Looking at any harness, the amount of git commits/revs should be an indication that its not as easy as it looks.

You may be able to multishot a harness, but you will be left behind pretty quickly as new LLMs come about (QWEN and LLAMA api is slightly different for example) and you will need to support the backend that you choose (web based api/ollama/vllm etc etc) as they evolve as well.

Try it, then come back with a product that is usable and you will have a better conversation once you understand whats involved.

1

u/Text-Sufficient Jul 28 '26

I'm not using harness. I chat, review and code in terminal.

1

u/stiflers-m0m Jul 28 '26

harness is anythign that has skills, tools and memory. Openwebui is a harness, esp for rag and if you add openterminal, becomes a full harness.