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
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)
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
clawhub install nova/agent-os
Basic Usage
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
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
File Structure
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
new AgentOS(projectId?)
registerAgent(id, name, capabilities)
initialize()
runProject(goal, taskTypes)
getStatus()
getAgentStatus(agentId)
toJSON()
Agent
startTask(task)
updateProgress(percentage, message)
completeTask(output)
setBlocker(message)
recordError(error)
learnLesson(category, lesson)
reset()
getStatus()
TaskRouter
decompose(goal, taskTypes)
matchAgent(taskType)
getTasksForAgent(agentId, tasks)
canExecuteTask(task, allTasks)
getNextTask(tasks)
completeTask(taskId, tasks, output)
getProjectStatus(tasks)
Executor
initializeProject(goal, taskTypes)
execute()
executeTask(task)
getStatus()
Example: Research + Design + Development
See examples/research-project.js for the canonical example:
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
✅ 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
openclaw install agent-os
💻Code Examples
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└── 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└── package.json
## API Reference
### AgentOSgetStatus()
## Example: Research + Design + Development
See `examples/research-project.js` for the canonical example: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: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); // 100AgentOS (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 persistenceagent-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.jsonnew AgentOS(projectId?)
registerAgent(id, name, capabilities)
initialize()
runProject(goal, taskTypes)
getStatus()
getAgentStatus(agentId)
toJSON()startTask(task)
updateProgress(percentage, message)
completeTask(output)
setBlocker(message)
recordError(error)
learnLesson(category, lesson)
reset()
getStatus()Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.