The lightweight agent OS. Isolated AI workspaces that remember, think, and run β on your machine.
Website β’ Documentation β’ Report Bug
memoryblock is a lightweight framework for running isolated AI workspaces as local background workers. Instead of spinning up monolithic chatbots, you provision dedicated workspaces called blocks β each with its own monitor, memory, tools, and execution loop.
A devops block watches your servers. A research block scrapes and summarizes data. A home block coordinates everything. They run independently β no shared state, no crossed wires.
Memoryblock uses specific terms that mean different things than the typical AI landscape. Understanding these will help you navigate the system:
| Term | What it is | Has its own |
|---|---|---|
| Founder | You β the human user. Your profile lives in founder.md and is shared across all blocks so every monitor knows who it's working for. |
Profile, preferences |
| Block | An isolated workspace. Think of it as a container for an AI personality β its own directory with config, memory, logs, and tools. | Memory, config, permissions, logs, cron jobs |
| Monitor | The intelligence inside a block. This is what other platforms call an "AI agent." Each monitor has a name, emoji, personality, and its own conversation loop. | Identity, personality, tool access, conversation history |
| Agent | A sub-process spawned by a monitor for a specific task. Agents are ephemeral β they run, report back, and get terminated. Only monitors can create them. | Isolated workspace, limited tools, inbox |
Founder (you)
βββ Block: home
βββ Monitor: π±πΌββοΈ Nova β the AI assistant running inside this block
βββ Agent: π€ "researcher" β temporary sub-task worker
βββ Agent: π€ "writer" β another temporary worker
Monitors are persistent β they remember everything across sessions. Agents are disposable β they exist only for the task that spawned them.
|
Each block is an isolated workspace β its own memory, config, tools, and logs. Like containers, but for AI. Copy a folder to move a monitor to another machine. No Docker. No Python runtime. No heavy dependencies. Ships as a single npm package, boots instantly on Bun or Node.js. Runs on a $5 VPS as comfortably as a MacBook Pro. Monitors remember context across sessions via smart memory summarization. No repeated prompts, no lost context. Sessions auto-resume on crash recovery. |
Start a conversation on CLI, continue it on the web dashboard, pick it up on Telegram β the same monitor, the same context, seamlessly. Blocks are sandboxed. Dangerous commands pause for human approval. Safe commands auto-execute. Elevate to Superblock only when needed. Native adapters for OpenAI, Anthropic, Google Gemini, and AWS Bedrock. Connect the model that fits your task. |
npm install -g memoryblock # or: bun install -g memoryblock
mblk init # guided setup β pick your LLM provider
mblk start home # your first monitor is runningThat's it. You have a running monitor with persistent memory, file access, and a web dashboard.
Bun users: When available,
mblkautomatically uses Bun for ~2x faster startup. Works perfectly on Node.js too.
Blocks are decoupled from the interface. Use whatever channel fits your workflow:
mblk start home # interactive CLI chat
mblk start home -d # background daemon mode
mblk start home --channel telegram # route to Telegram
mblk web # web dashboard at localhost:8420Every block ships with 30+ built-in tools β no plugins required:
| Category | Tools |
|---|---|
| Files | read_file Β· write_file Β· replace_in_file Β· append_to_file Β· copy_file Β· move_file Β· delete_file Β· create_directory Β· list_directory Β· search_files Β· find_files Β· file_info |
| Shell | execute_command Β· run_lint Β· run_build Β· run_test |
| Agents | create_agent Β· query_agent Β· message_agent Β· list_agents Β· terminate_agent |
| Scheduling | schedule_cron_job Β· list_cron_jobs Β· remove_cron_job |
| Identity | update_monitor_identity Β· update_founder_info Β· send_channel_message |
| System | system_info Β· get_current_time Β· list_blocks Β· get_token_usage |
| Config | auth_read Β· auth_write Β· list_auth_providers Β· update_block_config |
mblk add web-search # SERP querying via Brave Search
mblk add fetch-webpage # Extract and chunk web page content
mblk add agents # Sub-agent orchestration
mblk add aws # AWS service toolsPlugins auto-install if missing β when you create a block and select capabilities, memoryblock installs what's needed.
Memoryblock is designed from the ground up to minimize token consumption:
| Optimization | How it works |
|---|---|
| Lazy tool loading | Tools are only sent to the LLM after the monitor discovers them β saves ~2,500 tokens per turn |
| Tool result trimming | Large outputs (file contents, command results) are automatically truncated in conversation history |
| Smart memory compaction | When context grows large, the monitor summarizes key info and resets β no redundant history |
| Session state recovery | Conversations persist to disk so you never re-explain context after a restart |
| Discovery β Use β Compact cycle | Full tool schemas sent once, then compacted to a reminder for all subsequent turns |
Monitors can spawn agents for parallel work:
Monitor: π±πΌββοΈ Nova (home block)
βββ create_agent("researcher", "Find pricing for competitor X")
βββ create_agent("writer", "Draft the comparison doc")
βββ query_agent("researcher") β gets results
βββ message_agent("writer", "Here's the data from research...")
βββ terminate_agent("researcher") β cleanup
Agents run in the block's agents/ directory with their own isolated context. The monitor can message them asynchronously without blocking its own conversation. Agents are ephemeral β they can't create other agents, and they have a limited tool set compared to the monitor.
Run blocks as background daemons with built-in cron scheduling:
mblk start ops-monitor -d # daemon mode
mblk service install # auto-start on boot (launchd / systemd)Your monitor can schedule its own tasks:
"Schedule a cron job: check server health every hour"
β schedule_cron_job("health-check", "0 * * * *", "Run uptime check on production servers")
The Monitor's background tick loop automatically triggers scheduled jobs.
Blocks are sandboxed by default. Elevate only when needed.
| Block (default) | Superblock | |
|---|---|---|
| Read/write own files | β | β |
| Identity & communication tools | β | β |
| Shell commands | β | β |
| Files outside block directory | β | β |
| Cross-block visibility | β | β |
mblk superblock ops-monitor # grant full access
mblk superblock ops-monitor --off # revokeInteractive tool approval: When a monitor tries to run a command, you see exactly what it wants to execute and approve or deny β in the CLI, web dashboard, or Telegram.
| Command | What it does |
|---|---|
mblk init |
Guided setup wizard |
mblk create <name> |
Create a new block |
mblk start [block] |
Start block(s) β interactive or -d for daemon |
mblk stop [block] |
Stop a block (or all blocks) |
mblk status |
See all blocks and their state |
mblk config [target] |
Edit config: auth, <block>, or global |
mblk superblock <block> |
Grant/revoke full system access |
mblk update |
Update and restart all services |
mblk web |
Open the web dashboard |
mblk add / remove <plugin> |
Manage plugins |
mblk delete <block> |
Archive (or --hard delete) a block |
mblk reset <block> |
Clear memory and session |
mblk service install |
Auto-start on boot |
mblk shutdown |
Stop everything |
Server & Advanced Commands
| Command | What it does |
|---|---|
mblk server start |
Start API & web UI server |
mblk server stop |
Stop the server |
mblk server status |
Show server PID and URL |
mblk server token |
View or regenerate auth token |
mblk restart |
Full restart of blocks + server |
mblk restore <name> |
Restore an archived block |
mblk permissions <block> |
View/edit block permissions |
mblk settings [plugin] |
View/edit plugin settings |
~/.memoryblock/ws/
βββ config.json # global settings
βββ auth.json # provider credentials
βββ founder.md # your profile (shared across blocks)
βββ blocks/
βββ home/
β βββ config.json # block settings, adapter, permissions
β βββ monitor.md # monitor identity and personality
β βββ memory.md # persistent context across sessions
β βββ session.json # crash-recovery session state
β βββ crons.json # scheduled background tasks
β βββ agents/ # ephemeral sub-agent workspaces
β β βββ research/
β β β βββ config.json # sandboxed config
β β β βββ memory.md # agent memory
β β β βββ inbox.md # async messages from monitor
β β β βββ logs/
β β βββ writer/
β β βββ ...
β βββ logs/ # full conversation history
βββ ops-monitor/
βββ ...
Each block is fully self-contained. Back up a monitor by copying its folder. Move it to another server by pasting it. No databases, no migrations.
Modular TypeScript monorepo with strict dependency boundaries:
| Package | Role |
|---|---|
memoryblock |
CLI entry point and setup wizards |
@memoryblock/core |
Engine β Monitor, Gatekeeper, Memory Manager |
@memoryblock/tools |
30+ built-in tools (files, shell, system, auth, cron) |
@memoryblock/api |
REST & WebSocket server |
@memoryblock/adapters |
LLM providers (OpenAI, Anthropic, Gemini, Bedrock) |
@memoryblock/channels |
CLI, Web, Telegram + MultiChannelManager |
@memoryblock/daemon |
Background process lifecycle |
@memoryblock/web |
Web dashboard UI |
@memoryblock/types |
Shared TypeScript interfaces |
@memoryblock/locale |
i18n and formatting |
| Memoryblock | OpenClaw | Goose | Claude Code | |
|---|---|---|---|---|
| Runtime | Node.js / Bun | Node / Python | Rust | Node.js |
| Docker required | No | No | No | No |
| Isolated workspaces | β Blocks | β | β | β |
| Multi-channel sync | β CLI + Web + Telegram | Multi-channel (separate) | CLI + Desktop | CLI only |
| Background daemon | β + OS service | β | β | Cloud only |
| Cron scheduling | β Native | β | β | Cloud only |
| Sub-agent orchestration | β Full lifecycle | Sessions | Swarm | Subagents |
| Token optimization | β Lazy + compact | Standard | Standard | Compaction |
| MCP support | π Planned | β | β Native | β |
| Browser control | π Planned | β | β | β |
We ship 2-3 features per release. Here's what's next:
- Add Adapters : Ollama adapter (local models), OpenRouter, DeepSeek, and Groq
- Add Tools : Vision/Image tools, Process management
- Add Plugins : Broswer plugin
- Add Channels : Discord, Slack, and WhatsApp
- MCP protocol support
We welcome PRs! See CONTRIBUTING.md.
If memoryblock is useful to you, consider sponsoring the project or giving it a β.
Distributed under the MIT License. See LICENSE for more information.

