Live data from Hacker News

Sidekick: Local-first native macOS LLM app

github.com

71–80 of 97 posts

Re: Sidekick: Local-first native macOS LLM app

#71

Looks great, kudos for making it open-source! Yet as with any app that has access to my local file system, what instantly comes to mind is "narrow permissions" / principle of least permissions. It'd be great if the app would only have read access to my files, not full disk permission. As an end-user, I'm highly concerned that files might get deleted or data shared via the internet. So ideally, Sidekick would have onl…

Comments like this are what turn me off about this website. Entitled, much?

Re: Sidekick: Local-first native macOS LLM app

#72

Looks great, kudos for making it open-source! Yet as with any app that has access to my local file system, what instantly comes to mind is "narrow permissions" / principle of least permissions. It'd be great if the app would only have read access to my files, not full disk permission. As an end-user, I'm highly concerned that files might get deleted or data shared via the internet. So ideally, Sidekick would have onl…

Comments like this are what turn me off about this website. Entitled, much?

Apart from the M1 comment, I think the commenter voices a reasonable concern and isn't hostile or antagonistic

Re: Sidekick: Local-first native macOS LLM app

#73

Looks great, kudos for making it open-source! Yet as with any app that has access to my local file system, what instantly comes to mind is "narrow permissions" / principle of least permissions. It'd be great if the app would only have read access to my files, not full disk permission. As an end-user, I'm highly concerned that files might get deleted or data shared via the internet. So ideally, Sidekick would have onl…

Comments like this are what turn me off about this website. Entitled, much?

He complimented the app and made a decent suggestion..

Re: Sidekick: Local-first native macOS LLM app

#76

Earlier quoted context omitted.

I think this is a fundamental issue with naive RAG implementations: they aren't accurate enough for pretty much anything

Ultimately, the quality of OCR on PDF is where we are bottlenecked as an industry. And not just in text characters but understanding and feeding to the LLM structured object relationships as we see in tables and graphs. Intuitive for a human, very error prone for RAG.

That's a real issue, but that's masking some of the issues further downstream, like chunking and other context-related problems. There are some clever proposals to make this work, including some of the stuff from Anthropic and Jina. But as far as I can tell, these haven't been tested thoroughly because everyone is hung up at the OCR step (as you identified).

Re: Sidekick: Local-first native macOS LLM app

#77

Looks super neat! Somewhat related, one issue i have with projects like these is it appears like everyone is bundling the UX/App with the core ... pardon my ignorance, "LLM App interface". Eg We have a lot of abstractions for LLMs themselves such as Llama.cpp, but it feels like we lack abstractions for things like what Claude Code does, or perhaps this RAG impl, or whatever. Ie these days it seems like a lot of the m…

I'm not sure there's a market in LLM "middleware" per se. Look at the market segments:

• B2C: wants vertically-integrated tools that provide "middleware" plus interface. Doesn't want to dick around. Often integrates their own service layer as well (see e.g. "character chat" apps); but if not, aims for a backend-integration experience that "knows about" the quirks of each service+model family, effectively commoditizing them. The ultimate aim of any service-generic app of this type is likely to provide an "subscription store" where you purchase subscriptions to inference services through the app, never visiting the service provider itself.

• B2B (think "using agents to drive pseudo-HFT bots for trades in fancy financial instruments that can't be arbitraged through dumb heuristics"): has a defined use-case and wants to control every detail of both "middleware" and backend together. Vertically integrates their own solution — on-prem inference cluster + custom-patched inference engine + business logic that synthesizes the entire prompt at every step. Doesn't bother with the "chat" abstraction other than as part of several-shot prompting.

• B2B2C: wants "scaling an inference cluster + engine + model deployment" to be Somebody Else's Problem; thinks of an "app agent experience" as the deliverable they want to enable their business customers to achieve through their product or service; and thus thinks of "middleware" as their problem / secret sauce — the thing they will build to enable "app agent experiences" to be created with the least business-customer effort possible. The "middleware" is where these B2B2C businesses see themselves making money. Thus, these B2B2C businesses aren't interested in paying some other middleman for a hosted "generic middleware framework as a service" solution; they're interested in being the only middleman, that captures all of the margin. They're interested in library frameworks they can directly integrate into their business layer.

---

For an analogy, think of the "middleware" of an "easy website builder" service like Squarespace/Wix/etc. You can certainly find vertically-integrated website-builder services; and you can also find slightly-lower-level library components to do what the "middleware part" of these website-builder services do. But you can't find full-on website-builder frameworks (powerful enough that the website-builder services actually use them) — let alone a white-labelable headless-CMS + frontend library "website builder builder" — let alone again, a white-labelable headless-CMS "website builder builder" that doesn't host its own data, but lets you supply your own backend.

Why?

Because B2C businesses just want Squarespace itself (a vertically-integrated solution); B2B businesses don't want an "easy website builder", they want a full-on web-app framework that allows them to control both the frontend and backend; and B2B2C businesses want to be "the Squarespace of X" for some vertical X, using high-ish-level libraries to build the highest-level website-building functionality, while keeping all of that highest-level glue code to themselves, as their proprietary "secret sauce." (Because if they didn't keep that highest-level code proprietary, it would function as a "start your own competitor to our service in one easy step" kit!)

---

The only time when the "refined and knowledge-enriched middleware abstraction layer -as-a-Service — but backend-agnostic!" approach tends to come up, is to serve the use-case of businesspeople within B2B orgs, who want to be able to ask high-level questions or drive high-level operations without first needing to get a bespoke solution built by the engineering arm of said org. This is BI software (PowerBI), ERP software (NetSuite), CRM software (Salesforce), etc.

The weird / unique thing about LLMs, is that I don't think they... need this? The "thing about AI", is precisely that you can simply sit an executive in front of a completely-generic base-model chat prompt, and they can talk their way into getting it to do what they want — without an engineer there to gather + formalize their requirements. (Which is not to say that the executive can get the LLM to build software, correctly, to answer their question; but rather, that the executive can ask questions that invoke the agent's inbuilt knowledge and capabilities to — at least much of the time — directly answer the executive's question.)

For LLMs, the "in-context learning" capability mostly replaces "institutional knowledge burned into a generic middleware." Your generic base-model won't know everything your domain-specialist employees know — but, through conversation, it will at least be able to know what you know, and work with that. Which is usually enough. (At least, if your goal was to get something done on your own without bothering people who have better things to be doing than translating your question into SQL. If your goal is to work around the need for domain expertise, though... well, I don't think any "middleware" is going to help you there.)

In short: the LLM B2C use-case is also the LLM "B2Exec" use-case — they're both most-intuitively solved through vertical integration "upward" into the backend service layer. (Which is exactly why there was a wave of meetings last week, of businesspeople asking whether they could somehow share a single ChatGPT Pro $200/mo subscription across their team/org.)

Re: Sidekick: Local-first native macOS LLM app

#78

Earlier quoted context omitted.

Ultimately, the quality of OCR on PDF is where we are bottlenecked as an industry. And not just in text characters but understanding and feeding to the LLM structured object relationships as we see in tables and graphs. Intuitive for a human, very error prone for RAG.

That's a real issue, but that's masking some of the issues further downstream, like chunking and other context-related problems. There are some clever proposals to make this work, including some of the stuff from Anthropic and Jina. But as far as I can tell, these haven't been tested thoroughly because everyone is hung up at the OCR step (as you identified).

For my purposes, all of the data was also available in HTML format, so the OCR wasn't a problem. I think the issue is the RAG pipeline doesn't take the entire corpus of knowledge into its context when making a response, but uses an index to find one or more relevant documents that it believes are relevant, then uses that small subset as part of the input.

I'm not sure there's a way to get what a lot of people want RAG to be without actually training the model on all of your data, so they can "chat with it" similar to how you can ask ChatGPT about random facts about almost any publicly available information. But I'm not an expert.

Re: Sidekick: Local-first native macOS LLM app

#79
post #34

This is not local, but uses the Tavily cloud ( https://tavily.com/ ) ?!

Just downloaded it and mucked about. It definitely works without the cloud, because it works while I'm offline. Looking at the code, it looks like an opt-in feature where you can provide your API key to Tavily.

That said, it seems built toward "Cheat on your homework" and doesn't reliably surface information from my notes, so I uninstalled it.

Post reply on HN