Remix.run Logo
▲ Show HN: Hob - Open-source, on device alternative to Claude Cowork and ChatGPT(github.com)
83 points by pancomplex 7 hours ago | 21 comments

Hey HN, I'm Christian and this is a new OSS project I've been noodling on for the last couple of weeks. Hob is a free, MIT-licensed desktop app for Mac, Windows and Linux that works on your files the way the Claude and ChatGPT desktop apps do, except the model runs on your own computer. It uses open-weight models (currently Gemma 4 and gpt-oss). All your chats and files never leave your system. The only things that go online are web search (can be turned off in settings) and any MCP connectors you add yourself.

Main features:

- Automatically finds the best open-weight model for your hardware on first install (Mac/Linux/Windows)

- Writes sandboxed Python code for ad hoc tools (data processing, document conversion, graphs etc.)

- Built-in web search (powered by SearXNG)

- MCP support

- Image recognition

- CRUD to your local filesystem

- Works fully offline with no internet

Before building this I tried every local AI app I could find, but it seemed each one had different problems. The main thing I noticed is that none of them could do what the ChatGPT and Claude apps do with your files, e.g. read and change files in a folder, look at images, run code in a sandbox, draw a chart. The most advanced thing any of them did was paste a plain text file into a small context window, which basically failed as soon as you had a file larger than a few KB. I couldn't find anything that could easily parse images and bigger PDFs.

The OSS solutions that were more advanced all seemed to default to hosted models (either OSS or closed), which defeats the entire point of the privacy that on-device OSS offers. They also seemed to push towards an account/open-core style business.

I build it using Electron bridged with llama.cpp in its own process. On initial load, the system will try and figure out if you have a compatible graphics card and if not default to CPU-only (I ran into a lot of issues of graphics card beeing seemingly compatible but then crashing on first query, there's a whole saga to this lol). Code execution happens in a sandbox that can only write to the chat's folder and has no network unless asked (sandbox-exec on macOS, Landlock on Linux and a low-integrity process on Windows). Images go to a small Qwen3-VL model. Dictation is a local Whisper model.

The hardest part was definitely to get the smaller models to use tools reliably. Ran into a ton of issues of 4B models happily saying "here's your chart" without ever calling the chart tool or get stuck in an infinite call loop. I spent a fair amount of the work building guards vs tweaking prompts (that didn't really work for small models).

I understand the pushback that local models are weaker than frontier cloud models. This is true, but for most tasks for most normal people, I'd argue you rarely need the newest frontier model. From my own evals, systems with 16+ GB of RAM do really well, and if you have a GPU or more RAM, you get very close to what you'll get out of the box with a frontier hosted model.

Excited to hear what you think and see how it runs on other systems!

▲jrm4 3 hours ago | parent | next [-]

So there are a zillion of these, including ones that do what yours does. But that being said, I'm going to always upvote every single one of them because this is better and more important that what the big companies are doing across the board.

▲jrm4 an hour ago | parent | next [-]

Fwiw, I'm liking the koboldcpp "ecosystem", including koboldlite; basically it's letting me try a little of everything, though there may be something of a "jack of all trades master of none" thing going on. But it has these nice little presets for, e.g. llms, voice, music, images, a "chatgpt"-esque interface, etc.

▲pancomplex 3 hours ago | parent | prev [-]

Thank you! Would love to hear which ones you've used. Working with local files without anything going to the cloud was the main thing I wanted. I tried Jan, OpenWork, Chatbox and Lobe, and couldn't get that working well in any of them. If there's one I missed it would be great to check it out!!

▲prophesi 2 hours ago | parent | next [-]

Have you tried Open WebUI? It doesn't determine which model works best for your hardware, but it otherwise has a very large feature set with a large community, and runs offline by default. Geared more for technical users, however.

▲l3x4ur1n 2 hours ago | parent | prev | next [-]

I am using Hermes and I did not try charts, but the rest it can do with ease. And I use DeepSeek flash API as a driver most of the time.

▲fmxexpress 2 hours ago | parent | prev | next [-]

In PasClaw, I specifically built it to do local embedding and other local only functionality. Whether it works well or not yet is another story.

▲universenz 3 hours ago | parent | prev | next [-]

Definitely check out Osaurus for macOS and Windows. Heavily privacy focused with e2ee iOS and iPadOS tethers.

▲ajvs 2 hours ago | parent | prev [-]

Orca works great.

▲mickelsen an hour ago | parent | prev | next [-]

Haven't tried it yet, but I like that you shared your process in such an honest way, and kept it no frills, as in no LLM wall-of-text readme in the repo. Wish we could see that more often these days.

▲pancomplex 37 minutes ago | parent [-]

thank you! Haha I always make it a point these days do handwrite these things. I think everyone is tired of overly verbose perfectly written AI text.

▲_aavaa_ 2 hours ago | parent | prev | next [-]

Why does it have to be JS? With all this AI, why can't we ship native apps.

▲pancomplex 2 hours ago | parent [-]

It's still pretty tricky to do this as a solo dev to keep feature parity in my experience (fun fact, even Claude's own Desktop app is made in Electron).

That being said, majority of the heavy LLM lifting happens natively with llama.cpp :)

▲rhedak an hour ago | parent | prev | next [-]

I'm actually building something similar and thank you very much for sharing you gave me a few inspirations. I want mine to integrate seemlesly with an animated Ai companion (it's harder than it sounds haha). Anyways great stuff! Gave it a star.

▲pancomplex an hour ago | parent [-]

Thank you. Yes please fork that's exactly why I put it out on MIT license :)

▲eecks 2 hours ago | parent | prev | next [-]

> Automatically finds the best open-weight model for your hardware on first install

Do you have examples of what hardware runs what models?

▲laughing_snyder 3 hours ago | parent | prev | next [-]

Looks great. One thing I am missing is the ability to change the installation directory for the models. For space reasons, I want them to be on a different partition.

▲pancomplex 3 hours ago | parent [-]

Good call. Are you on PC/Mac/Linux?

▲laughing_snyder 3 hours ago | parent [-]

Linux. I saw you support HOB_USER_DATA, which is great. But I want my config to remain in .config/Hob and only move the models (or whatever else needs lots of space) to another disk/directory.

Edit: Actually I think HOB_USER_DATA is enough for my use case.

▲vorticalbox 3 hours ago | parent | prev [-]

Did you happen to try bionic?

https://lmstudio.ai/

▲laughing_snyder 3 hours ago | parent [-]

This doesn't seem to be open source? They link a GitHub account, but I don't see the repo for this tool.

▲universenz 2 hours ago | parent [-]

Correct, they’re closed source and you can’t opt out of analytics