PAORR Self-Reasoning Loop
Plan → Act → Observe → Reflect → Retry — a self-correcting execution model at the heart of every agent. The Manus agent performs a self-check every 3 steps to verify progress.
Enterprise-Grade Autonomous AI Agent Framework
A production-ready, self-reasoning agent framework with the PAORR loop, DAG-based multi-agent orchestration, defense-in-depth security, 100+ LLM providers (cloud + offline GGUF / HuggingFace / Ollama), 13+ messaging channels, voice, live canvas, SSH, cron and enterprise observability.
ManusClaw empowers LLMs to plan, execute code, browse the web, manage files, resolve issues and complete complex multi-step tasks — all autonomously.
Plan → Act → Observe → Reflect → Retry — a self-correcting execution model at the heart of every agent. The Manus agent performs a self-check every 3 steps to verify progress.
Pipelines with topological sorting (Kahn's algorithm), event hooks and a global timeout. Role pipeline: ProductManager → Architect → Engineer → QA over a typed RoleMessageBus.
Pattern → Rails → LLM → Ensemble fusion with audit trails, human-in-the-loop confirmation and Fernet-encrypted secrets.
Cloud + offline GGUF / HuggingFace / Ollama with credential rotation, profile rotation and model failover. Zero vendor lock-in.
Telegram to Teams, wake-word voice, A2UI live canvas, SSH server, webhooks and cron — one unified messaging gateway.
OpenTelemetry tracing via @observe, Prometheus metrics, K8s liveness /healthz and readiness /ready probes, correlation IDs and JSON structured logging with secret redaction.
SQLite WAL with FTS5 full-text search: sessions, NDJSON event logs and priority task queues with checkpoint / resume. 7 core tables via Alembic migrations.
From presentation to infrastructure — every layer is modular, thread-safe and crash-proof by default.
A self-correcting cycle that plans, acts, observes, reflects and retries until the task is complete — autonomously.
Topological sorting via Kahn's algorithm, event hooks, global timeout and per-channel / per-account routing with an LRU cache (64 entries, 300s idle TTL).
Lifecycle interception with blocking power. YAML config with class_path imports + Python module auto-discovery from the manusclaw home directory.
Linear event projection with safe condensation points and structural integrity guarantees.
Local in-process or WebSocket-backed remote conversations with reconnection + event buffering.
Readers-writer locking with deadlock prevention via global acquisition ordering.
Fernet encryption at rest with key rotation; pluggable storage backends with factory auto-detection.
Everything persists. Everything survives restarts.
Remote control, scheduling, protocol bridging and desktop companions.
Multi-layer security analysis combining pattern matching, policy rails, LLM-based analysis and ensemble fusion — with full audit trails.
8 regex patterns across 2 corpora (executable + all-field): rm_rf · sudo_rm · eval_call · subprocess · curl_pipe_exec · inject_override · inject_mode_switch · inject_identity
3 structural rails — fetch-to-exec · raw-disk-op · catastrophic-delete. Per-segment evaluation prevents cross-field false positives.
AI-powered semantic analysis for subtle threats, with a configurable call budget.
Max-severity fusion, crash isolation, full audit trail. Confirmation via NeverConfirm / ConfirmRisky for HIGH / UNKNOWN risk.
Discriminated unions with kind literal discriminators for pattern matching. A file-backed NDJSON EventLog with O(1) length queries, lazy loading, atomic writes and temp-file-then-rename crash safety + reindex() recovery.
Credential pools with multi-key rotation, cross-provider rotation, profile rotators, 8 fallback triggers, token budgets and p50 / p95 / p99 latency metrics.
Fully offline inference with zero cloud dependency — GGUF via llama-cpp-python, HuggingFace local, Ollama local.
Any .gguf model, fully offline, GPU support via n_gpu_layers, tool-call parsing from raw text.
provider = "gguf" · model_path = "/path/to/model.gguf"Run ollama serve and go. Local + Ollama Cloud with API key when you want it.
provider = "ollama" · model = "llama3"Inference API + Spaces + Dedicated Endpoints, or local models.
provider = "huggingface" · model = "meta-llama/Llama-3-8B"Multi-adapter routing with agent caching and eviction with cleanup — per-channel and per-account.
Wake word → STT → agent → TTS, in a continuous Talk Mode conversation loop.
Real-time WebSocket updates from agent to browser with a typed, composable component model.
Heuristic keyword matching + optional LLM scoring produce a 0.0 – 1.0 confidence per tool, with failure penalties, recency diversification and a public stats API. The Permission Gate enforces 3-tier access: AUTONOMOUS / CONFIRM / RESTRICTED with catastrophic pattern blocking.
A unified GitProviderService interface — sync + async, thread-safe, rate-limited, exponential backoff. URL-based router detects 10+ patterns including self-hosted instances.
OAuth / PAT · create / update / search · JQL · comments · transitions · ADF→text · webhooks
GraphQL API · OAuth 2.0 · teams · issues · comments · suggested tasks · webhooks
Socket Mode + API · /manusclaw /resolve /review · Block Kit · threads · buttons · uploads
One command to a production image.
docker build -t manusclaw:latest .Interactive, or one-shot tasks.
docker compose updocker compose run --rm manusclaw "Your task here"FastAPI + WebSocket server on port 8765.
docker compose --profile server up -dRun the full DAG role pipeline in a container.
docker compose --profile multi up| Service | Profile | Description |
|---|---|---|
| manusclaw | default | Interactive CLI agent |
| server | server | FastAPI + WebSocket · :8765 |
| multi-agent | multi | Multi-agent pipeline runner |
# Clone the repository $ git clone https://github.com/manusagents/manusclaw.git $ cd manusclaw # Install dependencies — or with all enterprise features: $ pip install -e . # or: pip install -e ".[all-plus]" # Configure your API key $ cp config.toml config.toml.local $ export OPENAI_API_KEY=sk-... # Run your first task $ python main.py "Create a Python script that generates Fibonacci numbers"
# Use Pollinations (free, no key) # Set in config.toml: provider = "pollinations" # Or use OpenCode (free deepseek-v4-flash) provider = "opencode"
# GGUF — download any .gguf model, zero internet provider = "gguf" model_path = "/path/to/model.gguf" n_gpu_layers = 0 # set >0 for GPU acceleration # Ollama — run `ollama serve`, then: provider = "ollama" · model = "llama3" # HuggingFace — Inference API, Spaces, or local provider = "huggingface" · model = "meta-llama/Llama-3-8B"
# One-Line Install (Linux/macOS) $ curl -fsSL https://raw.githubusercontent.com/manusagents/manusclaw/main/install.sh | bash
PS> .\install.ps1ManusClaw uses config.toml for all configuration. See config.toml for the full reference with every option and default.
[llm] model = "gpt-4o" provider = "openai" # openai | anthropic | google | mistral | bedrock | ollama | gguf | huggingface | litellm | openrouter | pollinations | opencode | 7llm | mock api_key = "" # Or set OPENAI_API_KEY env var max_tokens = 4096 temperature = 0.7 [llm.streaming] enabled = true buffer_size = 4096 [llm.fallback] enabled = false chain = ["gpt-4o", "claude-3-5-sonnet-20241022", "gemini-2.0-flash"]
[agent] max_iterations = 50 mode = "confirm" # autonomous | confirm | restricted [security] enabled = true analyzers = ["pattern", "rails"] # pattern | rails | llm | ensemble confirmation_threshold = "medium" # low | medium | high [hooks] enabled = true · auto_load = true · timeout_s = 30
[context] max_events = 200 max_tokens = 128000 condenser_type = "rolling" # rolling | llm_summarizing | noop [conversation] max_iterations = 30 confirmation_mode = "confirm_risky" # never_confirm | confirm_risky stuck_detection = true
[observability] tracing = false · metrics = true · health_probes = true [secrets] backend = "file" # file | env encryption_enabled = true [file_store] backend = "local" # local | s3 | gcs | memory [git_providers] default_provider = "github" # github | gitlab | azure_devops | bitbucket | forgejo [parallel_executor] max_workers = 4 · timeout_s = 300 [migrations] enabled = true · auto_run = false
[sandbox] backend = "docker" # docker | ssh | openshell [ssh] host = "0.0.0.0" · port = 2222 [voice] wake_word = "hey manusclaw" stt_engine = "openai" # openai | google | vosk (offline) tts_engine = "openai" # openai | elevenlabs | system [integrations] webhooks_enabled = true
Interactive CLI agent with slash commands
FastAPI + WebSocket server
Cron scheduler daemon
Multi-agent pipeline runner
Session management tool
MIT-licensed. Production-ready. 212 tests passed. Runs in the cloud, on your laptop, or in a fully air-gapped rack.