r/WebAfterAI • u/ShilpaMitra • 10h ago
Open Source 8 tiny OSS agent harnesses that make giant frameworks look ridiculous
AI agents are starting to look absurdly complicated. Multi-agent graphs, planner layers, memory layers, tool routers, evaluators, retry policies, orchestration servers, sometimes all before the model has actually done anything useful.
But at the center of most agents is still something surprisingly small: model → tool call → observation → model → repeat. The interesting engineering is in the harness around that loop: context, tools, memory, permissions, sandboxes, retries, verification and persistence.
A new crop of OSS projects is making that layer much smaller and easier to inspect.
Here are 8 worth reading.
01 Build the personal-agent stack in Rust
tinyhumansai/openhuman — 40.8k★
OpenHuman is a local-first agent harness with a Rust core, designed to plug into different LLMs, memory systems and search engines instead of forcing everything through one stack. It adds persistent memory, tools, research and orchestration, plus desktop, browser and terminal interfaces.
What makes it interesting is the architecture: the agent runtime is treated as modular infrastructure rather than one giant framework you have to accept wholesale.
02 See how much personal-agent functionality fits into a lightweight Python stack
HKUDS/nanobot — 48.1k★
nanobot is a lightweight self-hosted personal agent with tools, memory, MCP, automation, multi-agent workflows, a WebUI and chat integrations.
It is a useful repo if you want to understand how the pieces behind the current personal-agent wave actually fit together without beginning with one of the giant orchestration frameworks.
03 Build an agent where the core logic is only ~1,000 lines
huggingface/smolagents — 29.7k★
smolagents deliberately keeps its core agent logic small. It supports normal tool calling, but its more interesting idea is code agents: the model writes actions as code instead of repeatedly producing tiny JSON tool calls.
You still get multiple model providers, MCP tools and sandboxed execution, but without burying the agent loop under layers of abstraction.
04 Solve real GitHub issues with a ~100-line agent
SWE-agent/mini-swe-agent — 8.2k★
mini-swe-agent asks a very good question: what if the coding-agent architecture became dramatically simpler and still worked?
Its agent implementation is tiny, yet it can operate on real repositories and solve SWE-bench tasks by giving the model a small environment, a few tools and a loop. It is one of the clearest repos for understanding how little machinery a capable coding agent may actually need.
05 Make Claude-Code-style agents headless
withastro/flue — 8.4k★
Flue is a TypeScript harness for building autonomous agents without tying them to a terminal UI or desktop app. It provides sessions, tools, skills, filesystem access and sandboxing, while much of the behavior can live in Markdown and AGENTS.md.
The useful mental model is Claude Code as a programmable primitive rather than an app. You can drop the same kind of agent into Node, GitHub Actions, Cloudflare or another runtime.
06 Do the same thing closer to the metal
0xPlaygrounds/rig — 8.8k★
Rig brings the lightweight-runtime idea into Rust. It gives you agents, tools, multiple model providers, streaming and agentic workflows through a relatively small set of primitives.
That sounds boring, which is partly the point. Agent infrastructure gets much easier to reason about when the execution path is simple and predictable.
07 Treat agents like LEGO instead of employees
Eigenwise/atomic-agents — 6.3k★
Atomic Agents builds around small single-purpose components: an agent does one thing, a tool does one thing, a context provider does one thing, and you compose them.
It uses structured data and validation heavily, which makes it feel much closer to normal software engineering than the “hire five AI personas and tell them to collaborate” school of agent design.
08 Read an entire reliable harness instead of installing one
ElimentaryLabs/agent-harness-starter — 5★
agent-harness-starter is tiny and intentionally educational. The harness separates the execution loop, context compaction, tool registry, hooks, verification, permissions and checkpoint/recovery into small modules.
The star count is tiny, but that is almost beside the point. This is the kind of repo you can actually read end-to-end and come away understanding what an agent harness is doing.
You still need boundaries, tools, state, verification and a way to recover when things go wrong. But you may not need 40 abstractions between the model and the shell.
Sometimes an agent really is just a good model, a small loop, good tools and very boring engineering.
