Published Aug 25, 2026, 6:00 AM EDT I’m Adam Conway, an Irish technology fanatic with a BSc in Computer Science and I'm XDA’s Lead Technical Editor. My Bachelor’s thesis was conducted on the viability of benchmarking the non-functional elements of Android apps and smartphones such as performance, and I’ve been working in the tech industry in some way or another since 2017. In my spare time, you’ll probably find me playing Counter-Strike or VALORANT, and you can reach out to me at adam@xda-developers.com, on Twitter as @AdamConwayIE, on Instagram as AdamConwayIE, or u/AdamConwayIE on Reddit. I've been spending some time with two DGX Sparks recently, with DeepSeek V4 Flash, a 284-billion-parameter model, being my go-to model of choice running across both of them. They're connected over a ConnectX-7 cable with 128 GB of unified memory each, and can push anywhere from 30 to 50 tokens per second most of the time. Since then, it's become more than just a box for inference when I need it. In fact, these two mini PCs are now the only AI I trust with actual work, and they’ve quietly become the most powerful productivity assistant I’ve ever had, because they run all of it on the desk in front of me. Nothing goes to the cloud, nothing is logged by someone else, and the only recurring bill is electricity. Hermes Agent is what enables most of it; a chatbot can answer questions quickly, and there are already endless amounts of choice that you can pay for every month. This isn't that, and instead, is something that genuinely helps improve my productivity. Nvidia DGX Spark Giving the brain a job was what it needed Your AI is useless if you can't use it for anything Everything that this assistant can do starts with something a lot of other local LLMs can't do: read practically everything at once. The full, million-token context window fits on the two Sparks with gigabytes to spare, as the KV cache runs at NVFP4 which Blackwell dequantizes on the tensor cores. A single context window holds around the full million in roughly 8.5 GiB, making basically all of the difference in both capability and speed. To be fair, 50 tokens per second doesn't sound like a lot, but it's plenty fast for most workloads. Prompt processing runs at 1300 to 1900 tokens a second, so loading a large codebase into context barely takes any time at all. On top of that, a 120,000-token session pushes about 90 GB across the ConnectX-7 link between both machines, which is hidden by the 200 Gb/s transfer speed. Most local LLMs people run have the same issue, where they have a much smaller context than the model actually supports thanks to the VRAM constraints most people are running them in. This one keeps the whole conversation, keeps the whole repository, keeps everything from the entire day, and answers from all of it. I also ran a couple of needle-in-a-haystack tests with a 500,000 token fill of irrelevant text, then asked it to recite a specific detail to see how it tracked long-context sessions, and it recited it back perfectly every time. It helps automate my code testing It splits itself into subagents The reason almost nobody uses a local model as an actual assistant isn’t for its speed or how smart it is, but because a lot of genuinely useful work requires accessing real things. And accessing those real things means giving it access to secrets and login details, something most people understandably wouldn't trust to a cloud model. This exact problem is why platforms like Tines' 3B exists, as it allows them to legitimately give an AI agent access to services without giving it the actual keys. Naturally, a local model is still as vulnerable to prompt injection as a cloud model, maybe even more so, which is why I'm still very careful about both how and where my Hermes Agent connects to the internet. It's firewalled off from most of my LAN, and the connections it can make to the wider web are dictated by me rather than by the agent itself. All of my interactions in that context are done through Discord and Telegram, though primarily the latter. I have automated cronjobs set up, and one messages me with tech-related news every morning. However, my favorite is a code reviewing agent that I set up recently, and it genuinely works really well. How it works is really simple; it has an SSH key that's been added to a single Git repository I've maintained for a couple of years, and as it's a multi-architecture full-stack deployment, you can imagine that it's grown substantially in that time. However, that's not all the agent has access to: it has a separate token that allows it to open issues in the repository as well. I message it to evaluate the different modules in the repository, it spins up six different subagents all on the same model, and I get a reply with a list of potential issues 20 to 30 minutes later. I pick from the list which ones to actually file as issues, and then I work on them myself after that. As well, because it's Hermes Agent, it tracks everything that I ask it to improve or change, as its memory is one of the primary features of the harness. Persistent memory lives across sessions in actual files it can read at the start of every conversation, and that includes my preferences, any projects, and even the mistakes that it made the week before that it noted so it doesn't happen again. Even better, when I ask it to do something it was never shown, once it figures it out, it can save it as a skill to load back into context the next time a similar task shows up. All of this has been genuinely really useful, especially the code-review part. Are the responses perfect? No, and that's why I have it highlight the issues to me first rather than automatically filing them to Git. I understand the architecture of my project, and there are plenty of things in it that aren't actually used in production but are a part of the QA process, and it has sometimes treated those demo files as if they were part of prod. But it still means I get a fresh pair of eyes on a project that I've worked on for so long that it can be easy to tunnel vision on, and that kind of external "read" is simply unmatched. I just treat it like a pair programmer, rather than something that does the work for me. Managing the electricity bill is the only downside Idle costs are the highest cost The idle cost of both machines is the difference between a productivity hack and yet another recurring expense, so a Wake-on-LAN setup automated through Home Assistant is next on the cards. With that, I'll be able to spin them up when needed and shut them down again when they're not, as the idle costs of both machines far outweighed the cost of actual inference when they were running. The only downside is that, at 40 to 50 output tokens a second, both can generate a maximum of approximately 4.3 million tokens a day, but that's still a lot of tokens to actually output. Mine doesn’t come anywhere near it in most weeks, let alone a month, as the majority of the codebase work that I outlined above is input rather than output. A local assistant is decent for execution, but it should never be self-driven in the way you might be tempted to let it. It can do automated code reviews, research, and other, menial tasks, but you never want it to complete actions on your behalf that actually matter. The more useful it's become over the past while, the more it becomes impossible to miss that it's the case. An appliance should be boring, and honestly, when it works, it absolutely is.
I turned two mini PCs into a local AI that reads my whole codebase, and now it reviews my code for me
Full Article
Original Source
Read the full article at Xda-developers →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.