✓ Verified 💻 Development ✓ Enhanced Data

Agent Os

Persistent agent operating system for OpenClaw.

Rating
4.2 (126 reviews)
Downloads
4,501 downloads
Version
1.0.0

Overview

Persistent agent operating system for OpenClaw.

Key Features

1

Agent Memory — Each agent remembers past tasks, lessons learned, success rates

2

Task Decomposition — Break high-level goals into executable task sequences

3

Smart Routing — Assign tasks to agents based on capability fit

4

Execution Tracking — Live progress board showing what every agent is doing

5

State Persistence — Project state survives restarts (resume mid-project)

Complete Documentation

View Source →

Agent OS — Persistent Agent Operating System

Agents that remember. Learn. Coordinate.

What It Does

Agent OS enables multi-agent project execution with persistent memory:

  • Agent Memory — Each agent remembers past tasks, lessons learned, success rates
  • Task Decomposition — Break high-level goals into executable task sequences
  • Smart Routing — Assign tasks to agents based on capability fit
  • Execution Tracking — Live progress board showing what every agent is doing
  • State Persistence — Project state survives restarts (resume mid-project)

Quick Start

Installation

bash
clawhub install nova/agent-os

Basic Usage

javascript
const { AgentOS } = require('agent-os');

const os = new AgentOS('my-project');

// Register agents with capabilities
os.registerAgent('research', '🔍 Research', ['research', 'planning']);
os.registerAgent('design', '🎨 Design', ['design', 'planning']);
os.registerAgent('dev', '💻 Development', ['development']);

os.initialize();

// Run a project
const result = await os.runProject('Build a feature', [
  'planning',
  'design',
  'development',
]);

console.log(result.progress); // 100

Core Concepts

Agent

Persistent worker with:
  • Memory — Past tasks, lessons learned, success rates
  • State — Current task, progress, blockers
  • Capabilities — What it's good at (research, design, development, etc.)

TaskRouter

Decomposes goals into executable tasks:
  • Breaks "Build a feature" into: plan → design → develop → test
  • Matches tasks to agents based on capability fit
  • Tracks dependencies (task A must finish before task B)

Executor

Runs tasks sequentially:
  • Assigns tasks to agents
  • Tracks progress in real-time
  • Persists state so projects survive restarts
  • Handles blockers and errors

AgentOS

Orchestrates everything:
  • Register agents
  • Initialize system
  • Run projects
  • Get status

Architecture

text
AgentOS (top-level orchestration)
├── Agent (persistent worker)
│   ├── Memory (lessons, capabilities, history)
│   └── State (current task, progress)
├── TaskRouter (goal decomposition)
│   ├── Templates (planning, design, development, etc.)
│   └── Matcher (task → agent assignment)
└── Executor (task execution)
    ├── Sequential runner
    ├── Progress tracking
    └── State persistence

State Persistence

All state is saved to the data/ directory:

  • [agent-id]-memory.json — Agent knowledge base
  • [agent-id]-state.json — Current agent status
  • [project-id]-project.json — Project task list + status
This means: ✅ Projects survive restarts ✅ Agents remember past work ✅ Resume mid-project seamlessly

File Structure

text
agent-os/
├── core/
│   ├── agent.js          # Agent class
│   ├── task-router.js    # Task decomposition
│   ├── executor.js       # Execution scheduler
│   └── index.js          # AgentOS class
├── ui/
│   ├── dashboard.html    # Live progress UI
│   ├── dashboard.js      # Dashboard logic
│   └── style.css         # Styling
├── examples/
│   └── research-project.js  # Full working example
├── data/                 # Auto-created (persistent state)
└── package.json

API Reference

AgentOS

javascript
new AgentOS(projectId?)
registerAgent(id, name, capabilities)
initialize()
runProject(goal, taskTypes)
getStatus()
getAgentStatus(agentId)
toJSON()

Agent

javascript
startTask(task)
updateProgress(percentage, message)
completeTask(output)
setBlocker(message)
recordError(error)
learnLesson(category, lesson)
reset()
getStatus()

TaskRouter

javascript
decompose(goal, taskTypes)
matchAgent(taskType)
getTasksForAgent(agentId, tasks)
canExecuteTask(task, allTasks)
getNextTask(tasks)
completeTask(taskId, tasks, output)
getProjectStatus(tasks)

Executor

javascript
initializeProject(goal, taskTypes)
execute()
executeTask(task)
getStatus()

Example: Research + Design + Development

See examples/research-project.js for the canonical example:

bash
npm start

This demonstrates:

  • ✅ 3 agents with different capabilities
  • ✅ 12 tasks across 3 phases (planning, design, development)
  • ✅ Sequential execution with progress tracking
  • ✅ State persistence to disk
  • ✅ Final status report
Expected output:
text
✅ Registered 3 agents
📋 Task Plan: 12 tasks
🚀 Starting execution...
✅ [Task 1] Complete
✅ [Task 2] Complete
...
📊 PROJECT COMPLETE - 100% progress

What's Coming (v0.2+)

  • HTTP server + live dashboard
  • Parallel task execution (DAG solver)
  • Capability learning system (auto-score agents)
  • Smart agent routing (match to best agent)
  • Failure recovery + retry logic
  • Cost tracking (token usage per agent)
  • Human checkpoints (review high-risk outputs)

Philosophy

Agents should remember what they learn.

Most agent frameworks are stateless. Agent OS keeps persistent memory so agents:

  • Remember — No redundant context resets
  • Learn — Capability scores improve over time
  • Coordinate — Shared state prevents duplication
  • Cost less — Less context = cheaper API calls

License

MIT


Built with ❤️ by Nova for OpenClaw

See README.md and ARCHITECTURE.md for complete documentation.

Installation

Terminal bash

openclaw install agent-os
    
Copied!

💻Code Examples

console.log(result.progress); // 100

consolelogresultprogress--100.txt
## Core Concepts

### Agent
Persistent worker with:
- **Memory** — Past tasks, lessons learned, success rates
- **State** — Current task, progress, blockers
- **Capabilities** — What it's good at (research, design, development, etc.)

### TaskRouter
Decomposes goals into executable tasks:
- Breaks "Build a feature" into: plan → design → develop → test
- Matches tasks to agents based on capability fit
- Tracks dependencies (task A must finish before task B)

### Executor
Runs tasks sequentially:
- Assigns tasks to agents
- Tracks progress in real-time
- Persists state so projects survive restarts
- Handles blockers and errors

### AgentOS
Orchestrates everything:
- Register agents
- Initialize system
- Run projects
- Get status

## Architecture

└── State persistence

--state-persistence.txt
## State Persistence

All state is saved to the `data/` directory:

- `[agent-id]-memory.json` — Agent knowledge base
- `[agent-id]-state.json` — Current agent status
- `[project-id]-project.json` — Project task list + status

**This means:**
✅ Projects survive restarts
✅ Agents remember past work
✅ Resume mid-project seamlessly

## File Structure

└── package.json

-packagejson.txt
## API Reference

### AgentOS

getStatus()

getstatus.txt
## Example: Research + Design + Development

See `examples/research-project.js` for the canonical example:

npm start

npm-start.txt
This demonstrates:
- ✅ 3 agents with different capabilities
- ✅ 12 tasks across 3 phases (planning, design, development)
- ✅ Sequential execution with progress tracking
- ✅ State persistence to disk
- ✅ Final status report

Expected output:
example.js
const { AgentOS } = require('agent-os');

const os = new AgentOS('my-project');

// Register agents with capabilities
os.registerAgent('research', '🔍 Research', ['research', 'planning']);
os.registerAgent('design', '🎨 Design', ['design', 'planning']);
os.registerAgent('dev', '💻 Development', ['development']);

os.initialize();

// Run a project
const result = await os.runProject('Build a feature', [
  'planning',
  'design',
  'development',
]);

console.log(result.progress); // 100
example.txt
AgentOS (top-level orchestration)
├── Agent (persistent worker)
│   ├── Memory (lessons, capabilities, history)
│   └── State (current task, progress)
├── TaskRouter (goal decomposition)
│   ├── Templates (planning, design, development, etc.)
│   └── Matcher (task → agent assignment)
└── Executor (task execution)
    ├── Sequential runner
    ├── Progress tracking
    └── State persistence
example.txt
agent-os/
├── core/
│   ├── agent.js          # Agent class
│   ├── task-router.js    # Task decomposition
│   ├── executor.js       # Execution scheduler
│   └── index.js          # AgentOS class
├── ui/
│   ├── dashboard.html    # Live progress UI
│   ├── dashboard.js      # Dashboard logic
│   └── style.css         # Styling
├── examples/
│   └── research-project.js  # Full working example
├── data/                 # Auto-created (persistent state)
└── package.json
example.js
new AgentOS(projectId?)
registerAgent(id, name, capabilities)
initialize()
runProject(goal, taskTypes)
getStatus()
getAgentStatus(agentId)
toJSON()
example.js
startTask(task)
updateProgress(percentage, message)
completeTask(output)
setBlocker(message)
recordError(error)
learnLesson(category, lesson)
reset()
getStatus()

Tags

#coding_agents-and-ides

Quick Info

Category Development
Model Claude 3.5
Complexity Multi-Agent
Author cryptocana
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install agent-os