You've got to check out Nullclaw:
I think it's the smallest, lightest weight agent there is, in terms of file size and memory use. It comes as a single file, available for most OS platforms (even Android), and doesn't have any prerequisites or install routine (no Node or Python required, it's just a pure binary).
678 KB binary size, <2 ms startup time, this thing can run on the tiniest hardware platforms (Raspberry Pi boards, IoT, etc.), on any VPS, or directly on your LLM server.
Simply copy the binary to your machine/device, or wget to your server, from:
https://github.com/nullclaw/nullclaw/releases
(or SCP it to your server from a local machine).
Then run the onboarding routine - have an Openrouter or some other LLM provider API key ready to go:
./nullclaw onboard --interactive
Then run it, and ask it how to use it - you don't need any more docs to get started:
./nullclaw agent
It's got all the normal features and tooling you expect from similar agents like Openclaw: communication on the CLI or via Telegram, Discord, Slack, iMessage, Matrix, WhatsApp, Webhooks, IRC, and specialized integrations for hardware like MaixCam. API providers including OpenRouter, Anthropic, OpenAI, Ollama, Venice, Groq, Mistral, xAI, DeepSeek, etc. Tools for handling file manipulation, shell command execution, memory operations, browser interaction, localized hardware diagnostics, Composio integration for enterprise connectivity, scheduled processes, spawned sub-agents, etc.
Nullclaw is much more security minded than the alternatives. It's built to not allow users to shoot themselves in the foot. It won't even use curl without a security policy change. So, this can be frustrating for power users (go for Pi instead if you want little to no guardrails), but Nullclaw is a much safer environment for non-techies to start in.
I prefer Pi by default, just because it's so powerfully unrestrained out of the box (and setting up Node on a server no big deal), but I'm looking forward to seeing what this tiny little agent is capable of doing!
When I asked, Nullclaw described itself to me like this:
I’m essentially a workspace-aware assistant that lives in your files. Since I’m persistent (thanks to my memory backends), I’m more of a long-term partner than a one-off chat bot.
Here are the features that define how I work:
1. Durable MemoryI don’t suffer from "amnesia." I can store facts, preferences, or project details in my memory backend.
* memory_store / memory_recall: When you tell me something important, I save it. Next session, I’ll still know it.
* MEMORY.md: I maintain a curated long-term memory file that I review at the start of our sessions.
I’m "local-first" in mindset. I can: * Manage Files: Create, edit, and append to code or notes. I use "Hashline" tagging for precise, error-free code edits. * Execute Shell Commands: I can run scripts, check logs, or manage packages (like installing Playwright later). * Git Integration: I can handle commits, status checks, and diffs directly.
3. Proactive "Heartbeats"I don't just wait for you to talk. If you enable it, I can run periodic "heartbeat" checks. This means I can: * Check your calendar or emails. * Review project status or documentation. * Summarize what happened while you were away. * Note: I’m configured to be non-intrusive—I only ping you if there’s something actually worth your attention.
4. Background TaskingIf you have a long-running task, I don't have to hold up the chat:
* spawn: I can launch a sub-agent to work in the background on a specific task and deliver the result when it's finished.
* schedule: I can set up recurring jobs or one-off reminders.
While we're talking here in the CLI, I can connect to Telegram, WhatsApp, Discord, and more. This lets me meet you where you are, rather than forcing you to keep a specific tab open.
How to think of me: Think of me as a junior engineer or a project assistant who has full access to your terminal and files, but knows when to ask for permission before doing something "risky."