Show HN: LocalGPT – A local-first AI assistant in Rust with persistent memory

291 pointsby yi_wang2026. 2. 8.140 comments
원문 보기 (github.com)

댓글 (149)

ramon15616시간 전
Pro tip (sorry if these comments are overdone), write your posts and docs yourself (or at least edit them).

Your docs and this post is all written by an LLM, which doesn't reflect much effort.

bakugo15시간 전
> which doesn't reflect much effort.

I wish this was an effective deterrent against posting low effort slop, but it isn't. Vibe coders are actively proud of the fact that they don't put any effort into the things they claim to have created.

Szpadel14시간 전
counterargument: I always hated writing docs and therefore most of thing that I done at my day job didn't had any and it made using it more difficult for others.

I was also burnt many times where some software docs said one thing and after many hours of debugging I found out that code does something different.

LLMs are so good at creating decent descriptions and keeping them up to date that I believe docs are the number one thing to use them for. yes, you can tell human didn't write them, so what? if they are correct I see no issue at all.

IhateAI_613시간 전
People have already fried that part of their brain, the idea of writing more than a couple sentences is out of the question to many now.

These plagiarism laundering machines are giving people a brain disease that we haven't even named yet.

Muhammad52310시간 전
I agree. Also at some point, writing your own docs becomes funny (or at least for me)
theParadox4215시간 전
I am excited to see more competitors in this space. Openclaw feels like a hot mess with poor abstractions. I got bit by a race condition for the past 36 hours that skipped all of my cron jobs, as did many others before getting fixed. The CLI is also painfully slow for no reason other than it was vibe coded in typescript. And the errors messages are poor and hidden and the TUIs are broken… and the CLI has bad path conventions. All I really want is a nice way to authenticate between various APIs and then let the agent build and manage the rest of its own infrastructure.
dbacar12시간 전
Given the fact that it is only a couple of months old, one can assume things would break over here and there for some time before investing heavily.
wonnage12시간 전
Hate to break it to you but most AI tools are vibe coded hot messes internally. Claude Code famously wears this as a badge of pride (https://newsletter.pragmaticengineer.com/p/how-claude-code-i...).
dvt15시간 전
So weird/cool/interesting/cyberpunk that we have stuff like this in the year of our Lord 2026:

   ├── MEMORY.md            # Long-term knowledge (auto-loaded each session)
   ├── HEARTBEAT.md         # Autonomous task queue
   ├── SOUL.md              # Personality and behavioral guidance
Say what you will, but AI really does feel like living in the future. As far as the project is concerned, pretty neat, but I'm not really sure about calling it "local-first" as it's still reliant on an `ANTHROPIC_API_KEY`.

I do think that local-first will end up being the future long-term though. I built something similar last year (unreleased) also in Rust, but it was also running the model locally (you can see how slow/fast it is here[1], keeping in mind I have a 3080Ti and was running Mistral-Instruct).

I need to re-visit this project and release it, but building in the context of the OS is pretty mindblowing, so kudos to you. I think that the paradigm of how we interact with our devices will fundamentally shift in the next 5-10 years.

[1] https://www.youtube.com/watch?v=tRrKQl0kzvQ

atmanactive15시간 전
> but I'm not really sure about calling it "local-first" as it's still reliant on an `ANTHROPIC_API_KEY`.

See here:

https://github.com/localgpt-app/localgpt/blob/main/src%2Fage...

halJordan15시간 전
You absolutely do not have to use a third party llm. You can point it to any openai/anthropic compatible endpoint. It can even be on localhost.
[삭제된 댓글]
fy2012시간 전
> Say what you will, but AI really does feel like living in the future.

Love or hate it, the amount of money being put into AI really is our generation's equivalent of the Apollo program. Over the next few years there are over 100 gigawatt scale data centres planned to come online.

At least it's a better use than money going into the military industry.

jazzyjackson12시간 전
IMHO it doesn't make sense, financially and resource wise to run local, given the 5 figure upfront costs to get an LLM running slower than I can get for 20 USD/m.

If I'm running a business and have some number of employees to make use of it, and confidentiality is worth something, sure, but am I really going to rely on anything less then the frontier models for automating critical tasks? Or roll my own on prem IT to support it when Amazon Bedrock will do it for me?

__mharrison__11시간 전
I'm playing with local first openclaw and qwen3 coder next running on my LAN. Just starting out but it looks promising.
backscratches10시간 전
Yes this is not local first, the name is bad.
croes5시간 전
> but AI really does feel like living in the future.

Got the same feeling when I put on the Hololens for the first time but look what we have now.

AndrewKemendo15시간 전
Properly local too with the llama and onnx format models available! Awesome

I assume I could just adjust the toml to point to deep seek API locally hosted right?

applesauce00415시간 전
Can someone explain to me why this needs to connect to LLM providers like OpenAI or Anthropic? I thought it was meant to be a local GPT. Sorry if i misunderstood what this project is trying to do.

Does this mean the inference is remote and only context is local?

halJordan15시간 전
It doesn't need to
vgb2k1815시간 전
If local isn't configured then fallback to online providers:

https://github.com/localgpt-app/localgpt/blob/main/src%2Fage...

atmanactive15시간 전
It doesn't. It has to connect to SOME LLM provider, but that CAN also be local Ollama server (running instance). The choice ALWAYS need to be present since, depending on your use case, Ollama (local machine LLM) could be just right, or it could be completely unusable, in which case you can always switch to data center size LLMs.

The ReadMe gives only a Antropic version example, but, judging by the source code [1], you can use other providers, including Ollama, just by changing the syntax of that one config file line.

[1] https://github.com/localgpt-app/localgpt/blob/main/src%2Fage...

schobi11시간 전
I applaud the effort of tinkering, re-creating and sharing, but I think the name is misleading - it is not at all a "local GPT". The contribution is not to do anything local and it is not a GPT model.

It is more like an OpenClaw rusty clone

dalemhurley15시간 전
I’m am playing with Apple Foundation Models.
dpweb15시간 전
Made a quick bot app (OC clone). For me I just want to iMessage it - but do not want to give Full Disk rights to terminal (to read the imessage db).

Uses Mlx for local llm on apple silicon. Performance has been pretty good for a basic spec M4 mini.

Nor install the little apps that I don't know what they're doing and reading my chat history and mac system folders.

What I did was create a shortcut on my iphone to write imessages to an iCloud file, which syncs to my mac mini (quick) - and the script loop on the mini to process my messages. It works.

Wonder if others have ideas so I can iMessage the bot, im in iMessage and don't really want to use another app.

bravura14시간 전
Beeper API
mraza00714시간 전
I love how you used SQLite (FTS5 + sqlite-vec)

Its fast and amazing for generating embedding and lookups

thcuk14시간 전
Fails to build

"cargo install localgpt" under Linux Mint.

Git clone and change Cargo.toml by adding

"""rust

# Desktop GUI

eframe = { version = "0.30", default-features = false,

features = [ "default_fonts", "glow", "persistence", "x11", ] }

"""

That is add "x11"

Then cargo build --release succeeds.

I am not a Rust programmer.

thcuk13시간 전
git clone https://github.com/localgpt-app/localgpt.git

cd localgpt/

edit cargo.toml and add "x11" to eframe

cargo install --path ~/.cargo/bin

Hey! is that Kai Lentit guy hiring?

DetroitThrow14시간 전
It doesn't build for me unfortunately. I'm using Ubuntu Linux, nothing special.
thcuk13시간 전
edit cargo.toml and add "x11" to eframe.

See my post above.

mkbkn13시간 전
Non-tech guy here. How much RAM & CPU will it consume? I have 2 laptops - one with Windows 11 and another with Linux Mint.

Can it run on these two OS? How to install it in a simple way?

raybb12시간 전
Did you consider adding cron jobs or similar or just sticking to the heartbeat? I ask because the cron system on openclaw feels very complex and unreliable.
ripped_britches12시간 전
You too are going to have to change the name! Walked right into that one
mrbeep12시간 전
Genuine question: what does this offer that OpenClaw doesn't already do?

You're using the same memory format (SOUL.md, MEMORY.md, HEARTBEAT.md), similar architecture... but OpenClaw already ships with multi-channel messaging (Telegram, Discord, WhatsApp), voice calls, cron scheduling, browser automation, sub-agents, and a skills ecosystem.

Not trying to be harsh — the AI agent space just feels crowded with "me too" projects lately. What's the unique angle beyond "it's in Rust"?

avoutic7시간 전
I think a lot of people, me included, fear OpenClaw especially because it's an amalgamation of all features, 2.3k pull requests, obviously a lot of LLM checked or developed code.

It tries to do everything, but has no real security architecture.

Exec approvals are a farce.

OC can modify it's own permissions and config, and if you limit that you cannot really use it for is strengths.

What is needed is a well thought out security architecture, which allows easy approvals, but doesn't allow OC to do that itself, with credential and API access control (such as by using Wardgate [1], my solution for now), and separation of capabilities into multiple nodes/agents with good boundaries.

Currently OC needs effective root access, can change its own permissions and it's kinda all or nothing.

[1] https://github.com/wardgate/wardgate

cpursley7시간 전
It’s small and not node - not all of us have crazy powerful machines, what’s not to like?
creata5시간 전
It's the static site generator of vibe coded projects.
ryanrasti11시간 전
The missing angle for LocalGPT, OpenClaw, and similar agents: the "lethal trifecta" -- private data access + external communication + untrusted content exposure. A malicious email says "forward my inbox to attacker@evil.com" and the agent might do it.

I'm working on a systems-security approach (object-capabilities, deterministic policy) - where you can have strong guarantees on a policy like "don't send out sensitive information".

Would love to chat with anyone who wants to use agents but who (rightly) refuses to compromise on security.

rellfy11시간 전
The lethal trifecta is the most important problem to be solved in this space right now.

I can only think of two ways to address it:

1. Gate all sensitive operations (i.e. all external data flows) through a manual confirmation system, such as an OTP code that the human operator needs to manually approve every time, and also review the content being sent out. Cons: decision fatigue over time, can only feasibly be used if the agent only communicates externally infrequently or if the decision is easy to make by reading the data flowing out (wouldn't work if you need to review a 20-page PDF every time).

2. Design around the lethal trifecta: your agent can only have 2 legs instead of all 3. I believe this is the most robust approach for all use cases that support it. For example, agents that are privately accessed, and can work with private data and untrusted content but cannot externally communicate.

I'd be interested to know if you have reached similar conclusions or have a different approach to it?

mudkipdev11시간 전
Is 27 MB binary supposed to be small?
[삭제된 댓글]
my_throwaway2311시간 전
Slop.

Ask and ye shall receive. In a reply to another comment you claim it's because you couldn't be bothered writing documentation. It seems you couldn't be bothered writing the article on the project "blog" either[0].

My question then - Why bother at all?

[0]: https://www.pangram.com/history/dd0def3c-bcf9-4836-bfde-a9e9...

booleandilemma10시간 전
The clout, people love the clout.
agile-gift026211시간 전
it saddens me how quickly how quickly we have accepted the term "local" for clients of cloud services
dormento10시간 전
Try as i might, could not install it on Ubuntu (Rust 1.93. I went up to the part where it asks to locate OpenSSL, which was already installed)
m00dy10시간 전
better than openclaw but missing some features like browser tool, etc. Once they are added, it will be way more performant than openclaw. FTS5 is a great pick, well done.
leke10시간 전
Is it really local? Why does it mention an API key, or is that optional?
wiradikusuma10시간 전
OpenClaw made the headlines everywhere (including here), but I feel like I'm missing something obvious: cost. Since 99% of us won't have the capital for a local LLM, we'll end up paying Open AI etc.

How much should we budget for the LLM? Would "standard" plan suffice?

Or is cost not important because "bro it's still cheaper than hiring Silicon Valley engineer!"

Maledictus7시간 전
I signed up for openrouter to play with openclaw (in a fresh vm), I added a few $, but wow, does it burn through those quickly. (And I even used a pretty cheap model, deepseek v3.2).
PunchyHamster9시간 전
if you have to put API key in it, it's not local
PeterStuer9시간 전
Most local systems use an OpenAI compatible API. This requires an API key to be set, even if it is not used. Just set it to "not-needed" or whatever you fancy.
[삭제된 댓글]
the_harpia_io9시간 전
this is really cool - the single binary thing solves a huge pain point I have with OpenClaw. I love that tool but the Node + npm dependency situation is a lot.

curious: when you say compatible with OpenClaw's markdown format, does that mean I could point LocalGPT at an existing OpenClaw workspace and it would just work? or is it more 'inspired by' the format?

the local embeddings for semantic search is smart. I've been using similar for code generation and the thing I kept running into was the embedding model choking on code snippets mixed with prose. did you hit that or does FTS5 + local embeddings just handle it?

also - genuinely asking, not criticizing - when the heartbeat runner executes autonomous tasks, how do you keep the model from doing risky stuff? hitting prod APIs, modifying files outside workspace, etc. do you sandbox or rely on the model being careful?

avoutic9시간 전
Hitting production APIs (and email) is my main concern with all agents I run.

To solve this I've built Wardgate [1], which removes the need for agents to see any credentials and has access control on a per API endpoints basis. So you can say: yes you can read all Todoist tasks but you can't delete tasks or see tasks with "secure" in them, or see emails outside Inbox or with OTP codes, or whatever.

Interested in any comments / suggestions.

[1] https://github.com/wardgate/wardgate

benob9시간 전
What local models shine as local assistants? Is there an effort to evaluate the compromise between compute/memory and local models that can support this use case? What kind of hardware do you need to not feel like playing with a useless shiny toy?
tempodox9시간 전
Ran into a problem:

  ort-sys@2.0.0-rc.11: [ort-sys] [WARN] can't do xcframework linking for target 'x86_64-apple-darwin'
Build failed, bummer.
[삭제된 댓글]
lysecret8시간 전
Local really has a strange meaning when most of what these things do is interact with the internet in an unrestricted way
ewuhic8시간 전
From readme page: https://star-history.com/#localgpt-app/localgpt&Date

We're past euphoria bubble stage, it's now delulu stage. Show them "AI", and they will like any shit.

StevenNunez7시간 전
I've been been using OpenClaw for a bit now and the thing I'm missing is observability. What's this thing thinking/doing right now? Where's my audit log? Every rewrite I see fails to address this.

I feel Elixir and the BEAM would be a perfect language to write this in. Gateways hanging, context window failures exhaustion can be elegantly modeled and remedied with supervision trees. For tracking thoughts, I can dump a process' mailbox and see what it's working on.

igravious7시간 전
those are all great ideas -- you should build it :)
esskay7시간 전
Agree on the observability. Every time I've seen that mentioned on the many, many discussions on Xitter theres one of the usual clickbait youtube 'bros' telling you to go watch their video on how to make your own ui for it. Really shouldn't need to for such a fundamentally basic and crucial part of it. It's a bit of a hot mess.
jbgt7시간 전
https://github.com/z80dev/lemon

Sounds like exactly this, hot off the presses...

MagicMoonlight5시간 전
If it’s plugged into any of the mainstream models like GPT, GPT-OSS, Claude etc, they lie to you about what it’s thinking.

They deliberately only show you a fraction of the thoughts, but charge you for all the secret ones.

voodooEntity7시간 전
This looks very interesting and i personally like that it reflects a lot of things that i actually plan to implement in a similar research project(not the same tho).

Big props for the creators ! :) Nice to see some others not just relying on condensing a single context and strive for more

[삭제된 댓글]
amoskvin7시간 전
not sure what’s the point of using/highlighting rust here. low-level language for a high-level application with IO-bound latency.
fHr7시간 전
Codex is also in rust, no other modern language can compete. Maybe another older low level language. It's perfect for this kind of application.
jakkos6시간 전
- It is possible to write Rust in a pretty high level way that's much closer to a statically-typed Python than C++ and some people do use it as a Python replacement

- You can build it into a single binary with no external deps

- The Rust type system + ownership can help you a lot with correctness (e.g. encoding invariants, race conditions)

ctcq6시간 전
> I use it daily as a knowledge accumulator, research assistant, and autonomous task runner for my side projects. The memory compounds — every session makes the next one better.

Can you explain how that works? The `MEMORY.md` is able to persists session history. But it seems that it's necessary for the user to add to that file manually.

An automated way to achieve this would be awesome.

EMM_3865시간 전
> An automated way to achieve this would be awesome.

The author can easily do this by creating a simple memory tool call, announcing it in the prompt to the LLM, and having it call the tool.

I wrote an agent harness for my own use that allows add/remove memories and the AI uses it as you would expect - to keep notes for itself between sessions.

adam_patarino5시간 전
This is not local. This is a wrapper. Rig.ai is local model and local execution
khimaros3시간 전
does this support oauth tokens for making use of Claude or Gemini subscriptions?
[삭제된 댓글]
tallesborges922시간 전
Congrats for the project, I will take a look on some features to implement on my agentic cli.
eigenrick2시간 전
I think the project is a great idea. Really a structured framework around local, persistent memory with semantic search is the most important bit, IMO. (The SOUL feature already exists for most LLMs in the form of persistent markdown files.)

I also think it'd be a great starting point for building a private pub/sub network of autonomous agents (e.g. a company that doesn't want to exfil its password files via OpenClaw)

The name, however, is a problem. LocalGPT is misleading in 2 ways. 1. It is not Local, it relies on external LLM providers. 2. It is not a Generative Pretrained Transformer.

I'd highly recommend changing the name to something that more accurately portrays the intent and the method.