miniclawd packs a full personal AI assistant experience into just under 6,000 lines of TypeScript code. It supports multiple large language model backends, multi-channel chat, persistent memory with daily notes, scheduled tasks, and a Markdown-based skill system — all designed to run efficiently with Bun and installed globally via npm. For those looking to understand how to build a lean but capable AI assistant, miniclawd offers a solid, practical case study.
What miniclawd does and how it is architected
At its core, miniclawd is a modular AI assistant framework written in TypeScript and designed to run on the Bun runtime. The codebase is compact — roughly 5,900 lines — yet it integrates several advanced features that typically bloat AI assistants.
It supports multiple LLM backends out of the box, including Anthropic, OpenAI, Google, OpenRouter, Groq, and AWS Bedrock. This multi-LLM support allows users to choose or switch providers depending on availability, pricing, or capabilities.
On the communication front, miniclawd connects to chat platforms such as Telegram and Feishu (also known as Lark) through a multi-channel gateway. This gateway abstracts channel-specific details and routes messages seamlessly to the core agent logic.
Persistent memory is handled with a daily notes system, allowing the assistant to keep long-term context and recall past information across sessions. This is critical for personal assistants aiming to maintain continuity over time.
The skill system is particularly interesting: it uses Markdown files to define extensible skills that the AI can invoke. This approach makes it easy to add or modify capabilities without deep changes to the codebase.
Scheduling support is built-in via cron jobs, enabling timed tasks with heartbeat checks to ensure reliability. For heavier or asynchronous workloads, miniclawd can spawn subagents that run in the background, keeping the main agent responsive.
Configuration is centralized in a single JSON file located at ~/.miniclawd/config.json, simplifying setup and management.
Technical strengths and design tradeoffs
The standout technical strength of miniclawd is how it balances feature richness with codebase size and simplicity. Supporting six distinct LLM backends plus multiple chat platforms in under 6,000 lines of TypeScript is no small feat.
Using Bun as the runtime is a notable choice. Bun offers improved startup times and performance for TypeScript/JavaScript applications compared to Node.js, which helps keep the assistant responsive.
The Markdown-based skill system is an elegant way to separate core logic from extendable features. It allows developers and users to add new skills in a readable, declarative format without modifying TypeScript code directly. However, Markdown as a skill definition format may limit complex logic expressiveness compared to programmatic plugins.
The persistent memory using daily notes is a pragmatic tradeoff. It provides a simple, file-based way to store context long-term, suitable for personal use cases. But it likely lacks the robustness and query capabilities of a dedicated database or vector store, which might limit scaling or advanced retrieval.
Subagent spawning for background tasks is a clean way to offload work without blocking the main agent loop, improving responsiveness. The tradeoff is added complexity in managing subagent lifecycle and communication.
Configuration via a single JSON file is straightforward and lowers the barrier to entry. The downside is potential for configuration bloat as features grow, and lack of dynamic or environment-based config options out of the box.
Overall, the code quality appears thoughtfully organized to keep the footprint small while offering a surprisingly complete feature set, making it a good reference for building lean AI assistants.
Quick start
Installation and setup are straightforward. The README provides a single command to install miniclawd globally via npm:
npm install -g miniclawd@latest
This simplicity is nice for anyone wanting to try the assistant without fuss. After installation, configuration can be done by editing the JSON file at ~/.miniclawd/config.json.
From there, you can start the assistant, connect your preferred LLM backends, set up chat channels, and begin interacting with your personal AI.
Verdict
miniclawd is a solid example of building a multi-LLM personal AI assistant that doesn’t bloat into tens of thousands of lines or rely on heavyweight infrastructure. It’s particularly relevant for developers interested in AI agents who want to see how to integrate multiple LLM providers, persistent memory, scheduling, and extensible skills in a compact TypeScript codebase.
That said, miniclawd’s use of Markdown for skills and file-based memory indicates it’s optimized for personal or small-scale use rather than enterprise-grade deployments. Its reliance on Bun is a plus for performance, though it may pose compatibility considerations for some environments.
If you want a lightweight, extensible AI assistant framework with multi-channel chat and multi-LLM support that you can install and configure easily, miniclawd is worth a close look. Its design choices and tradeoffs provide practical lessons in lean AI agent architecture.
Related Articles
- SmallClaw: a local-first AI agent framework with single-pass chat handling — SmallClaw is a TypeScript AI agent framework that uses a single LLM call for chat and tool invocation, designed for loca
- AlexClaw: An Elixir/OTP autonomous AI agent with tiered LLM routing and persistent memory — AlexClaw is an Elixir/OTP autonomous AI agent that uses tiered LLM routing, a workflow engine, and PostgreSQL with pgvec
- OpenClaw Client: a self-hosted multi-agent AI chat interface with streaming “thinking” separation — OpenClaw Client offers a self-hosted web UI to manage OpenClaw AI agents with streaming response separation, file upload
- RsClaw: a Rust-native AI agent engine with persistent three-layer memory and multi-agent delegation — RsClaw is a Rust-based AI agent engine featuring persistent three-layer memory across sessions, multi-agent delegation,
- Building a production-ready AI agent system in 18 steps with build-your-own-openclaw — A practical 18-step tutorial progressively builds a minimal AI agent into a production-ready multi-agent system with eve
→ GitHub Repo: FoundDream/miniclawd ⭐ 136 · TypeScript